L’agilité, plus qu’une méthode, des valeurs !

image équipe

Mon bilan après 4 années de pratique intensive & passionnée d’Agilité est qu’il ne faut jamais perdre de vue les valeurs fondatrices d’une équipe « Agile ». Sans ces valeurs, l’agilité et ses rituels ne seraient que du folklore.

J’ai découvert l’agilité en 2009 lorsque j’ai commencé à travailler, pour des sites de petites annonces immobilières, avec une équipe de dev qui pratiquait Scrum et XP.

Au départ pour moi ma vision de l’agilité était réduite à un rituel quotidien étrange et des post-it collés sur des tableaux blancs.

Puis, j’ai endossé le rôle de Product Owner au sein de cette équipe. Je me suis donc intéressée plus sérieusement au sujet en avalant livres, blogs, formation et conferences. J’ai alors découvert le manifeste Agile, ses valeurs et ses principes. J’ai tout de suite été séduite  !!!

Depuis, sprint après sprint, avec le Scrum Master et l’équipe on met tout en oeuvre pour livrer régulièrement des fonctionnalités à forte valeur ajoutée et attendues par le client ; on s’interroge sur la qualité et la pérennité de nos livrables et du code produit par l’équipe  ; on cultive la communication, la transparence et la loyauté au sein de l’équipe ; on s’assure que l’équipe à les moyens de s’auto-organiser ; on recherche systématiquement le feed-back du client pour pouvoir ajuster les fonctionnalités livrées ou à livrer…

Pourquoi fait-on tout cela ? Pourquoi une équipe Scrum au moyen de ses 4 rituels et de son tableau de post-i ne dévie pas de la route de la qualité, de la satisfaction client et de l’amélioration continue ?

Tout simplement parce que derrière la méthodologie il y a des valeurs fortes adoptées par l’équipe !

Rappel des 4 valeurs fortes  :

→ « Les individus et leurs interactions plus que les processus et les outils. »

L’équipe est très importante. La communication est une notion fondamentale. L’équipe est plus importante que les outils ou les procédures et on préfère avoir une équipe de développeurs soudés et qui communiquent, plutôt qu’une équipe composée d’experts fonctionnant chacun de manière isolée.

→ « Des logiciels opérationnels plus qu’une documentation exhaustive. »

Il est vital que l’application fonctionne. Le reste, et notamment la documentation technique, est une aide précieuse mais non un but en soi. Une documentation précise est utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n’est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l’équipe (on en revient à l’importance de la communication).

→ « La collaboration avec les clients plus que la négociation contractuelle. »

Le client doit être impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client. Le client doit collaborer avec l’équipe et fournir un feed-back continu sur l’adaptation du logiciel à ses attentes.

→ « L’adaptation au changement plus que le suivi d’un plan. »

La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l’évolution de la demande du client tout au long du projet. Les premières livraisons du logiciel vont souvent provoquer des demandes d’évolution.

Et  ses 12 Principes, qui les déclinent :

1/ La plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à forte valeur ajoutée.

2/ Le changement est accepté, même tardivement dans le développement, car les processus agiles exploitent le changement comme avantage compétitif pour le client.

3/La livraison s’applique à une application fonctionnelle, toutes les deux semaines à deux mois, avec une préférence pour la période la plus courte. Livrez fréquemment un logiciel opérationnel.

4/ Le métier et les développeurs doivent collaborer régulièrement et de préférence quotidiennement au projet.
Les utilisateurs ou leurs représentants le PO (Product Owner) et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.

5/ Le projet doit impliquer des personnes motivées. Donnez leur l’environnement et le soutien dont elles ont besoin et faites leur confiance quant au respect des objectifs. (C’est tellement plus motivant pour tous que le mode Command and Control)

6/ La méthode la plus efficace de transmettre l’information est une conversation en face à face.

7/ L’unité de mesure de la progression du projet est un logiciel fonctionnel (on ne comptabilise donc pas les fonctions non achevées).

8/ Les processus agiles promeuvent un rythme de développement soutenu et soutenable (afin d’éviter la non qualité découlant de la fatigue).
Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.

9/ Les processus agiles recommandent une attention continue à l’excellence technique et à la qualité de la conception.

10/ La simplicité et l’art de minimiser les tâches parasites, sont appliqués comme principes essentiels.

11/ Les équipes s’auto-organisent afin de faire émerger les meilleures architectures, spécifications et conceptions.

12/ À intervalle régulier, l’équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son processus de travail en conséquence.

La Gestion de Produit Agile

Vous souhaitez comprendre le métier de Product Owner ? En savoir plus sur la gestion de projet agile ? Comprendre le fonctionnement d’une équipe Scrum ?

Je vous conseille de regarder cette vidéo de Henrik Kniberg intitulé « Agile Product Ownership in a nutshell » qui en 15 minutes vous expliquera de manière ludique le rôle de PO et ses différentes interactions avec l’équipe et ses clients.

La version original en anglais a été  traduite en français par Cédric Chevalérias et doublée par Florent Lothon (www.agiliste.fr)

Le SpeedBoat Game


A chaque fin de sprint je participe à la rétrospective !

Nos itération durent 15 jours et les rétro s’enchainent donc tous les 15 jours. Notre Scrum Master change parfois de format pour casser la monotonie de la répétition.

