Première présentation ce mercredi après la Keynote d’ouverture par Scott Ambler sur les mythes de l’Agilité. J’ai adoré. Que ce soit sur la forme, comme sur le fond, une bonne présentation avec cependant parfois des chiffres interprétés qui m’ont dérangé. Mais le fond de la présentation est bon : oui il y a un décalage entre ce que les Agilistes disent faire et ce qu’ils font réellement. Et c’est le plus intéressant.
Scott Ambler est bien connu de la communauté Agile. Il est officiellement « Practice Leader Agile Development » chez IBM. Auteur de nombreux livres et d’articles, c’est aussi un bon speaker.
Le thème de la présentation : il y a beaucoup de mythes sur le développement Agile dans le monde de l’Entreprise. Certains de ces mythes sont aujourd’hui utilisés par les promotteurs de l’Agilité, il est donc temps de regarder l’écart entre ce que l’on nous dit et la réalité du terrain. Pour appuyer sa démonstration et les nombreux chiffres qu’il cite, Scott a réalisé plusieurs sondages en 2008 et en 2009 sur son site personnel et surtout sur le site Dr Dobb’s Journal.
La présentation ressemble à un mélange entre « Une Famille en Or » et l’émission « MythBusters » de Discovery Channel. Les gars de MythBusters sont assez marrants et parlent de sujets improbables comme « Est-ce qu’un implant mammaire peut exploser dans un avion ? » ou « Peut-on récupérer un disque dur crashé en le mettant au congélateur ?« . Des trucs super important comme vous pouvez le constater. Mais chacune de ces émissions se terminent par un « Busted » ou « Confirmed », et c’est ce que Scott va utiliser.
L’ensemble des sondages et des résultats est disponible sur la page http://www.ambysoft.com/surveys/. J’ai trouvé aussi les slides de la présentation sur le site AgileTour 2009 Montreal si vous souhaitez lire par vous même.
Les affirmations explorées:
- The majority of organizations are now doing agile
- The majority of project teams within those organizations are now doing agile
- Agile is just for small, co-located teams building straightforward systems
- The agile community is focused on development
- Becoming a « certified master » is a good idea
- Agile teams don’t do up-front modeling
- Agile teams test often and test early
- Agile teams do not produce documentation
- It’s difficult to bring new people onto agile teams
- Agile works better than traditional approaches
Je ne vais vous parler que de quelques éléments, les plus polémiques bien entendus. Tout d’abord l’affirmation selon laquelle la majorité des entreprises font de l’Agile ? 76% des personnes consultées sur « State of the IT Union Survey de Juillet 2009 » ont répondu que l’Agilité était entrée dans leur entreprise. Ont donc répondu oui, les personnes qui font de l’Agilité mais aussi les personnes qui connaissent une équipe qui fait de l’Agile… dans leur entreprise.
Nous pouvons donc affirmer que OUI l’Agilité est entrée dans l’Entreprise, ce n’est pas un mythe.
Le 6e slide de sa présentation par contre, montre que seulement 44% des gens qui affirment avoir de l’Agilité dans leur entreprise… en font eux-même. La majorité des gens ne font donc pas de l’Agile pour l’instant.
Un mythe aussi qui m’a plutôt étonné : l’Agilité ne marche qu’avec des petites équipes de 10 personnes ou moins. Et bien c’est faux d’après les personnes consultées. Mais je trouve que les graphiques étaient mal tournés. La majorité des équipes qui font de l’Agilité et qui réussissent ne dépasse pas 20 personnes. Et il l’a aussi expliqué ensuite.
A votre avis, est-il possible de faire de l’Agilité lorsque le projet est dans un domaine réglementé ? Je pense aux marchés publics par exemple, aux marchés sur le domaine de la santé aux USA. Et bien contrairement à ce que l’on pense, 60% des personnes qui font de l’Agilité, le font sur un projet réglementé justement. Intéressant non ?
CMMI et Agile ne vont pas ensemble : c’est faux d’après 78% des personnes impliquées. CMMI s’applique à la gouvernance de l’entreprise, là où l’Agilité répond à un besoin de communication et d’organisaton projet.
Peut-être que vous pensez que la majorité des projets Agiles ne marchent que sur de nouveaux projets… Vous vous dîtes : nous avons notre vieux projet de 4 ans, nous ne pouvons pas faire de l’Agile. A titre personnel je peux vous dire que c’est faux. C’est ce que je viens de faire pour une Banque Française. Le projet existe depuis 4 ans et nous l’avons basculé en Scrum sans soucis. Les gens ont répondu qu’à 78% leur projet contient du vieux code, qu’à 57% il doit s’intégrer avec des systèmes anciens et 45% travaillent avec des données historiques. Bref l’Agilité marche aussi sur les projets plus anciens.
Mon préféré : Devenir un « Certified Master » en prenant un cours de 2 jours est une bonne idée. A votre avis qu’ont répondu les personnes interrogées ?
78% pensent que la certification de 2 jours n’a pas de sens, seulement 10% respectent la certification et 12% s’en fiche complètement. Scott Ambler fait rire la salle en racontant cette histoire : un de ses amis lui a fait suivre une offre d’emploi pour un poste de chef de projet dans le secteur médical. Sur l’offre, il y avait écrit « PhD Physics, Certified Scrum Master ». Comme si une certification peut avoir autant d’importance qu’un doctorat en médecine… on marche sur la tête. Son avis est qu’une certification se mérite et doit se gagner. Il est pour les certifications avancées de Scrum comme Certified Scrum Practioner car celles-ci ont un sens. Un sujet bien polémique.
Est-ce que la majorité des équipes Agiles sont co-localisées ? Scott définit cela par le fait que l’équipe au complet se trouve dans un seul et même open-space. Et bien en fait, 29% des équipes font de l’Agilité à distance, 13% avec temps de transport entre les équipiers, 17% dans le même bâtiment, et finalement 42% (la minorité donc) sont réellement co-localisés dans un même open-space. Ce mythe est donc Busted.
Est-ce qu’une équipe Agile commence à coder dès le début d’un projet ? Et bien non. En fait le temps de démarrage moyen d’après le sondage est de 4 semaines environ. Il n’y a donc pas de miracles, mais 20% se mettent à coder dans la première semaine, ce qui est important je pense. La majorité des gens répondent 2 semaines.
Un slide par contre montre que les équipes Agiles testent souvent et tôt. 71% des développeurs affirment travailler en TDD. Il explique aussi que cette pratique n’a pas besoin d’être systématique, et il nous dit de faire attention à ne pas être trop dogmatique.
Une question intéressante vient en écho d’un article que je vous ai écris il y a quelques semaines. Le mythe : les équipes Agiles ne font pas de captures des demandes et de la modélisation dès le départ du projet. Elles commencent à coder sans savoir ce qu’il faut faire. A priori d’après les personnes qui répondent, ce n’est pas vrai. 52% affirment écrire dans un Document Word, 39% affirment utiliser un outil comme Jira pour lister les demandes, 26% utilisent un Wiki, bref la majorité des développeurs finalement capturent les demandes et les besoins avant de commencer à développer. J’imagine qu’un document Word doit s’apparenter à une spécification technique, et que pour ce qui est des Jiras, on doit être plus proche d’un Product Backlog.
Une affirmation ensuite: un projet piloté en méthode Agile réussi mieux qu’un projet en méthode classique ou sans aucunes méthodes. Oui c’est vrai d’après les personnes ayant répondu au sondage. Les équipes Agiles produisent un travail de meilleur qualité, livrent plus de fonctionnalités, et respectent plus le budget qu’un projet classique (slide 25)
Scott explique qu’il constate un décalage entre ce que les gens pensent faire et ce qu’ils font réellement. Ses sondages sont construits pour collecter justement ce type de différence, ce qui en fait un bon outil je pense.
Je ne peux pas vous redonner ici l’ensemble de ses arguments, je vous encourage à regarder et à étudier les sondages sur son site. L’ensemble des chiffres est là, avec les questions. Cela vous permettra de vous faire votre propre idée.
La communauté Agile doit encore faire un effort pour être plus critique, pour parler de ce qu’elle fait réellement. Cela rejoint aussi ce que nous avons entendu le jeudi matin : nous sommes dans une industrie de la mode. Ivar Jacobson explique que notre industrie est très friante de mode. En ce moment c’est Scrum, mais ce sera peut-être Lean demain, et TrucMachinChose après-demain…
Il conseille d’adapter et de vous construire votre méthode de travail. Les principes de l’itératif et de l’incrémental, l’idée de livrer un logiciel qui marche, sont des bons principes.
Sa présentation au format PDF
Le site et les différents sondages
« 71% des développeurs affirment travailler en TDD »…
Et quel est le pourcentage de développeurs qui confondent « TDD » et « Tests Automatisés » ?