Le couplage de Scrum avec une démarche CMMI devrait être abordé dans une présentation au prochain SigmaT3. Agile et CMMI, c’est un sujet chaud comme on dit, certains y croient .
Pas moi.
Jeff Sutherland, un des créateurs de Scrum, publie un article, présenté à Agile2007, qui montre des résultats impressionnants : productivité pratiquement doublée et 40 % de défauts en moins…
Les principes de modélisation agile s'appliquent aux travaux sur les processus
J’ai passé ma journée d’hier sur la modélisation d’un processus de gestion des incidents d’un centre de services d’un ministère, dans le cadre d’un alignement avec ITIL. La modélisation de processus, plus encore que la modélisation de logiciel, donne souvent des diagrammes très compliqués si elle ne suit pas les principes de la modélisation agile, en particulier Model with a purpose et Assume simplicity.
La représentation des processus, ça devient vite une usine à gaz[1] en particulier dans 2 cas :
Aujourd’hui commence la Coupe du Monde de Rugby avec France - Argentine. On va entendre “scrum !”, pour peu que l’arbitre ait un micro. Pour ceux qui l’ignorent encore scrum veut dire mêlée.
J’adore le rugby. J’y ai joué 6 ans. Je n’ai pas dû rater beaucoup de matches de l’équipe de France depuis 35 ans. Je me suis même du genre à me lever à 5 heures du matin quand un match se joue aux antipodes, ce qui m’a permis de voir en direct l’essai du bout du monde.
Je me suis intéressé particulièrement à Scrum parce que ça avait un rapport avec le rugby. Je crois vraiment que l’esprit collectif d’une équipe contribue au succès des développements, comme au rugby. La première présentation que j’ai faite sur Scrum, aux Valtech Days 2006, s’appelait : Scrum, l’esprit du rugby[1].
Henry Kniberg propose avec ScruML une utilisation spéciale d’UML pour Scrum. Intéressant pour l’organisation des équipes Scrum, notamment pour la pratique à grande échelle, mais ça n’a strictement rien à voir avec UML.
Plus sérieusement sur l’accostage d’UML avec les pratiques agiles, Valtech organise une session UML est-il soluble dans les méthodes Agiles ? lors des Valtech Days en octobre.
Depuis quelques années, le bagage d’un informaticien inclut la connaissance d’UML. UML est enseigné à peu près dans toutes les filières. Un étudiant qui commence à travailler a normalement une connaissance suffisante d’UML pour l’utiliser sur des projets. Je pense qu’il en sera de même dans quelques années pour les méthodes Agiles, elles feront partie des bases acquises par un étudiant à la fin de ses études. C’est déjà vrai pour ceux de l’IUP ISI.
Sur InfoQ, je tombe sur une critique de l’article de Philippe Kruchten, Voyage in the Agile Memeplex. Le sous-titre est In the world of agile development, context is key, ce qui est plus parlant.
Je connais bien Philippe, nous nous sommes croisés à Alcatel au début des années 80. Il travaillait sur les gros PABX (>100 lignes) et moi sur les plus petits.
Après avoir présenté il y a quelques jours une vidéo avec une interview de Per Kroll[1], InfoQ publie à nouveau un article sur EPF en mettant l’accent sur l’aspect communautaire du projet et en listant les travaux en cours, notamment les traductions des 3 processus[2] qui ont été publiés.
Il y avait bien une cinquantaine de personnes présentes au troisième séminaire sur les méthodes agiles à Toulouse
Le troisième Séminaire d’Information Gratuit sur les Méthodes Agiles de Toulouse a eu lieu le 21 septembre à l’Université Paul-Sabatier. Avec un apéro convivial à la fin.
Voici le résumé de sa préparation et de son déroulement, avec les slides.
Le meilleur moyen de savoir si une méthode agile est adaptée à votre contexte : l'essayer
Vous avez lu des livres, parcouru des blogs, assisté à un séminaire, et vous êtes maintenant convaincu de l’intérêt des méthodes agiles. Vous en avez parlé à votre chef et à vos collègues, vous leur avait fait des présentations, vous les avez même emmenés à un séminaire. Parfois vous êtes déçu des réactions, ils sont moins enthousiastes que vous ne l’auriez souhaité. Ils pensent que les méthodes agiles ça peut marcher mais surtout chez les autres. Ils ont des doutes sur le fait que ça fonctionne dans leur organisation et pour leurs projets.
La transition à une méthode agile se fait de différentes façons selon le contexte. Les façons de faire les plus fréquentes…
Une organisation qui passe d’un processus pas vraiment agile à un processus plus agile doit choisir entre de nombreuses voies possibles. Il y a en effet de multiples pratiques agiles, touchant les différentes disciplines du développement et il faut choisir par lesquelles on va commencer.
Il n'y a pas que l'utilisateur et l'administrateur…
La découverte des histoires d’utilisateur, comme d’ailleurs celle des cas d’utilisation ou de toute autre technique, se fait en réfléchissant à ce qu’attendent les utilisateurs du logiciel. Il faut donc commencer par identifier ces utilisateurs, au sens large, du logiciel. Les cas d’utilisation utilisent le terme acteur, pour les histoires d’utilisateur on parle de rôle ou de type de rôle ou encore de rôle d’utilisateur.
Comment s'y retrouver ? Que met-on dans le backlog ?
Pour une fois je vais utiliser les termes anglais[1].
Puisque vous fréquentez ce blog, vous devez savoir ce qu’est une story et ce qu’est un backlog (de produit), deux éléments de base dans l’application des méthodes agiles. Mais il y a d’autres termes utilisés couramment dans la gestion agile des exigences.
Une release, c’est toujours une série d’itérations, avec, avant, une phase pour les préparer et, éventuellement, une phase pour les mettre en production après.
Le cycle de vie d’OpenUp se présente comme celui du RUP, avec 4 phases successives : Inception, Elaboration, Construction et Transition. Dans chacune de ces phases, il y a une ou plusieurs itérations qui se déroulent toujours en séquence.
Avec Scrum, la notion de cycle de vie est moins mise en évidence. Un article ancien(1996) de Ken Schwaber évoque 3 phases :
IceScrum est un logiciel libre pour une équipe Scrum
Ça fait longtemps que je n’ai pas parlé d’IceScrum. C’est un projet d’outil Scrum qui a commencé il y a 2 ans avec des étudiants de l’IUP ISI, qui s’est poursuivi entre mars 2006 et juillet 2006 quand j’ai pris Cédric en stage. Le résultat[1] connait un certain succès, il est utilisé dans plusieurs entreprises qui font du Scrum.
En octobre 2006, IceScrum est à nouveau un projet étudiants[2] avec un passage à une techno JEE[3]. Malheureusement le résultat en mars 2007 n’est pas à la hauteur de nos espérances et la version attendue n’est pas vraiment utilisable. En avril 2007, il y a bien des tentatives pour créer une communauté qui continue le combat, mais elles échouent.
Le prochain SigmaT aura lieu le 14 décembre. Ce sera le 4ème séminaire sur les méthodes agiles organisé à Toulouse, après celui du 8 décembre l’an dernier et ceux de mars et septembre. Pour ceux qui souhaitent faire une présentation ou simplement participer à l’élaboration du contenu, il existe maintenant la mailing-liste des SigmaT. Vous trouverez les indications pour s’y inscrire sur la brochure de présentation jointe en fichier attaché.
Sur la liste de discussion ScrumDevelopment de YahooGroups, Tim Gallagher (un anglais, évidemment, il a le coeur à ça) revient sur l’analogie de Scrum avec le rugby.
Il évoque à travers Brian Ashton, l’entraîneur de l’équipe anglaise, le parallèle avec le rôle de ScrumMaster. Ashton répond à un journaliste qui lui demande s’il est un faiseur de miracles :
No I won’t, I’m not that sort of coach, I facilitate the players, I help the players, I set a framework for the players, they’re the guys that go out on the field, they’re the guys that do the business, they deserve all the plaudits.
Tous les ans, j’encadre plusieurs projets d’étudiants[1]. Les projets durent de septembre à mars et le cycle de vie est constitué d’itérations, chacune en général de 3 semaines. A chaque fin d’itération, il y a une revue à laquelle je participe. Les étudiants produisent des documents, qui sont évalués lors des revues. Oui, même avec les méthodes agiles et Scrum, il y a de la documentation à produire.
Une technique pour définir les priorités entre les fonctions d'une application
Les éléments du backlog sont organisés par priorité. Une séance de Priority Poker permet de définir les priorités de façon collective. Mais il n’est pas toujours possible de l’organiser avec les bonnes personnes. Une technique plus classique, que Mike Cohn appelle Theme Scoring, consiste à comparer la satisfaction de critères, en donnant un poids à chaque critère.
La démarche est la suivante :
Le projet IceScrum a une nouvelle vie. Un point sur lequel tout le monde s’accorde : il faut améliorer l’IHM. Les utilisateurs souhaitent quelque chose de plus ergonomique, les développeurs aimeraient introduire plus de technologie de type RIA.
Lors des manifestations récentes auxquelles j’ai participé, soit j’étais l’organisateur (pour les SigmaT, comme par exemple celui de septembre), soit je faisais une présentation puis je devais partir vite (par exemple pour les Valtech Days 2006 ou encore pour le XP Day 2007). Pas trop l’esprit à se détendre.
Quand on vient seulement pour écouter comme je l’ai fait aux Valtech Days, c’est plus facile pour y rencontrer du monde et discuter tranquillement. Surtout qu’il y en avait du monde à ces Days, plus de 300 la première journée et pas loin de 200 pour la journée Open Space.
Après le XPDay de mai, une autre conférence à Paris où l'on parle d'agilité
Le premier jour des Valtech Days, c’était le 23 octobre, avec des présentations de 50 minutes et 4 sessions en parallèle. Il faut choisir laquelle des 4 on va suivre. Pas trop difficile pour moi d’éliminer ce qui concernait SOA et l’architecture, mais il restait à chaque fois 2 sessions en rapport avec l’agilité auxquelles j’aurais aimé assister.
Ce n'est pas de la science-fiction, mais un workshop pour préparer la planification d'une release
Je viens de voir l’Armée des 12 singes de Terry Gilliam sur la TNT, film dans lequel Bruce Willis est envoyé dans le passé. Comme ça, dans les périodes où on le voit, il peut se souvenir du futur.
La coïncidence veut que cet après-midi nous avons fait une séance de Remember the future pour le projet Wilos, projet qui se poursuit cette année avec de nouveaux étudiants de l’IUP ISI.
La deuxième journée des Valtech Days, le 24 octobre, était Open Space. C’est une technique de gestion de conférences, utilisée selon Valtech pour la première fois en France. Pas d’agenda préalable, il est défini par les participants, lors d’une place de marché lors de laquelle sont faites les propositions de sessions. Le cadre proposé par Valtech, c’était simplement une boite de temps de 1h40 pour la préparation de l’agenda et ensuite 3 séries de sessions de chacune une heure, séparées par une pause d’un quart d’heure.
Pour recruter une personne avec un bon profil agile, il faut d’abord définir ce qu’est un profil agile. C’était le sujet d’une session de l’Open Space aux Valtech Days. Eric Lefèvre, qui en était le facilitateur, en fait un résumé dans le wiki qui lui est dédié. Eric revient également dans son blog sur la technique des hexagones. Il explique que la session des Valtech Days s’est arrêtée, faute de temps, avant la fin de l’exercice et l’obtention d’un résultat significatif.
Pour bien démarrer un sprint, une réunion pour définir son périmètre fonctionnel, faire sa planification et aussi un peu de conception.
Dans la liste des réunions Scrum, je prends la première d’un sprint[1], la réunion de planification. Le but de la réunion est de planifier le sprint qui commence, après avoir fixé son périmètre.
Avec une séance de Planning Poker sur le backlog de produit
Les jeux au travail ça ne fait pas très professionnel. Les jeux de cartes encore moins. C’est peut-être pour ça que le Planning Poker n’est pas toujours pris au sérieux et que certains considèrent, à tort, qu’il s’agit d’une pratique fantaisiste. Cela peut expliquer aussi pourquoi la session que j’avais proposée pour l’Open Space des Valtech Days sur le sujet n’a pas attiré beaucoup de monde[1].
Mes 2 derniers billets, l’un évoquant la façon de planifier une release, l’autre sur la planification du sprint peuvent susciter le trouble : d’un côté une estimation des histoires d’utilisateur en points, de l’autre des tâches estimées en heures.
Le but de la réunion quotidienne, appelée Scrum daily meeting (Scrum) ou StandUp meeting (XP), est d’identifier les problèmes, par la 3ème question posée à chacun.
Quelques accessoires pour rendre les exercices plus attractifs
J’attaque demain une formation pour de nouveaux clients qui veulent mettre en œuvre Scrum et les méthodes agiles. Comme le coach agile transporte avec lui ses outils, je vérifie mon kit d’animateur de formation.
De l'amélioration de processus, concrète (et sans s'encombrer de CMM-I !)
Ok, vous arrivez sur cette page. Sachez qu’elle date de 2007. L’essentiel de l’article reste valable aujourd’hui. Cependant j’ai apporté de légères inflexions à la façon de mener une rétrospective. Je vous invite à lire mes écrits plus récents sur Scrum.
Dans la série les rites d’une équipe agile, voici la rétrospective, présentée avec le vocabulaire de Scrum.
Son but est d’améliorer la façon de travailler pour le prochain sprint1.
Avec Scrum, le représentant des clients s’appelle le Product Owner (PO) ou directeur de produit. C’est un rôle qui est joué par une seule personne.
J’ai bien vu aujourd’hui l’intérêt d’avoir une seule personne face à l’équipe de développement pour les questions qui relèvent de ce que doit faire le produit.
Une revue qui permet un feedback concret sur le produit (c'est mieux que sur de la documentation !)
Dans la série des réunions d’un projet Scrum, voici la revue de sprint.
Le but de la revue est de montrer ce qui a été réalisé pendant le sprint, afin d’en tirer les conséquences pour la suite du projet.
J’ai démarré une mission de coaching agile cette semaine. C’est à Paris, je suis donc en déplacement une bonne partie de mon temps. Le rythme de production des billets de mon blog va se trouver fatalement impacté par cette mission à Paris.
Comme Scrum est à la mode, beaucoup de monde s’y intéresse et le risque est d’en faire un usage très superficiel. Une lecture rapide d’une présentation de Scrum peut amener à penser, comme je l’entends parfois, que Scrum est déjà plus ou moins appliqué dans les projets. Ceux qui disent : on fait déjà du Scrum sans le savoir. D’un autre côté, une mise en œuvre sans bases solides peut amener à une utilisation dégradée.
Allez encore un billet en rapport avec le rugby. Je viens de lire la chronique de Pierre Villepreux après le match Leicester-Toulouse de la semaine dernière. Et je ne peux résister au rapprochement avec le monde du développement :
le style du Stade Toulousain, c’est l’agilité le style de Leicester, c’est le développement prédictif traditionnel[1]
Le manifeste agile rappelle que les personnes et leurs interactions sont plus importantes que les processus et les outils. Faire un outil qui reste dans cet esprit tout en assistant utilement lors de l’application d’une méthode agile, ce n’est pas facile. Le pari a l’air réussi pour la nouvelle version d’IceScrum.
La photo : Le tournant du match. L’arbitre accorde l’essai de Vincent Clerc. Les Tigers vont rester dans le brouillard jusqu’au bout.
En écho à mon billet sur le Stade Toulousain agile, la rencontre à laquelle j’assistais hier au Stadium, qui s’est finie par la victoire de l’équipe la plus agile, a montré aussi qu’une équipe qui est habituée à jouer d’une façon prédictive a du mal à changer.
Les 10 dernières minutes de Leicester, qui essayait d’attaquer de son en-but, ont été édifiantes : c’était du n’importe quoi et ils n’ont pas réussi à sortir de leur 22.
J’ai eu des satisfactions avec mon blog en cette fin d’année : plein de visiteurs et même une distinction avec le prix du meilleur blog qui parle des Valtech days.