Un article de James Shore intitulé "grandeur et décadence de l'agilité" fait du bruit (Cf. par exemple Claude Aubry). Le raisonnement de ce billet tient en deux points :
- Pour un projet donné, Scrum échoue sur le long terme si aucune méthode d'ingénierie logicielle ne vient compléter Scrum.
- Avec le temps, la multiplication de ces échecs donnera une réputation calamiteuse aux méthodes agiles, qui feront alors fuir tous les chefs de projets.
J'approuve ce point de vue sur Scrum. Scrum seul est réellement une calamité pour les logiciels à longue durée de vie parce que rien dans Scrum n'aide à bâtir des logiciels maintenables et évolutifs. Or rester agile, c'est-à-dire maintenir un rythme d'itérations courtes, requiert de développer un logiciel qui accepte les évolutions fréquentes. Ce qui n'a rien d'évident.
Pour y parvenir, les bonnes pratiques d'ingénierie logicielle, au premier rang desquelles les tests unitaires (TDD ou non), le refactoring et l'intégration continue doivent compléter les méthodes de management pur déconnectées du métier du software telles que Scrum. Ces pratiques doivent être adoptées pour que l'agilité dépasse la déclaration d'intention. Et pour que la réputation des méthodes agiles ne soit pas mise en danger.
Hélas, ces pratiques ont un succès tout relatif parce que Scrum et son écosystème rémunérateur de certifications est la plus vigoureuse et la plus visible des méthodes agiles.
On en arrive à la thèse de James Shore : la méthode Agile qui est en train de gagner entrainera toutes les méthodes agiles à leur perte.
Certes on a vu récemment des crises plus graves dans des domaines qui se portaient mieux, mais n'est-ce pas pessismiste ? Peut-on revigorer XP ?
Les commentaires récents