Le regard que porte un chef de projet sur les principes du manifeste agile

Peut-on parler de l’agilité au sein d’une société de service?

L’agilité ne manque pas d’adeptes et prêcheurs. Il ne s’agit donc pas d’un Nième article pour parler de ses vertus et avantages mais de l’aborder dans une optique d’une société de service ayant des contraintes et objectifs différents de ceux d’une marque ou entreprise et surtout avec un retour sur le manifeste agile et ses 12 principes; une relecture faite par notre chef de projet agile Bilel Ben Hassine.

Retour sur les principes

 

P1 : Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.

Quel que soit la méthode ou le contexte, la satisfaction client est l’objectif suprême pour lequel on ne fera pas de compromis.

P2 : Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.

Il faut savoir qu’en méthode agile on ne fixe pas le détail des fonctionnalités. Cela se fait au fur et à mesure. Donc au cours du cycle agile, le client peut changer et ajouter des fonctionnalités ; c’est l’essence même de l’agilité, mais tout cela a un coût et le budget fixé en amont peut facilement être largement dépassé.
A Proxym, nous creusons le besoin dès le début et nous essayons d’être le plus précis possible, puis nous validons les fonctionnalités, définissons les sprints et ouvrons le backlog au client. Dans ce cas-là le client est conscient que toute demande en dehors de la “spec” initiale sera sujette à une tarification supplémentaire et nous saurons le recadrer et l’alerter quand cela commence à affecter l’avancement du projet.

P3 : Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.

Pour rester dans l’esprit agile, la livraison doit se faire entre 2 et 4 semaines selon la taille du projet. Par exemple pour un projet de 6 mois, nous aurons un sprint de 3 semaines.
Le client pourra suivre l’avancement en même temps contrairement au “mode tunnel” où le client ne saura pas ce qui a été accompli qu’à la fin du projet là où il peut y avoir de belles comme de mauvaises surprises. Le mode agile permet au client de corriger les éventuelles erreurs à un stade précoce et ajuster dès le début. Ce suivi permet également de faire jaillir en surface des besoins non spécifiés.

P4 : Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.

Il faut certes travailler en étroite collaboration avec toutes les parties prenantes, mais en tant que chef de projet et dans le cadre d’une société de service, j’ai besoin d’avoir un seul interlocuteur ayant et l’autorité et le savoir nécessaires et qui est capable de trancher et de faire tous les choix stratégiques tout au long du projet.
C’est pour cette raison que nous procédons au début de chaque projet à une analyse des steakholders afin de déterminer les preneurs de décision à qui incombent toutes ces responsabilités. Cela permet de gagner un temps considérable et de garder une certaine cohérence dans les lignes directrices du projet.

P5 : Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.

La motivation est l’un parmi les nombreux avantages que présente l’agilité. En tant que chef de projet ayant travaillé avec plusieurs méthodes, c’est dans le cadre de la méthode agile que j’ai constaté les meilleurs taux de motivation chez les développeurs.
La source de cette motivation provient du fait que “les dév” prennent part de toutes les décisions. Ils veilleront donc à montrer que leurs choix étaient les bons et ils assument toutes les responsabilités pour relever les défis inhérents au projet.
D’ailleurs les développeurs eux mêmes l’ont reconnu; Ils se sentent beaucoup plus engagés et impliqués en mode agile.

P6 : La méthode la plus simple et la plus efficace pour transmettre de l’information à l’équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.

Lorsqu’on assigne à un développeur une tâche estimée à 2 ou 3 jours, il peut facilement aller dans une mauvaise direction et on ne s’en rendra compte qu’à la fin. Et parfois c’est difficile à corriger car il faut revoir toute une séquence de travail basée sur cette tâche.
Avec les « daily stand up meetings » il peut s’en rendre compte et corriger les éventuelles erreurs. En écoutant tout simplement ses collègues parler de certains points ou difficultés, cela peut lui ouvrir les yeux sur des points qui auraient pu lui échapper. La communication orale est irremplaçable. Même si l’on s’attarde à la description de la tâche, cela peut toujours partir dans tous les sens et rien ne vaut les 5 ou 10 minutes de conversation informelle pour balayer toutes les confusions.

