L’agilité est souvent perçue comme une méthode de travail réservée à un certain type d’activité. Pourtant, elle est aussi utilisée dans le cadre de projets dits « non logiciels” !
Lorsqu’on parle d’agilité, on fait souvent référence aux méthodologies alternatives aux approches classiques dites « cycle en V”. Ces méthodes, parfois très institutionnalisées comme la méthode SCRUM, ont été majoritairement conçues dans le cadre de développement logiciel. L’agilité est donc souvent perçue comme une méthode de travail réservée à un certain type d’activité. Pourtant, elle est utilisée dans le cadre de projets dits « non logiciels” : conception de produits -simples ou complexes- , nouveaux modes d’organisations, changements de processus….
Les méthodes agiles ne sont donc pas réservées à un seul type de projet (logiciel), mais peuvent s’appliquer à tout type de situation. Voici quelques clés pour démarrer avec l’agilité :
Les principes agiles
L’agilité se fonde en premier lieu sur des 12 principes fondateurs issus du Manifeste Agile (2001)(1) initialement conçu dans le cadre de développement logiciel. Selon Joe Justice, Président de Scrum Inc, on pourrait remplacer la mention « logiciel » du manifeste par « valeur client visible » dans le Manifeste et donc les appliquer dans n’importe quel contexte. D’ailleurs, en 2005, l’Agile Leadership Network (2) a créé la Déclaration d’Indépendance en tant qu’extension du Manifeste Agile dans une optique de gestion de projet et non d’un développement logiciel. Les six concepts fondamentaux qui constituent cette déclaration sont la valeur, les individus, l’équipe, l’incertitude, le contexte et le client et sont donc réplicables à tout projet.
Des nombreuses méthodes agiles qui existent, on peut retenir des principes communs tels que :
- Un projet centré sur la valeur client
- Des itérations courtes mais nombreuses
- Une amélioration continue à chaque étape du projet
- Une adaptabilité à l’évolution du besoin
- Petites équipes à privilégier (6 à 8)
La méthode Scrum qui fait référence en matière d’agilité est constamment réadaptée au contexte d’une entreprise ou d’un projet. Les principes du sprint, de l’approche par la valeur client, ou des rétrospectives sont largement adoptés même si la méthode dans son intégralité n’est pas appliquée à la lettre.
Adaptation au contexte
Si l’agilité est applicable aux projets non logiciels, est-elle pertinente dans tout type de situation ? Pas forcément. Que ce soit pour un projet de développement logiciel ou non, le contexte et l’environnement de l’entreprise sont des critères décisifs pour choisir la méthodologie projet la plus adaptée. L’agilité ne s’applique pas à tout type de contexte. On retiendra que plus l’environnement est mouvant et incertain, plus il sera judicieux d’appliquer des méthodes agiles. En revanche, dans un contexte stable et connu, les méthodes traditionnelles sont pertinentes.
Dans tous les cas, l’application de méthodes agiles n’est pas possible sans une certaine maturité de l’entreprise sur le sujet. Est-elle prête à mettre en place l’organisation nécessaire au bon déroulement du projet (consacrer une équipe à temps plein, donner des rôles spécifiques) ? Est-elle capable de déléguer, de laisser la prise de décision aux niveaux les plus opérationnels ? En agilité, il faut apprendre à faire confiance et laisser une certaine liberté aux équipes dans leur manière de travailler. Notamment accepter que le développement du produit ne sera jamais parfait dès la première itération.
Autant que l’environnement, c’est la capacité de l’entreprise à se conformer aux principes agiles qui importe dans le recours aux méthodes agiles.
Cas de projets non logiciels
Si vous pensez toujours que l’agilité est réservée à du développement logiciel ou à des projets simples, voici quelques exemples qui tendent à démontrer le contraire.
Dans le secteur militaire notamment, les systèmes complexes sont connus pour leurs coûts de développement très élevés et leurs délais à rallonge. SAAB (3) a fait le pari d’utiliser la méthode SCRUM pour concevoir son nouveau modèle d’avion de chasse Gripen E. Résultats : une livraison beaucoup plus rapide, de meilleure qualité et au coût significativement réduit. Cela fut possible grâce à une organisation alignée à la structure et la modularité du produit. Chaque équipe avait un périmètre de responsabilité défini et une vision très claire et partagée de ce qu’on attendait d’elle. Tous les « streams » du projet étaient structurés de la même manière et avançaient au même rythme dans un plan directeur commun. Les équipes ont pu adapter les méthodes agiles à leur organisation et se sont concentrées sur la valeur client. Elles ont pu s’organiser en autonomie et ont réussi grâce à un système d’escalade et de prise de décision très souple et efficace.
Dans l’automobile, Wikispeed(4) s’est allié à Scrum Inc. pour concevoir une voiture urbaine opérationnelle dans le cadre d’une compétition organisée par Automotive X-Prize. Wikispeed a eu recours à l’Extreme Manufacturing pour concevoir le véhicule. Le prototype est sorti en seulement 3 mois. Il se sont appuyés sur 3 piliers pour accomplir leur projet : la méthode Scrum, les principes d’ingénierie issus de l’XP programming (travail en binôme) et l’architecture orientée objet (concevoir un modèle modulaire et aligner l’équipe projet sur la structure du produit). Le travail par pair a permis de définir une stratégie de test liée aux exigences qualité au sein même de la conception du produit pour construire une voiture fiable qui répond aux homologations de mise en circulation.
Ces deux exemples montrent que des réalisations sont possibles dans des domaines avec de fortes contraintes réglementaires comme l’aviation et l’automobile où aucune place ne peut être laissée au hasard (normes de sécurité, de qualité etc)
Mais comment coordonner des projets de telle envergure dans une démarche agile ? Depuis quelques années, de nombreuses méthodes agiles dites « à l’échelle » ont émergé, et permettent d’aligner de multiples équipes au sein d’un même projet sur une méthodologie agile commune. L’agilité ne se limite plus à une seule équipe projet réduite, mais peut être appliquée à tout niveau de l’organisation. Scale Agile Framework (SAFE ®) (5) par exemple propose un cadre pour gérer une organisation en mode agile. D’autres méthodologies permettent de coordonner plusieurs équipes en mode Scrum : Nexus, Large-Scale Scrum, Scaled Scrum with Scrum…
Bonnes pratiques
Maintenant que vous savez que l’agilité n’est pas exclusivement réservée à certaines activités (développement logiciel) mais à de nombreux types de projets, voici trois bonnes pratiques pour vous aider à démarrer un projet en mode agile :
- Une approche par la valeur et des livrables à la fin de chaque sprint afin de pouvoir très vite et régulièrement bénéficier d’un produit (ou partie du produit) opérationnel et donc d’un ROI rapide. Les sprints doivent donc être organisés de manière à livrer un maximum de valeur tout au long du projet. Le meilleur moyen de s’assurer que l’objectif est atteint est de diviser le projet en groupes gérables de tâches. Il faut ensuite définir les critères de succès, d’acceptation, et la do-to liste qui permet de clôturer une tâche. En divisant tous les objectifs du projet de telle sorte, il est plus facile de prioriser et de gérer les ressources du projet de manière plus efficace.
- Une équipe projet autonome et autogérée. Les équipes doivent être très libres dans leur manière de travailler ce qui leur permet de s’autoresponsabiliser. Cela se traduit notamment par l’adaptation des méthodologies agiles au contexte de l’entreprise pour garantir un fonctionnement efficace. Le pré-requis néanmoins est que les attentes soient très claires et partagées : tout le monde doit être aligné sur les objectifs, les attentes, le planning et l’avancement de chacun. La transparence est gage de succès.
- Une démarche d’amélioration continue maintenue tout au long du projet : Les feedbacks et retours d’expériences sont primordiaux tout au long du projet agile. Ils permettent de tirer parti de l’expérience des sprints précédents et d’améliorer les façons de faire. Il est très important ensuite de capitaliser sur les éléments qui ont bien marchés (modèles, templates) pour les reproduite à plus grande échelle. Cela permet de gagner en efficacité et en productivité au fil des sprints.
Conclusion
Si Saab a réussi à construire un avion de chasse en mode agile, pourquoi pas vous ? L’agilité n’est pas simplement qu’une méthode au champ d’action limité, mais regroupe un ensemble de principes qui peuvent être adaptés et appliqués à n’importe quel contexte. Chez Advents nous aidons nos clients à se familiariser avec les notions d’agilité et nous les accompagnons dans le déploiement de méthodes agiles appliquées à tout type de projet (logiciel ou non). N’hésitez-pas à nous contacter si vous souhaitez en savoir plus !
Références
- http://manifesteagile.fr/index.html
- http://www.agileleadershipnetwork.org/
- Owning the Sky with Agile, Building a jet Fighter Faster, Cheaper, Better with Scrum, White paper, Jörgen Furuhjelm, Johan Segertoft, Joe Justice, J.J. Sutherland
- http://wikispeed.org/extreme-manufacturing/
- https://www.scaledagileframework.com/