Du 11 au 13 Février 2001, dans l'hôtel The Lodge de la station de ski Snowbird située dans les montagnes Wasatch de l'Utah, dix-sept personnes se sont réunies pour parler, skier, se détendre, essayer de trouver un terrain d'entente et bien sûr, manger. Ce qui en est sorti s'appelle le Manifeste du Développement Agile de Logiciels. Y participèrent des représentants de l'Extreme Programming, de SCRUM, de DSDM, de l'Adaptive Software Development, de Crystal, du Feature-Driven Development, du Pragmatic Programming, et d'autres personnes sensibles à la nécessité de trouver une alternative aux pesants processus de développement logiciel pilotés par la documentation.
Aujourd'hui, un tel grand rassemblement d'anarchistes en organisation serait difficile à reproduire, ce qui en est ressorti est donc symbolique, un Manifeste pour le Développement Agile de Logiciels signés par tous les participants. Le seul problème soulevé le fut par Martin Fowler pour le terme agile (un anglais pour ceux qui ne le connaissent pas) en signalant que la plupart des Américains ne savaient pas prononcer le mot "agile".
Au début, les préoccupations d'Alistair Cockburn reflétaient les pensées de la plupart des participants. "Personnellement, je ne m'attendais pas à ce que ce groupe d'agilistes tombent un jour d'accord sur quoi que ce soit de substantiel." Mais après la réunion, ses sentiments furent également unanimement partagés : "En ce qui me concerne, je suis ravi par le texte final [du Manifeste]. J'ai été surpris que les autres semblent également enchantés par le résultat final. Nous sommes donc tombés d'accord sur quelque chose de substantiel."
En nous nommant nous-mêmes "L'Alliance Agile", ce groupe de penseurs indépendants sur le développement de logiciels, et parfois concurrents entre eux, tombèrent d'accord sur le Manifeste pour le Développement Agile de Logiciels affiché sur la page d'accueil du site web.
Mais même si le Manifeste fournit quelques idées précises, il y a un thème plus profond qui anime de nombreux, mais pas tous bien sûr, membres de l'alliance. A l'issue de cette réunion de deux jours, Bob Martin a plaisanté sur le fait qu'il était sur le point de faire une déclaration sentimentale. Mais bien que teinté d'humour, quelques-uns étaient en désaccord avec les sentiments de Bob comme quoi nous avions tous ressenti le privilège de travailler avec un groupe de personnes qui partageaient certaines valeurs, un ensemble de valeurs fondées sur la confiance et le respect des uns des autres et la promotion de modèles d'organisation basés sur les individus, la collaboration et sur l'élaboration de types de communautés organisées dans lesquelles nous souhaiterions travailler. À la base, je crois que les Méthodologistes Agile sont vraiment des "sentimentaux" en parlant de livrer les bons produits aux clients en travaillant dans un environnement qui fait plus que parler des "gens comme nos ressources les plus importantes" mais en réalité "agit" comme si les gens étaient les plus importants tout en perdant la notion de "ressource". Donc, pour finir, l'intérêt fulgurant sans cesse croissant, et les critiques parfois terribles, des Méthodologies Agile sont basés sur le côté sentimental des ces valeurs et de cette culture.
Par exemple, je pense que finalement, l'Extreme Programming a connu un développement dans son utilisation et son intérêt, non pas grâce à la programmation en binôme ou au refactoring, mais parce que, pris dans leur ensemble, ses pratiques définissent une communauté de développeurs libérée des poids des sociétés Dilbertesques. Kent Beck raconte l'histoire d'un de ses premiers boulots pour lequel il a estimé un effort de programmation de six semaines pour deux personnes. Après que son chef ait réaffecté l'autre programmeur au début du projet, il termina le projet en douze semaines et se sentit minable ! Le chef, bien sûr, sermonna Kent sur sa lenteur au cours des six dernières semaines. Kent, un peu déprimé en se croyant un programmeur "raté", se rendit finalement compte que son estimation initiale de 6 semaines était très précise pour 2 personnes et son "échec" était en réalité l'échec de son chef, en fait, l'échec d'une mentalité "processus standardisé" qui sévit si souvent dans notre industrie logicielle.
Ce type de situation arrive tous les jours : que ce soit le marketing, le management, les clients externes, les clients internes et même les développeurs, aucun ne veut finalement prendre de décisions difficiles, de sorte qu'ils imposent des exigences irrationnelles à travers des organisations basées sur le pouvoir. Ce n'est pas simplement un problème de développement de logiciels, c'est un problème lié aux organisations Dilbertesques.
Pour réussir dans la nouvelle économie, pour être concurrentielles à l'ère du e-business, du e-commerce et du web, les entreprises doivent se débarrasser de leurs politiques du travail à la Dilbert. Cette prise de liberté, par rapport aux inepties de la vie en entreprise, attire les promoteurs des Méthodologies Agile, et effraie les conservateurs (vous ne pouvez pas utiliser le mot "con" dans un document professionnel). Franchement, les approches Agile effraient les bureaucrates de l'entreprise, tout au moins ceux qui sont heureux de pousser les processus pour l'amour des processus au lieu d'essayer de faire au mieux pour le "client" et de livrer quelque chose de rapide et de concret "comme promis" tout simplement parce qu'ils ne savent pas où se planquer.
Le mouvement Agile n'est pas anti-méthodologique. En fait, beaucoup d'entre nous souhaitons restaurer la crédibilité du terme méthodologie. Nous voulons rétablir un équilibre. Nous sommes d'accord sur le fait de modéliser, mais pas pour déposer un diagramme quelconque dans un référentiel d'entreprise poussiéreux. Nous sommes d'accord pour documenter, mais pas des tomes de plusieurs centaines de pages jamais maintenus à jour et rarement utilisés. Nous sommes d'accord pour planifier, mais nous reconnaissons les limites de la planification dans un environnement turbulent. Ceux qui prétendent que les promoteurs de la marque XP ou SCRUM ou de tout autre Méthodologie Agile sont des "hackers", sont des ignorants des méthodologies et de la définition originelle du terme "hacker".
Cette idée de réunion à Snowbird est naît lors d'une précédente rencontre entre des promoteurs de l'Extreme Programming et quelques "outsiders", organisé par Kent Beck à l'hôtel de Rogue River Lodge dans l'Oregon au printemps 2000. A cette réunion de Rogue River, des participants ont exprimé leur soutien pour une variété de méthodes dites "Légères", mais rien de formel n'en ai sorti. En 2000, un certain nombre d'articles ont été écrits à propos de processus dits "Légers". Un certain nombre de ces articles parle de méthodologies "Légères", telle que l'Extreme Programming, l'Adaptive Software Development, Crystal et SCRUM. Dans les conversations, personne n'a vraiment aimé le surnom de "Léger", mais cela semblait tenir bon.
En Septembre 2000, Bob Martin de la société Object Mentor à Chicago, a ouvert le bal de la prochaine réunion avec un email; "Je voudrais organiser une petite conférence (de deux jours) entre Janvier et Février 2001, ici à Chicago. Le but de cette conférence est de réunir tous les leaders des méthode légères dans une seule pièce. Vous êtes tous invités; et je serais intéressé de savoir qui d'autre je pourrais contacter." Bob a créé un site Wiki et les débats ont fait rage.
Dès le début, Alistair Cockburn a pesé sur les discussions en dénonçant le mécontentement général sur l'emploi du terme "Léger" : "Je ne suis pas gêné sur le fait de baptiser une méthode comme légère en poids, mais je ne veux pas être considéré comme un poids-plume participant à une réunion de méthodologistes poids-plumes. Cela ressemblerait en quelque sorte à une poignée de gens débiles légers essayant de se rappeler quel jour on est."
Le débat a été plus féroce concernant le lieu ! Chicago en hiver c'est froid et il n'y a rien d'amusant à faire; Snowbird, dans l'Utah, c'est froid mais il y a des tas de choses amusantes à faire, du moins pour ceux qui skient sur leur tête comme Martin Fowler a essayé de le faire dès le premier jour; et Anguilla dans les Caraïbes c'est chaleureux et amusant, mais ça prend trop de temps pour y aller. En fin de compte, Snowbird et le ski l'ont emporté; pourtant quelques-uns, comme Ron Jeffries, souhaite un endroit plus chaud la prochaine fois.
Nous espérons que notre travail commun au sein de l'Agile Alliance aide les autres à appréhender le développement logiciel, les méthodologies et les organisations d'une nouvelle manière, plus agile. Si c'est le cas, nous avons atteint notre objectif.
Jim Highsmith, pour l'Agile Alliance
©2001 Jim Highsmith