On parle souvent ces temps-ci de l’eXtreme Programming (on écrira XP dans la suite), encore un terme à la mode inventé par les marketeux. Il s’agit en gros de bosser à deux sur un écran, comme si les ordis coûtaient trop cher. :-p. Bon plus sérieusement il y a de très bonnes raisons à ça et on va voir comment ça se passe en réalité.
Débloque les + belles offres tech en 10 mins
Tout ça pour dire que même si l’XP ne se justifie pas nécessairement partout, dès que le code à écrire devient complexe d’une manière ou d’une autre il devient souhaitable. D’ailleurs même si ce n’est pas tout à fait ça dans de nombreux projets open source, les contributions de chacun sont relues par plusieurs personnes avant d’être intégrées.
La grosse différence ici est que les deux paires d’yeux observent les modifications du code en temps réel, ce qui permet de détecter au plus vite les erreurs. Or plus une erreur est détectée tôt, moins elle coûte cher à corriger. Le diagramme ci-dessous devrait vous éclaircir les idées.
Comme dit plus haut, en XP il y a deux développeurs pour un seul clavier. Ce dernier fait office de ressource partagée, aussi il doit être utilisé en exclusion mutuelle. 😀
Plus sérieusement un des développeurs code effectivement sur le clavier, tandis que l’autre commente et explique ce qu’il faut faire. Rappelons que le deuxième programmeur n’a pas le droit de toucher le clavier, aussi pour expliquer les choses il est fortement recommandé qu’il ait un bloc-notes. Et régulièrement on inverse les rôles, à savoir que celui qui codait donne les instructions, et l’autre se met à coder.
Tel que défini plus haut, ça paraît facile. Dans les faits c’est quelque chose d’assez éprouvant à faire, et comme son nom l’indique, l’XP est assez extrême. Aussi il convient de prendre une pause de cinq à dix minutes toutes les heures. De même il n’est pas possible de pratiquer l’XP plus de sept heures par jour tant vous serez lessivés. Alors avis aux patrons : si vous demandez à vos développeurs de faire de l’XP, ne soyez pas surpris s’ils arrivent à 9h30 et partent à 17h : c’est normal, ils ne pourront pas faire plus !
On peut parfaitement pratiquer le Test Driven Development (TDD) sans faire d’XP. Par contre, pour l’inverse, autant le dire, c’est plus compliqué. En effet, comme on l’a vu précédemment, les rôles entre la personne qui code et la personne qui explique doivent être inversés régulièrement… mais c’est quoi régulièrement ?
En fait en appliquant le Test Driven Development (TDD) on résoud très simplement le problème, de la manière suivante :
Une autre justification de l’utilisation du TDD en faisant de l’XP est tout simplement que l’intérêt de ce dernier est d’avoir un retour rapide sur ce qu’on code. Or les tests unitaires pratiqués à grande échelle permettent ce retour à l’échelle d’un projet. Donc il apparaît difficile de faire de l’XP sans TDD, pas vrai ? 😉
Comme évoqué ci-dessus la pratique de l’XP permet d’améliorer la qualité du code. Mais son avantage ne se résume pas à ça.
En l’utilisant on peut aussi :
L’XP est idéal pour toutes les situations évoquées plus haut. Maintenant il convient de ne pas l’appliquer en permanence car il est très rapidement fatiguant. Aussi je conseille de l’appliquer quand le code devient complexe, ou pour favoriser les montées en compétence.
Mais comme tout pattern il convient de ne pas en abuser, sinon l’effet produit risque d’être l’inverse de ce qui était initialement souhaité. Les développeurs seraient lessivés. Or un développeur fatigué ne sera plus en mesure d’écrire du code de qualité. C’est pourquoi un développeur seul ne devrait pas dépasser huit heures par jour, tandis qu’en XP il sera déjà difficile d’atteindre les sept heures par jour.
Débloque les + belles offres tech en 10 mins
Cet article vous a plu ? Vous aimerez sûrement aussi :
Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.
Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.
Elles sont passées où les femmes dans la tech ? Entre le manque de représentation…
Dans cette vidéo, on interview Nicolas Grekas, contributeur clé de Symfony, pour discuter de sa…
Comment trouver son job dans la tech ? Marie a la réponse ! Grâce à…
Adobe, l'empire créatif, et pas des moindres ! Belle ascension de la part de ces…
Est-ce plus simple de créer des morceaux avec les outils de Musique Assistée par Ordinateur…
View Comments
Article intéressant, cependant j'ai une remarque : ce que tu décris ici, c'est plutôt le binômage que l'eXtreme Programming. Bien entendu, le binômage est un principe de l'XP, mais ça n'est pas le seul (cf https://fr.wikipedia.org/wiki/Extreme_programming).
Hello,
J'avoue que je ne connaissais pas les autres, maintenant aussi le binômage est la forme la plus connue d'XP. Mais il est vrai que tout ça fait plus globalement partie des méthodes agiles, lesquelles sont rarement appliquées en entreprise (surtout celles qui vantent les appliquer, en fait).