Ce matin, j’ai lu un article qui m’a beaucoup intéresse sur un format que nous n’avons pas encore testé : le SpeedBoat Game.

Voici en quelques mots le principe du jeu :

« Sur un tableau, on dessine un bateau. Ce bateau c’est le produit et on voudrait qu’il avance vite et bien. Seulement, comme beaucoup de bateaux, il a des ancres qui le ralentissent et l’empêche de prendre de la vitesse. Les ancres ce sont les fonctionnalités/éléments qui posent problèmes aux utilisateurs.
Dans le cas de notre rétrospective, ce que nous cherchons à faire avancer, ce n’est pas le produit, mais l’équipe. « 

Ce jeu est tiré du livre « Innovation Games »
Autheur : Luke Hohman
Site web : « Innovation Games »

Pour en savoir plus sur le SpeedBoat Game, vous pouvez lire le billet qui explique en détail le déroulement de ce jeu et donne un retour d’experience  : http://antoine.vernois.net/dotclear/index.php?trackback/1007

J’espère que nous aurons prochainement l’occasion de tester ce nouveau format…

Et vous, avez-vous déjà testé ? Venez témoigner !

PO disponible pour l’équipe !

Le Product Owner doit être disponible pour l’équipe, afin de répondre aux questions fonctionnelles sur le produit. Mais comment faire avec un emploi du temps très chargé ?

Tous les matins je participe au daily scrum meeting avec l’équipe…

Pourtant un des retours que nous avons eu en rétrospective tout au début de ma prise de poste concernait mon manque de disponibilité. En effet, mon emploi du temps est très chargé, car je participe a beaucoup de réunions et certains jours il m’arrive de n’être quasiment pas à mon bureau.

J’ai évidemment été surprise car comme je l’ai dit plus haut  je participe régulièrement au cérémonial du matin !

Nous avons donc cherché une solution. Et voici ce que nous avons décidé de tester : après le daily scrum meeting je bloque un créneau de 30 minutes minimum afin que les membres de l’équipe puissent me faire une démo des tâches en cours et profitent de ce moment pour me poser toutes les questions qui les ont bloquées pour avancer la veille.

Cela fait 3 sprints que nous testons cela et je dois dire que j’ai tout de suite vu les bénéfices de cette nouvelle pratique. En effet, cela me permet d’apporter très tôt :

  • un feedback sur ce qui a été réalisé
  • des réponses aux questions des développeurs

Cette petite démo en tête à tête a donc le mérite de donner régulièrement du feedback et de corriger le tire très rapidement si besoin.

Nous allons donc poursuivre cette démarche pour voir si elle continue à fonctionner sur le long terme.

Les missions d’un PO

Quel est le rôle d’un Product Owner ? et quelles sont ses missions  ? 

Ce sont les premières questions que je me suis posées lorsqu’il y a quelques semaines mon manager m’a proposé le poste de Product Owner à l’occasion d’une réorganisation en interne.

Depuis ma prise de poste en janvier, j’ai beaucoup lu, j’ai suivi une formation et j’ai surtout  commencé à prendre mes marques avec l’équipe. Voici donc ma vision actuelle du poste de Product Owner :

Le Product Owner est responsable du produit et représente les clients.

Il a les missions suivantes :

Communiquer la vision du produit

Concrètement, cela consiste à formaliser la vision du produit à l’aide de ces différentes questions :

  • A qui s’adresse le produit ?
  • Qu’attendent-ils du produit ?
  • En quoi consiste mon site ?
  • Quelles sont ses principales fonctionnalités ?
  • Quels sont les principaux concurrents ?
  • Quels sont les + du produit par rapport à la concurrence ?

Lors de la formation de Product Owner on nous a vivement encouragé à afficher la vision de manière bien visible pour l’équipe. Je ne l’ai pas encore mis en pratique. Je pense que je tenterai cet exercice lors de mon prochain projet.

Alimenter le backlog du produit

C’est le Product Owner qui doit alimenter le backlog du produit. Le Scrum Master est lui responsable du backlog de sprint. Concrètement cela consiste à ajouter dans le backlog des user stories pour chaque amélioration fonctionnelle ou ergonomique du produit.

Actuellement nous utilisons le logiciel « redmine » pour enregistrer toutes les stories dans le backlog de produit. En revanche, le Scrum Master de l’équipe trouve plus pratique d’utiliser un fichier Excel pour gérer le backlog de sprint.

Expliquer ce que l’on attend

Cela consiste à fournir tous les documents nécessaires à la réalisation de la story : spécifications, zonings, maquettes… Et a décrire pour chaque story les critères d’acceptation. Ces critères d’acceptation sont disponibles pour l’équipe, soit dans le ticket redmine attaché à la story, soit affichés avec la story sur le tableau de post-it.

Fixer les priorités

Cela consiste à donner une valeur métier à chaque US (user story). Cette valeur métier sera utilisée lors de la planification du sprint suivant. Les priorités doivent être ajustées en permanence.

Accepter ou rejeter les résultats lors de la démo

Nous faisons des mini  démo tous les jours afin de donner du feedback régulièrement sur les tâches en cours, mais pour cela il faut être très disponible pour l’équipe. Par ailleurs, c’est lors de la démo que l’on vérifie que les user stories correspondent bien aux critères d’acceptation.