Souvenir d’eXtreme programming #1 : La découverte
Depuis longtemps j’ai envie de raconter une expérience de mise en oeuvre des principes de l’eXtreme Programming. Mais plutôt que d’écrire un unique billet, trop long mais forcement incomplet, je lance le premier billet à épisodes de ce blog !
Prise de conscience
Voici donc l’histoire du directeur technique d’une startup internet, qui doit se battre avec un code écrit trop rapidement, par trop de développeurs de passage, qui a atteint l’état fameux de “code spaghetti” propre à beaucoup de projets.
Si la partie de back-office, écrite en C++, est de bonne qualité et reste maintenable, l’interface web, bien que dépourvu de bugs, souffre de l’utilisation de la technologie ASP de Microsoft dans sa version uniquement procédurale (le code date de NT4 et ASP 2.0), qui rend la réutilisation difficile. A tel point qu’il y a beaucoup de code redondant, et que la moindre modification nécessite de nombreux tests pour éviter les régressions, que l’on commence à considérer comme une fatalité.
Vu de l’extérieur la situation parait correcte, le site fonctionne bien, la qualité perçu est bonne, mais c’est au prix d’une attention de tous les instants, notamment lors des montés de version. De plus les coûts de développement sont de plus en plus élevés, au point que l’on essaie de limiter au maximum les modification sur l’interface web.
Évidement la sortie de .Net et de Visual Studio.Net devrait être le signal d’une migration vers ASP.Net, mais l’ampleur de la tâche, vu la qualité du code original, reste un frein.
Cette situation est loin d’être exceptionnelle, la plupart des développeurs la vivent au quotidien, c’est même enseigné dans les manuels de gestion de projet (les coût de modifications augmentent dans la vie d’un projet).
Évidement ce n’était pas satisfaisant, mais pour le moment le management est plutôt focalisé sur la nécessité de trouver de l’argent pour financer le développement de l’entreprise. Argent qui n’arrivera pas, pour pleins de raisons qui sont hors sujets. Alors le plan B est déclenché. Et c’est malheureusement un plan connu et peu agréable :
- Réduction des effectifs.
- Blocage des salaires.
- Réduction des coût.
Bref il faut faire plus avec moins. Et évidement continuer à faire évoluer les produits pour résister à la concurrence. Mission impossible ?
La rencontre
Tout commence par l’achat de l’ouvrage :
Tout de suite le directeur technique accepte les valeurs de l’eXtreme programming, et sent bien que les pratiques peuvent l’aider à régler ses problèmes d’amélioration de qualité et de productivité.
La participation à une conférence organisé par l’un des auteurs de l’ouvrage achève de le convaincre. Il achète toute la collection Addison Wesley consacré à XP et se forme aux pratiques XP, notamment la conception par les tests (Test Driven Development) et la reconception permanente (constant refactoring) notamment grâce à l’ouvrage de Martin Fowler.
C’est décidé, le prochain projet sera une réécriture d’une des application Web en ASP.Net, couplé avec la mise en oeuvre des pratiques d’XP !
Mais d’abord, il faut convaincre le comité de direction et l’équipe…
A suivre.

avril 12th, 2005 à 12:44
Très bonne idée de post à épisode
J’ai hate de savoir comment le comité de direction va réagir … a vrai dire je me m’en rappelle plus …
LVG
avril 12th, 2005 à 13:21
Attention, bien que basé sur des faits réels, ce feuilleton sera fortement romancé !!!