lundi 26 octobre 2015

Pré-requis et accompagnement nécessaire à une transformation agile : REX





La transformation agile de projets SI existants est un enjeu majeur pour beaucoup des organisations avec lesquelles nous travaillons au quotidien, je me propose ici de vous faire part d’un retour d’expérience sur les pré-requis mais aussi l’accompagnement nécessaire à une transition d’une organisation « cycle en V » vers une organisation SCRUM. Ce  retour d’expérience est issu de 3 ans passés sur un projet d’environ 150 personnes coté ERDF en pleine réorganisation. Pour illustrer, je me suis appuyé sur quelques principes fondamentaux du manifeste agile


 « Les individus et les interactions plutôt que les processus et les outils ».

Les interactions entre les individus sont au centre de l’organisation agile SCRUM. On cherche notamment à supprimer les guichets que l’on peut trouver dans l’organisation cycle en V (Une équipe MOA qui livre des SFG à une équipe MOE fonctionnelle, qui livre des SFD à une équipe de DEV, qui elle-même livre des développements à une équipe de recette unitaire puis à une équipe de recette intégrée …). Dans une organisation SCRUM, la communication et l’échange entre le PO, la team et le ScrumMaster est mis en avant et la documentation est secondaire. Il faut donc éviter certaines organisations entravant ces échanges, comme par exemple une team délocalisée de son PO. 


 Le commanditaire (à comprendre le responsable du projet/client ayant fait la commande de cette transformation …) doit s’engager et porter la transition, il doit comprendre les changements nécessaires (que nous aborderons un peu plus bas) mais aussi s’assurer que l’ensemble des interlocuteurs sous sa direction en fasse autant. Il doit être porteur de cette transition au sein de son organisation. Il doit accepter les compromis et les changements nécessaires aussi bien qu’il en accepte les avantages. Ce travail doit être mené en amont de la transition par les porteurs de cette réorganisation (voir coach agile plus bas). Si le commanditaire lui-même n’est pas convaincu, la transformation a toutes les chances de ne pas réussir.

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

La situation contractuelle entre les différentes parties doit être claire et doit correspondre aux enjeux de la méthode. Il est difficile de faire adopter une méthodologie Agile à un intégrateur en mode forfait qui est objectivé financièrement sur des jalons à respecter avec une quantité de périmètre fonctionnel bien défini. Accepter et faire accepter de piloter par les délais et de considérer le périmètre comme la principale variable d’ajustement est essentiel. Petit rappel : le BackLog des fonctionnalités désirées est priorisé strictement. A travers la vélocité (capacité à développer) de la Team, on sait prévoir ce qui pourra ou non être déployé à une date précise. Si on veut d’avantage de fonctionnalités, il faut alors d’avantage de sprint pour permettre à la Team de les développer, la date de la release doit être revue en conséquence. Et si la date de release est fixe, alors on accepte de ne déployer uniquement les fonctionnalités validées à cette date.

Une équipe SCRUM est stable, autonome, responsable, volontaire et expérimentée. L’équipe s’engage sur le périmètre embarqué à chaque SPRINT selon sa capacité. Elle doit rendre compte au PO (Product Owner) de chaque US (User Story) non terminée.  Elle est en charge de l’intégration continue des développements,  de la mise en place de l’ingénierie nécessaire, de la gestion des environnements, des bonnes pratiques (Revue de code, ATDD …)

Un exemple de composition d’équipe SCRUM équilibrée est :
-          1/3 de profil junior
-          1/3 de profil sénior
-          1/3 de profil expert
Attention donc aux équipes trop junior.

N’oublions pas : « Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité. »

La première raison de l’échec de la transformation Agile d’un projet est le manque d’expérience dans l’application du Framework Agile.

La solution ? Se faire accompagner!

Lancer une réorganisation de projet sans se faire accompagner par quelqu'un d’aguerri s’ayant déjà frotté aux difficultés de ce genre de transition et sachant comment y répondre, c’est comme faire une partie de tennis sans raquette, c’est forcément plus compliqué...
C’est là qu’intervient le coach agile, sorte d’expert / médiateur / psychologue / gourou de l’agilité, il est présent pour accompagner les différentes parties, faire accepter et faire respecter les principes agiles.  Le coach agile est un vétéran de l’agilité, souvent externe à l’organisation et missionné pour aider les équipes à assimiler la méthode et rappeler à chacune des parties leurs droits et devoirs. Attention à ne pas se méprendre sur son rôle, ce n’est pas un magicien. Sans base solide (team volontaire, PO motivé, commanditaire engagé …), le meilleur des coachs agiles ne pourra rien faire.

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

Transformer l’organisation d’un projet aussi radicalement que le passage de cycle en V en SCRUM (ou toutes autres méthodes Agiles) demande un accompagnement des personnes concernées, certains vont voir leurs rôles changer, d’autres vont comprendre que leur activité au quotidien va totalement disparaitre. 

Prenons l’exemple du middle-management (chef de projet, responsable d’équipe …).Une équipe SCRUM est autonome, responsable et s’autogère. La gestion des priorités du produit est donnée au Product Owner. L’organisation des cérémonies et le support quotidien à la TEAM est la mission du ScrumMaster. Comment donc repositionner un responsable d’équipe dans le cadre d’une organisation SCRUM?

Peut-être est il intéressant de lui donner le rôle de PO, mais attention dès lors à ce qu’il ne s’immisce pas dans la gestion de la Team. Le faire intégrer la TEAM ? Est-ce vraiment bon pour  son autonomie ?  Il n’y a pas de réponse toute faite à ces problématiques,  la solution dépend  des personnes, du contexte, des enjeux…

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

Le cycle en V repose sur la croyance que l’on peut spécifier intégralement un logiciel à l’avance. La somme de documentations nécessaires peut vite se révéler astronomique. L’agilité prône une réduction drastique de cette quantité de documents au profit de livraisons fréquentes et peu espacées dans le temps (« SPRINT »), permettant ainsi de répondre rapidement à de nouveaux besoins. Si il y a un forte baisse des livrables nécessaires à la réalisation d’un logiciel, en plus de l’accompagnement nécessaire à le faire accepter, il faudra peut-être réfléchir à diminuer le nombre de personne dont c’était l’activité. Les aspects RH de ce genre de décision peut facilement nuire à l’engagement des collaborateurs concernés. Il convient donc de préparer et d’accompagner cette transition.


La méthode SCRUM a de nombreux avantages, mais nécessite une préparation et un accompagnement quotidien, c’est d’autant plus vrai sur les projets  de transformation d’organisation existante vers l’agile (il est toujours plus facile de créer une organisation à la cible que d’en faire transiter une existante). Ces efforts ne doivent pas être pris à la légère sous peine de retarder le retour sur investissement, voir d’échec complet. Rappelons-nous certaines valeurs SCRUM : humilité, transparence, confiance et courage.