P7 : Un logiciel opérationnel est la principale mesure d’avancement.

La notion de sprint et de livraisons cycliques avec des tests qui se font au fur et à mesure, permet d’avoir un état de lieux actualisé de l’avancement contrairement au mode tunnel.
Encore une fois il s’agit de transparence mais cette fois-ci en interne.

P8 : Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.

Toutes les équipes doivent collaborer pour délivrer la meilleure qualité quel que soit le prix. Cela semble un peu utopique, mais on peut y arriver même dans une logique de projet. Je crois qu’on peut tout résoudre avec le dialogue et la transparence. A Proxym respecter les engagements envers les clients est de l’ordre du sacré. C’est pour cette raison que nous avons pour devise : « Promise only what you can deliver » et cela passe par développer une relation solide avec le client qu’il faut éduquer, conseiller et accompagner.

P9 : Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.

Le mode agile nécessite plus de ressources et plus de temps. Il s’agit d’une méthode dynamique qui vise les meilleurs résultats. J’ai parlé du fait qu’il faut s’attarder au début lors de la phase de la préparation des sprints afin de garantir un rendu de qualité à la fin. Nous portons donc une attention particulière aux choix techniques, à l’architecture et au design avec une vision holistique afin qu’aucune composante du projet ne ralentisse son avancement. c’est en méthode agile que nous testons généralement de nouvelles pistes, des nouveautés et tendances car nous sommes capables de constater les résultats immédiatement et de changer d’approche si jamais les tests s’avèrent non concluants.

P10: La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.

En recevant les specs du client-le cas échéant- nous essayons d’y apporter un regard critique dans une tentative de l’alléger au maximum sans perdre de la valeur. Dans le cas où nous devons créer les specs, nous essayons également dans la même logique de filtrer en terme de pertinence et de cohérence avec le projet dans sa globalité : aller à l’essentiel et ne pas hésiter à dire non aux idées non indispensables ou aux fonctionnalités accessoires du moins au début.

P11: Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.

En mode agile les développeurs sont impliqués dans toutes les phases du projet ; ils rédigent les specs, définissent les sprints, se distribuent les tâches, mettent les deadlines et peuvent même parler au client. A un moment donné on se demande ce que fait le chef de projet de ses journées.
En effet, comme l’équipe est autonome et auto-organisée le chef de projet joue le rôle d’un facilitateur et médiateur entre tous les intervenants. L’organisation du projet agile demande plus de temps en terme de suivi journalier, objectifs par semaine, objectifs par sprint , etc. 70% du temps est destiné à la communication.

P12: À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Au début du projet ce type d’évaluation se fait à intervalles rapprochés puis on a tendance à les éloigner quand tout le monde s’imprègne du projet et devienne autonome.
Le premier sprint est généralement synonyme de chaos. C’est à partir du troisième sprint que les choses commencent à se mettre dans l’ordre. Il s’agit de l’un des rares inconvénients de la méthode, car en mode tunnel, les développeurs sont opérationnels dès le premier jour.

 

Méthode agile vs Méthode tunnel: que retenir?

Méthode Agile Méthode Tunnel
+ Développeurs motivés et très engagés + Gestion plus facile
+ participation à toutes les étapes de création, Appropriation du produit + développeurs opérationnels dès le premier jour
+ Meilleure qualité + compatible avec les projets communs et qui n’ont pas une grande envergure
– Demande plus de temps et de ressources – Pas de solidarité entre les développeurs
– Demande plus d’organisation et de gestion : des tâches très chronophages –  Le risque à la fin du projet est plus élevé
– Méthode pour clients matures –  Pas d’engagement de la part des développeurs, pas de notion d’équipe et travail en silos.