Cette question simple mérite d’être posée car nous entendons parler de l’Agilité partout sans prendre le temps de l’expliciter.
En regardant l’article de la méthode Agile sur Wikipedia, nous lisons ceci :
En ingénierie logicielle, les pratiques agiles mettent en avant la collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients.
L’Agilité est donc un mode d’organisation et de gestion de projet qui vise la collaboration des équipes et de leurs clients.
En poursuivant l’article nous abordons une définition plus précise de l’Agilité :
Les pratiques Agiles s’appuient sur l’utilisation d’un cadre méthodologique léger mais suffisant centré sur l’humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement.
A partir de cette définition apparaît des concepts : « cadre méthodologique léger », « centré sur l’humain et la communication ». Nous y lisons également des pratiques comme la planification adaptative, le développement évolutif, ou encore la livraison précoce. De tout cela il semble se dessiner ce que nous appelons les Valeurs et les Principes Agiles issus du Manifeste Agile créé en 2001.
Les Valeurs Agiles sont au nombre de 4 :
Pour les Principes Agiles, c’est une liste de 12 éléments que nous pouvons résumer comme ci-dessous :
Pour lire ces principes avec exactitude, voici un lien vers la page des principes du Manifeste Agile.
Tout cela semble idéal et ne décrit que de manière abstraite l’organisation et la gestion des équipes.
Cela est normal. L’explication vient du fait que l’Agilité n’a pas été inventée en première instance. Elle est le fruit d’une réunification des techniques de gestion de projet et d’équipes qui existaient avant elle.
Voyons les principales techniques qui sont nées avant l’Agilité, qui ont inspiré et qui éclairent les pratiques Agiles.
Dans les années 1920, les entreprises s’intéressent à la gestion de Qualité qui recouvre 2 définitions :
La gestion de la qualité se fait donc à 2 niveaux :
Ce cycle PDCA est la fameuse Roue de Deming, dont voici une définition :
Roue de Deming : https://fr.wikipedia.org/wiki/Roue_de_Deming
L’Agilité puise de cette roue de Deming plusieurs notions :
Le cycle « Plan, Do, Check, Act » est né dans l’industrie (dans les années 20 les projets informatiques n’existent pas). Intéressons nous maintenant aux évolutions liées à la gestion des projets informatiques.
De manière générale un projet informatique repose sur un cycle en 3 étapes :
Une approche intuitive peut être mise en place en considérant que ces étapes se suivent sans revenir en arrière :
Ce mode opératoire séquentiel et linéaire est à la base des modèles de gestion de projets informatiques qui prévalaient jusqu’aux années 2000. On appelle ces modèles cycle en V ou cycle en Cascade dont voici des représentations :
Cycle en V – https://fr.wikipedia.org/wiki/Cycle_en_V
Cycle en Cascade – https://fr.wikipedia.org/wiki/Mod%C3%A8le_en_cascade
Ces modèles ont pour conséquence de nombreux problèmes :
Ces problèmes occasionnent un taux d’échec des projets très élevé. En 2015, une étude du Standish Group fait référence pour analyser les caractéristiques des projets informatiques de manière mondiale. C’est le Rapport Chaos dont voici un chiffre éclairant :
29% des projets basés sur un cycle en Cascade sont des échecs.
Bien avant le Rapport Chaos du Standish Group, des ingénieurs s’intéressent à la gestion des risques sur les projets informatiques. En 1988, Barry Boehm tente de répondre aux problèmes identifiés sur le cycle en Cascade en proposant une approche évolutive : le modèle en Spirale.
Cette approche est réalisée de manière itérative en 4 étapes :
Modèle en Spirale – https://fr.wikipedia.org/wiki/Mod%C3%A8le_en_spirale
L’Agilité s’est inspirée de ce modèle en reprenant les pratiques suivantes :
Ces pratiques correspondent à un cadre de travail dont le but est une meilleure gestion des projets informatiques. Citons à nouveau le Rapport Chaos pour montrer le taux de réussite des projets Agiles en regard des projets en Cascade (Waterfall en Anglais) :
https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf
Le modèle en Spirale représente donc une avancée dans la gestion des risques liés aux projets informatiques. L’Agilité s’est inspirée de ce modèle ce qui a augmenté le taux de succès des projets gérés en Agile. Dans la partie suivante, nous aborderons une autre inspiration de l’Agilité qui a permis de réduire les risques des projets : le Lean Thinking.
Dans les années 1950, W. Edwards Deming (l’inventeur proclamé de la « Roue de Deming ») est au Japon pour enseigner et former à ses techniques de management.
Il développe de nouveaux concepts qui reposent sur ses découvertes issues de la gestion de la qualité.
Son objectif est de transformer le management par l’introduction d’une philosophie moderne du management :
La liste des 14 points de Deming offre une compréhension des principes que souhaitait développer Deming.
De nombreux dirigeants d’industries japonaises s’inspirent des préceptes mis en avant par Deming. Cette influence est visible dans la création au Japon en 1950 d’un prix Deming pour récompenser l’innovation managériale des entreprises.
Une des premières entreprises à gagner ce prix est le constructeur automobile japonais Toyota avec son système de production intégré : le Toyota Production System (TPS).
En 1990, James Womack et Daniel Jones invente le terme « Lean » en étudiant les caractéristiques du modèle de production en place chez Toyota – Toyota Production System (TPS).
Le modèle TPS est très fortement inspiré des enseignements au Japon de Deming et c’est le premier modèle Lean.
Son but est la simplicité ou la réduction du « gaspillage » dont la mise en œuvre nécessite de nouveaux concepts :
L’Agilité reprends toutes ces pratiques pour les mettre en application au sein des projets informatiques notamment la méthode Kanban qui est très utilisée par les équipes supports.
L’Agilité va aussi puiser dans le Lean une nouvelle méthode de management des équipes. En Agilité, nous allons insister sur la coopération et l’auto-organisation des équipes.
Les membres de l’entreprise vont être considérés comme le moteur de l’innovation et de la performance. Et les managers vont évoluer en leaders bienveillants sachant guider les personnes et libérer leur motivation intrinsèque.
De manière générale, nous pouvons dire que l’Agilité s’inspire du changement de philosophie que représente le « Lean ».
Maintenant que nous avons évoqué la philosophie de l’Agilité, passons à son côté plus technique. Evoquons son inspiration dans le domaine de l’excellence technique et des bonnes pratiques de développement.
Dans les années 90, une approche de développement logiciel fait son apparition en mettant l’accent sur la qualité du code et les bonnes pratiques de développement.
C’est le Software Craftmanship.
Avec ce mouvement, les développeurs sont considérés comme des artisans qui implémentent le code avec passion et recherchent le travail bien fait.
En 2008, les principes de ce mouvement sont explicités dans le manifeste pour l’artisanat logiciel qui évoque et répond au manifeste Agile :
On recherche avec ce manifeste à soutenir l’excellence technique au sein des projets informatiques
Un logiciel fonctionnel n’est pas suffisant, il faut qu’il soit bien conçu.
En parallèle, toujours dans les années 90, apparaît la méthode eXtreme Programming (XP) que l’on appellera Agile par la suite (il faut rappeler que le manifeste Agile est créé en 2001).
Cette méthode vise à définir les bonnes pratiques de réalisation d’une application.
Le but est de mettre en place une discipline de développement pour produire les applications de qualité.
Les techniques qui sous-tendent l’eXtreme Programming sont les suivantes :
Toutes ces pratiques correspondent aux bonnes pratiques qui sont encouragées pour le développement d’application. L’Agilité n’a donc pas inventé ces bonne pratiques mais puise dedans pour favoriser l’excellence technique.
L’Agilité n’est pas une nouveauté puisqu’elle ne marque pas une rupture. Elle s’inspire de toutes les avancées qui sont apparues avant elle dans la gestion de projet.
En effet, l’Agilité a puisé dans la roue de Deming, la pratique de l’amélioration continue. Elle a puisé dans le modèle en Spirale, les cycles itératifs. Dans le Lean, l’autonomie des équipes et la valeur pour le client. Dans le Software Craftmanship, l’excellence technique et les bonnes pratiques de développement.
Ce que l’Agilité a apporté est une réunification de ces pratiques sous un terme commun. Cette simple opération qui semble anodine est en fait capitale. Elle a conduit à la définition de Valeurs et de Principes qui guident les entreprises vers la performance et l’innovation.
Les difficultés rencontrées dans la mise en oeuvre de l’Agilité ne viennent pas de la nouveauté des pratiques. Elles sont le résultat de l’ambition de l’Agilité qui est de transformer les projets informatiques. Les besoins en Coachs Agiles qualifiés et pédagogues devraient donc devenir de plus en plus indispensables dans le monde Agile qui s’ouvre devant nous.