Fin septembre, un exposé sur les méthodes agiles aux JDev 2011 m'a interpelé.
Je ne m'étais jamais vraiment intéressé à ce "truc" qui sentait très fort de loin. C'était l'occasion.
J'y ai donc appris que le manifeste agile comporte 4 valeurs:
- Les individus et leurs interactions plus que les processus et les outils,
- Des logiciels opérationnels plus qu'une documentation exhaustive,
- La collaboration avec les clients plus que la négociation contractuelle,
- L'adaptation au changement plus que le suivi d'un plan.
On notera que les termes ont changé sur la page wikipedia.
A ce point, je trouve ces valeurs intéressantes et elles m'évoquent ce que l'on pourrait appeler un mouvement "slow dev", notamment que l'individu semble y occuper une place de choix, sans pour autant mépriser la technique. En bref, une adaptation au développement logiciel du "slow" comme dans le slow food ou le récent Slow science ( avec un commentaire ici).
Cependant, les choses se gâtent dans les 12 principes (c'est moi qui mets en gras et je ne recopie que certains principes)
- Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
- Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
- Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.
- Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
- Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.
Je suis alors étonné de trouver autant de prescriptions de rythme dans les principes, ces derniers étant soit-disant "sous-jacents" aux 4 valeurs. Il me semble que le temps de la réflexion est complètement négligé par rapport aux contraintes de temps et la fameuse compétitivité du client.
Finalement, les individus et leurs interactions ne me semblent pas du tout prépondérantes dans ces méthodes. Cela est confirmé par la 4ème "valeur" coenrnant l'adaptation au changement: C'est l'individu qui doit s'adapter et adapter ses comportements.
Maintenant que je m'en suis approché, ce "truc" sent encore plus fort. Il me semble reprendre certaines démarches naturelles des développeurs qui ne sont pas soumis au joug du cycle en V pour les plier au temps du marché.