vendredi 28 février 2014

Rétrospectives agiles



La rétrospective en agile (ou pas d'ailleurs) est le moteur de l'amélioration continue.
Les méthodes agiles proposent la mise en oeuvre de rétrospectives a chaque temps fort du projet :

  • à la fin d'un Sprint, d'une itération
  • à la fin d'une version,
  • à la fin du projet


La forme la plus classique pour l'animation de cette cérémonie est la suivante :
L'animation est réalisée par le Scrum Master ou le Facilitateur
Chaque membre de l'équipe formalise sur un post-it et pour la période donnée

  • ce qui s'est bien passé (+),
  • ce qui s'est mal passé (-),
  • ce qui est à améliorer (/>)


On rencontre également souvent une forme légèrement différente dans laquelle on ajoute ce qui reste mystérieux.

Chaque post-it est alors placé sur un tableau dans une case correspondante. Le facilitateur prends alors chaque élément, le lit à haute voix et reformule afin d'être certain d'avoir bien compris le sens de cette contribution. Il rassemble également les post-its par paquets afin de regrouper les éléments qui ont un sens équivalent.
A ce premier niveau l'important est de créer un partage et éventuellement des débats sur des points de vue différents.
Une fois ce premier débrief réalisé l'équipe choisi UNE amélioration qu'elle devra mettre en oeuvre durant la prochaine période.

Sur le papier, c'est très bien, mais dans la durée il arrive parfois que ce format devienne une routine et l'équipe fini par s’essouffler et la rétrospective peut vite devenir une routine.

Il y a quinze jours, un collègue Scrum Master (Olivier Picaud) m'en faisait justement part et cherchait une autre approche de la rétrospective afin de "restimuler" son équipe, qu'elle fasse preuve à nouveau de créativité et d'imagination afin de relever les nouveaux défis à relever et problèmes à surmonter.

Je lui ai donc proposé le format en "étoile de mer"
Quelques références en ligne sur ce modèle :

http://www.areyouagile.com/2013/05/lart-de-la-retrospective/



http://ayeba.wikispaces.com/La+r%C3%A9trospective+en+%C3%A9toile+de+mer



C'est donc le format qu'il a utilisé pour sa dernière rétrospective, et le résultat fut très satisfaisant. L'équipe s'est véritablement lâchée, dans le bon sens du terme et les matériaux récoltés on été très riches. Cela se voit :




Ce qu'Olivier me faisait remarquer également, c'est qu'en lisant cette étoile de mer dans le sens horaire, elle raconte une histoire : c'est l'histoire du Sprint, et ça a du sens! 

Ce qu'il faut retenir, ce qu'il ne faut jamais laisser s'installer une routine au sein de l'équipe, surtout pas lors des rétrospective! Ce moment est trop important pour cela.
Variez les formes, renouvelez-vous. Vous pouvez animer un "Speed Boat" (Innovation Game)  à certains moments, et n'hésitez pas à chercher sur internet de nouveaux formats dès que vous sentez que le format que vous utilisez s'essouffle. Changer de format, c'est changer de regard, c'est se poser les questions sous un autre angle, et donc exercer son regard critique!

vendredi 14 février 2014

La photographie de l'effet tunnel

Un collègue Scrum Master vient de me transmettre la photo d'un effet tunnel :

Son équipe a mis en place des correctifs et des évolutions sur le produit dont son équipe à la charge. Il ne peut pas les tester car les environnements ne sont pas disponibles. 

Du coup, les post-its s'accumulent sur son tableau : c'est l'effet tunnel!





jeudi 13 février 2014

Rétrospective Annuelle et Innovation Games : plans d'actions

Une fois la rétrospective animée, et les résultats collectés, que faire de cette matière brute et comment l'utiliser?

Notre démarche fut la suivante : 
1 - réaliser une synthèse de chaque atelier et des retours du mur de feedback
2 - regrouper les problèmes identifiés par thème et en établir une liste 
3 - attribuer une valeur à chaque problème
4 - attribuer une complexité de résolution à chaque problème
5 - calculer le ROI (valeur/complexité) à chaque problème pour les prioriser
6 - dresser un plan d'action pour les 3 problèmes les plus importants
7 - identifier pour chaque plan d'actions la liste des problèmes adressés




Ce matin, j'ai donc présenté à l'équipe l'ensemble du travail de consolidation, la démarche et les plans d'actions. 

L'équipe a retrouvé dans notre synthèse les éléments qu'ils avaient remonté. Du coup, nous avons eu une bonne adhésion de l'ensemble des acteurs sur les plans d'actions à mettre en oeuvre.

Le plus gros est donc à faire!

lundi 6 janvier 2014

Rétrospective Annuelle et Innovation Games

Animer une rétrospective avec des Innovation Games

En cette fin d'année j'ai été missionné pour animer la rétrospective annuelle de notre support technique.
Habituellement cette réunion est unidirectionnelle : le manager présente un PPT à son équipe et relate les événements marquants de l'année.

Cette forme a vécu et l'équipe a proposé une nouvelle version plus interactive, plus vivante et plus constructive.

Reposons le décor 

Il s'agit d'une équipe constituée d'experts techniques - DBA, développeurs ... Le gros de l'équipe se trouve localisée en région Bordelaise - même bureau- mais quelques membres sont répartis sur d'autres sites - Aix-en-Provence, Nantes ... . 
Le client principal est le pôle Internet, mais il y a aussi un département GED et un département Intranet. Quelques membres de l'équipe sont de nouveaux arrivants, d'autres sont arrivés en cours d'année et certains sont présents depuis la création du service il y a 3 ou 4 ans.
L'équipe était initialement positionnée sur la résolution des problèmes de production, puis a essayer de se recentrer sur des activités plus en amont afin d'anticiper les problèmes et de ne plus subir les choix réalisés par d'autres tout en ayant une augmentation conséquente de ses effectifs et de son périmètre.

Faire un bilan est devenue plus qu'une nécessité, un élément vital!

C'est là que les Innovations Games nous ont apporté une solution.

Au programme

Une présentation des faits marquants de l'année sur le thème de la voile illustrée par un tour du monde en équipage. Un parallèle est fait entre les valeurs de l'équipe et les valeurs véhiculées par le sport - rugby et voile- .

  • Un mur de feedback placé prés de la porte de sortie de la salle pour collecter les retours après chaque atelier.
  • Un atelier Vision Box afin que chacun contribue à la constitution de la vision idéale de ce qu'est cette équipe : son rôle, ses forces, son périmètre - 4 équipes
  • Un repas convivial tous ensemble,
  • Un atelier Remeber The Future pour se projeter dans trois scénarios idéaux à l'horizon 2018 - pour laisser un peu de place à l'imaginaire et au progrès que pourrait faire l'équipe et l'entreprise - 3 équipes
  • Un atelier Speed Boat pour identifier dans le contexte actuel les forces et les freins de l'équipe en vue d'un objectif idéal à court terme - tous ensemble
  • Débriefe du mur de feedback pour chaque atelier puis débriefe des retours plus globaux (la journée, l'équipe... complètement ouvert en fait!)
  • Un ROTI de la journée pour finir ( des 4 et des 5 : ça fait plaisir!)


Durant cette journée, j'ai pris quelques 222 photos - très utiles pour se remémorer l'ambiance et les attitudes - et des vidéos lors de la présentation des travaux des différentes équipes constituées pour les jeux  - très riches d'enseignement également car le discours est également riche en enseignement.
Pour chaque équipe de travail et chaque atelier il y avait un observateur/facilitateur, également membre de l'équipe. Mon rôle était celui de facilitateur, animateur des jeux, et time-keeper.

Bilan en images

Bon assez de Bla Bla, voici quelques unes des photos réalisées, c'est parlant:

Rétrospective : introduction

Les valeurs du sport comme métaphore

Atelier Product Box

Product Box : L'organisation des thèmes

En pleine création

Des échanges animés

La "vente" de la "Box"

Les quatre box produites

Le mur de feedback s'alimente par atelier

Un repas tous ensemble c'est ^lus convivial

Remember the future : la timeline en cours de construction 1

Remember the future : la timeline en cours de construction 2

Remember the future : la timeline expliquée au reste de l'équipe

Le Speed Boat : tous ensemble

Le mur de feedback se rempli

La mascotte échouée prés du bâteau de l'équipe

Speed Boad : Le débriefe des ancres et des vents

En conclusion : 

Une journée ou tous les participants 

  • ont été très actifs, 
  • ont passé une journée agréable, 
  • ont eu le sentiment d'être une seule et même équipe
  • ont partagé leurs réussites et leurs problèmes


Beaucoup de matière a été récoltée et en plus d'un compte rendu des ateliers, nous avons synthétisé une vingtaine de problèmes. Ces problèmes ont été ordonnés par importance et valeur - merci Fibonacci - ce qui nous a permis de définir les 3 problèmes les plus importants et pas trop complexes à traiter en priorité.

Parmi ces problèmes, le premier est le manque de vision commune et partagé des missions de l'équipe et de son périmètre. 
Une fois réglé il est fort possible que d'autres problèmes disparaissent d'eux-même.


mercredi 4 septembre 2013

Scrum de Scrum et autres pratiques

Scrum de Scrum

Notre équipe projet est constituée de 3 POs, un CP et de deux équipes Scrum (11 développeurs et 2 Scrum Masters). 

Les 2 équipes fonctionnement en mode Scrum de Scrum et nous réalisons des mêlées Scrum de Scrum 2 fois par semaine. Les deux équipes se trouvent dans le même espace et la collaboration quotidienne entre les Scrum Master quotidienne et très efficace. Du coup les mêlées Scrum Scrum restent très utiles mais certaines actions/décisions sont prises en dehors de l'instance avec une meilleure réactivité que ce que nous imaginions. Sur ce point nous ne pouvons que féliciter l'excellent travail réalisé par nos deux Scrum Masters et leurs Backups!


Nous avons aussi amélioré notre communication à destination des équipes Scrum notamment par voies d'affichage : 

  • La roadmap et la fiche de vision A3 du projet est affichée pour l'équipe et mise à jour régulièrement, 
  • Une charte projet a été réalisée conjointement par les Scrum Master, les équipiers, les POs et notre Chef de Projet. Elle décrit les rôles et responsabilité de chacun, le fonctionnement des équipes. 
  • Lorsque des compléments d'information sont demandés nous diffusions l'information à tous les membres de l'équipe et pas aux seul Scrum Masters qui devenaient des goulets d'étranglement.

Pratiques de développement 

Nous avions déjà mis en place une intégration continue et les pratiques agiles des équipes de développement continuent d'évoluer pour assurer une meilleur qualité du code.  :
  • Mise en place du Pair Programming (développement en binôme)  
  • Développement en TDD
Afin d'assurer la montée en compétence e tous les équipiers sur ces pratiques, nous avons un Expert eXtreme programmeur qui a intégré l'équipe. Merci et bravo à Mickael pour le sérieux et la qualité de son intervention. 

Organisation des POs

S'il est préconisé en Scrum d'avoir un et un seul PO pour un produit, ce n'est pas l'organisation que nous avons mise en oeuvre. Cela nous a exposé à plusieurs difficultés organisationnelles et de partage des documents. 
De ces difficultés est ressortie la nécessité de mettre en oeuvre des outils de travail collaboratif pour la gestion de la Backlog et des autres documents associés comme un wiki.

Management visuel et amélioration continue

L'organisation des POs

En début d'année je vous publiais un post sur notre mise en oeuvre de Kanban au sein de notre équipe de "PO". Notre objectif était de mieux suivre notre flux de production des US afin d'être en mesure d'alimenter convenablement nos équipes Scrum, de visualiser les goulets d'étranglement et d'améliorer la communication au sein de l'équipe.

Aux mêlées des POs participent : 

  • Les POs - 8 personnes,
  • Les Chefs de Projet - 5 personnes : exerçant parfois le rôle de PO,
  • Les Coordinateurs Fonctionnel - 2 personnes : identifient les impacts entre projet et coordonnent les évolutions fonctionnelles par version (vision macro),
  • Les experts métier/testeurs - 2 personnes : aident les POs à la conception fonctionnelle et renforcent leur capacité de test de fin de Sprint. Leur feedback sur la logique métier et le fonctionnel est très précieux,
  • Un représentant de l'équipe de graphistes / intégrateurs Web,
  • Deux architectes techniques

Lors de nos mêlées, nous tenons le 1/4 d'heure sans dépassement, il arrive même qu'elle soit finie avant la fin du temps. Personnellement, je trouve que nous sommes trop nombreux et que l'on n'optimise pas la communication, mais en même temps cela fonctionne et globalement nous en tirons tous des éléments importants. En attendant que nous trouvions un meilleur mode de fonctionnement, nous continuerons donc nos mêlées quotidiennes à 20 personnes... 


Après 6 mois d'utilisation, nous avons abandonné notre tableau de suivi de la production des US : le suivi au niveau des US trop fin entre la livraison de la dernière version et le lancement des devs de la nouvelle version,

  •  les équipes surchargées n'ont plus pris le temps de mettre à jour le tableau trop d'info tue l'info : le tableau devenais illisible tellement il comprenait d'US (nb US >100)
  • pour chaque équipe Lors d'une rétrospective nous avons donc décidé d'abandonner ce format pour un autre, mieux centré sur nos problématiques. 

Nous avons mis en oeuvre un tableau affichant la roadmap des projets permettant visualiser les dépendances qui peuvent exister entre projet. 

L'objectif est donc de pouvoir augmenter notre réactivité lors des changements de planification et ainsi de mieux maîtriser notre gestion du périmètre. La roadmap est enrichie de différentes affiches sur sa gauche : Fiche de vision A3 Toyota du projet, tableau de présence/absence....






Pour l'instant tout le monde a mis en oeuvre ces changements sur son projet et nous allons suivre cette amélioration de près afin d'en mesurer les gains et les difficultés rencontrées. 

Reste à faire en sorte que nos mêlées se focalisent aussi sur ces points.




lundi 11 mars 2013

Scrumban


Certains clients grand compte disposent d'équipes de support transverses. 


C'est le cas de mon client, chez qui, plusieurs de ces équipes ont essayé de mettre en place Scrum ou Kanban en attendant une révolution complète et utopique pour passer à une organisation "Full Agile". Dans cet effort ils ont été confrontés à plusieurs problèmes. 
Voici deux des écueils les plus répandus :
Ces équipes souhaitent trouver une méthode agile leur permettant de suivre leurs activités et de gérer au mieux leurs priorités - souvent changeantes - et de favoriser l'auto-organisation chère aux agilistes que nous sommes.
  • une équipe Scrum qui souhaite travailler en flux, 
  • supprimer les longues réunions de planification de sprint, 
  • augmenter la taille d’un équipe Scrum (ex : +12 personnes) 
  • gérer des activités qui ne répondent pas à un seul processus défini au sein d'équipes transverse,
  •  …
Comment ça marche :
  • une réunion de lancement pour un Sprint dans lequel chaque item compte pour 1
  • une injection d’éléments à la demande dans la colonne « A faire ». Le backlog sur le tableau devient donc une entée permettant de prioriser dans la colonne « Prêt » les éléments à prendre en priorité (cf pt 1)
  • ¼ d’heure tous debout devant le tableau.
  • Le Scrum Master/ Manager donne les changements de priorité du jour et les nouveaux éléments sont ajoutés au tableau
  • Chacun explique les problèmes rencontrés, fait le point sur son avancement au regard des items, et expose ce qu’il fera dans la journée.
"Scrum c'est super bien, mais entre la réunion de planification du Sprint et les changement incessants de priorités dû à des demandes urgentes de support de la part des projets, on ne peut pas garantir plus de 20% du respect de l'engagement initial...."
ou
"Je voudrais bien que l'on se mette à Kanban pour favoriser l'interaction des équipiers, et gérer nos priorités au jour le jour/à la demande, mais entre les différents domaines d'expertise sur lesquels nous sommes sollicités, il est impossible de définir un processus commun à toute l'équipe, quelque soit la demande."


ScrumBan est un compromis entre Scrum et Kanban. Voici entre autres quelques raisons qui peuvent motiver la mise en œuvre de Scrumban plutot que Scrum, Kanban ou encore XP : 
Je vous propose ci-dessous une vulgarisation des principes de Scrumban pour une mise en oeuvre dans ce type de contexte.


1/ Tableau des tâches :
On se base sur un tableau des tâches Scrum avec les colonnes A faire ->  En cours -> Terminé.
En fait on ajoute une colonne supplémentaire « Prêt » qui permet de prioriser les demandes entre la backlog (A faire) et le travail en cours.
On obtient le tableau suivant : A faire -> Prêt -> En cours -> Terminé

2/  Travailler en flux avec des limites :
Si on ne met pas de limite, on n’obtient pas un système Kanban, et on risque de commencer plein d’activités sans en terminer aucune. On ne travaillera donc pas en flux.
Une bonne limite de départ pour le travail en cours est : nb personnes dans l’équipe * 2.
Cette limite permet de gérer les blocages : je suis bloqué, donc je passe à la tâche suivante en attendant de débloquer la précédente.

3/ Cadence d’injection des éléments
            Dans un système Scrum, on alimente une Backlog avec une liste de choses à faire. Cette Backlog est discutée avec le Product Owner puis estimée en complexité (la « taille » de la Story). La vélocité de l’équipe est un indicateur qui permet de limiter pour un Sprint (« TimeBoxing ») la quantité de travail à réaliser.
            Dans un Système Kanban, la taille n’importe pas. Ce qui compte c’est le nombre d’éléments en cours que l'on limite de manière explicite par un nombre d'éléments (tâches/story) sur chaque colonne du système.
            Avec un Système ScrumBan, une équipe peut choisir le meilleur des deux par rapport à sa problématique :
une réunion de lancement pour un Sprint dans lequel chaque item compte pour 1
ou
une injection d’éléments à la demande dans la colonne « A faire ». Le backlog sur le tableau devient donc une entée permettant de prioriser dans la colonne « Prêt » les éléments à prendre en priorité (cf pt 1)

4/ Cadence de livraison
            Si l’équipe produit une application, le rythme de livraison devra être déterminé en fonction des besoins et des capacités des équipes de déploiement etc…. Si l’on veut, on peut se caler sur la notion de Sprint (itération de durée fixe) pour obliger l’équipe à préparer une version « propre ».
Dans le contexte des équipes de support transverse, il n'y a pas besoin de livrer un produit fini à rythme déterminé, puisque l'on a plutôt une livraison au fil de l'eau à d'autres équipes.

5/ Rétrospectives
            Un point absolument nécessaire et primordial si l’on veut tirer un réel bénéfice de toutes ces méthodes, c’est de faire une rétrospective au minimum une fois par mois avec l’ensemble des équipiers. 
Il est important de rythmer avec une période fixe ces points d’amélioration continue. A l’image du cœur qui rythme nos vies, c’est ce rendez-vous qui permet de s’adapter au contexte de l’organisation et lever les obstacles qui encombrent la route.

  • Chacun s’exprime sur ce qui a bien fonctionné, quels problèmes on a rencontré, comment on les a résolus et quels sont les problèmes que nous avons encore.
  • Choisir collectivement quelle évolution du système sera mise en oeuvre pour la période suivante
  • Choisir les problèmes que le Manager/Scrum Master et l’équipe se chargeront de résoudre pendant la période suivante.
Lors de ces réunions on peut prévoir d’ajouter de nouvelles colonnes au tableau afin coller un peu plus aux spécialités des collaborateurs et au processus de travail.

6/ Animation du tableau

  •             Injection des éléments : vu au point 3
  •             Mêlées quotidiennes façon Scrum 
Soit :
                       
  • ¼ d’heure tous debout devant le tableau.
  • Le Scrum Master/ Manager donne les changements de priorité du jour et les nouveaux éléments sont ajoutés au tableau
  • Chacun explique les problèmes rencontrés, fait le point sur son avancement au regard des items, et expose ce qu’il fera dans la journée.

Bien évidement, à appliquer avec les 4 valeurs, 12 principes du manifeste agile et avec toutes les bonnes pratiques eprouvouées...

Ci-dessous un lien vers un très bon article de Corey Ladas écrit en 2008 qui décrit ScrumBan, traduit par  Fabrice Aimetti : http://www.fabrice-aimetti.fr/dotclear/index.php?post/2011/07/01/Scrumban