03.05.2015 Views

gestion_projet_xp

gestion_projet_xp

gestion_projet_xp

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

54<br />

Les pratiques de l’Extreme Programming<br />

PREMIÈRE PARTIE<br />

La solution la plus facile qui puisse fonctionner consiste à copier le texte de la méthode et à le<br />

coller dans une autre. Et de recommencer, lorsqu’on devra à nouveau recourir à un parcours<br />

sélectif de répertoire.<br />

Et si cette méthode n’est pas correcte ? (L’utilisation de tests automatisés n’évite pas forcément<br />

toutes les anomalies.) Le programmeur – ou pire, ses coéquipiers – devra rechercher<br />

toutes les variantes de la méthode et les corriger, une par une. À la perte de temps que représente<br />

ce travail répétitif s’ajoute la multiplication des risques d’erreur lors de la correction. Et<br />

si, par exemple pour optimiser les accès disques, il devient nécessaire de modifier l’algorithme<br />

de parcours ? Même motif, même punition...<br />

Il peut sembler difficile, dans des cas pratiques qui seront sans aucun doute plus délicats que<br />

cet exemple, de faire la part des choses entre «simple» et «facile». On peut aussi nourrir<br />

quelque inquiétude : à se demander à chaque fois si la solution qu’on a choisie est la plus<br />

simple, ne va-t-on pas finir par être paralysé, incapable d’avancer ?<br />

Remarque<br />

Une bonne façon de déceler une solution facile, mais pas simple, est d’écouter parler le<br />

programmeur concerné. Une phrase commençant par «C’est facile…» est un bon indice. On<br />

sera également attentif à «Il n’y a qu’à…», plus subtil mais généralement tout aussi révélateur.<br />

La recherche d’une solution simple commence généralement par une question : «Quelles sont<br />

les différentes solutions possibles ?»<br />

L’essentiel est de progresser – l’équipe a un <strong>projet</strong> à terminer, après tout ! Nous verrons plus<br />

loin qu’un outil remarquablement efficace est à notre disposition pour simplifier ce qui – par<br />

paresse ou par nécessité – est devenu complexe. Nous verrons aussi que la notion de simplicité<br />

peut s’e<strong>xp</strong>oser en quelques mots – de façon toute simple.<br />

Une autre subtilité tient à ce que la règle veut qu’on implémente «la solution la plus simple<br />

qui puisse fonctionner» – mais pas «la plus simple», tout court. Si, pour un problème<br />

complexe, on a absolument besoin d’une solution complexe – tant pis pour la simplicité ; il<br />

faut disposer d’une solution.<br />

Le travail de développement<br />

Des différents points que nous avons abordés jusqu’à présent commence à émerger une vision<br />

presque complète du travail de développement tel qu’il est conçu dans XP :<br />

• On ajoute un test au système.<br />

• Le test échoue : il faut écrire la fonctionnalité correspondante.<br />

• On écrit uniquement le code le plus simple permettant de faire passer le test.<br />

• On vérifie que le test passe.<br />

• On simplifie en appliquant les techniques dites de «remaniement».

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!