Dans le monde du développement logiciel, parler de méthodes agiles, et surtout de leur application dans un cadre opérationnel et professionnel, est presque une évidence. Et pourtant, cela n’a pas toujours été le cas. Il y a une dizaine d’années, les méthodes dites « classiques » étaient encore bien ancrées dans les formations universitaires et les pratiques professionnelles.
Loin de l’innovation qu’a pu apporter l’agilité par la suite, elle était au début des années 2000 considérée comme expérimentale et peu encline à apporter de réelles solutions aux problématiques d’organisation projet.
Aujourd’hui, l’apport du concept d’agilité est indéniable et favorise grandement la réussite des projets en reposant sur un principe fondamental : une philosophie orientée communication.
2001- Le manifeste agile
Après une phase de diversification des méthodes, des travaux communs entre certains des grands acteurs du domaine sont mis en place L’obiectif est d’aboutir à une cohérence sur le concept et les objectifs des méthodes agiles.
C’est ainsi qu’est publié en 2001 l’Agile Manifesto, ou « Manifeste pour le développement agıle de logiciels », considéré comme le document de référence sur les méthodes agiles. Il décrit de manière très formelle les grands principes du développement agile.
Les 17 signataires de ce manifeste sont pour la plupart des personnalités importantes du monde de l’informatique et des méthodes de gestion/organisation de projets. Parmi eux, Alistair Cockburn (initiateur de la méthode Crystal), Ward Cunningham (inventeur du concept de Wiki) ou encore Kent Beck (créateur d’eXtreme Programming ou XP).
Bien entendu, Scrum est également représenté par ses deux créateurs, Ken Schwaber et Jeff Sutherland, qui font partie des signataires à l’origine du manifeste.
2016 – Le futur de l’agilité
L’histoire des méthodes agiles ne s’arrête pas en 2001 avec la ratification du Manifeste agile. Il est logique (et indispensable) de voir émerger des adaptations, ajustements et évolutions de ces méthodes. Même si le manifeste original n’a pas subi la moindre modification, il est intéressant de noter deux choses sur les méthodes qui en découlent.
Premièrement, même si le noyau historique des méthodes agiles reste largement utilisé (Scrum et XP en particulier), on note tout de même l’apparition de nouveaux modèles organisationnels : c’est notamment le cas du cadre organisationnel DAD (Disciplined Agile Delivery) mis en place par IBM à partir de 2006. Par ailleurs, de nouvelles méthodes sont couramment mises en place dans un grand nombre de structures.
Deuxièmement, on note la montée en puissance de la mouvance DevOps au cours des cinq dernières années. Elle tend à améliorer l’intégration de l’ensemble des équipes techniques et de leur savoir-faire sur les projets. Même si ce mouvement date de 2009, il prend aujourd’hui une importance non négligeable.
Les quatre préceptes
Le Manifeste agile oriente la gestion de projet autour de quatre préceptes simples. Chose intéressante à noter, ces préceptes ne sont en aucun cas directifs. Ils sont présentés sous forme de conseils, sans jamais remettre en cause ce qui est fait usuellement.
1- Les individus et leurs interactions, plus que les processus et les outils
Il s’agit ici de mettre la communication et l’humain au centre de la démarche. La création
d’un logiciel n’est pas à la charge d’équipes cloisonnées par des expertises, elle se nourrit des
échanges constructifs entre tous les acteurs du projet.
2- Des logiciels opérationnels, plus qu’une documentation exhaustive
Il s’agit de focaliser la plus grande partie du temps sur la production et l’outil. Attention, il
n’est pas question de remettre en cause la documentation et son utilité, juste de la rendre plus rationnelle, plus légère, moins chronophage et plus simple à faire évoluer.
3- La collaboration avec les clients, plus que la négociation contractuelle
L’implication du client est un prérequis fort qui assure la réussite du projet. En effet, le client
fait partie de l’organisation de manière active et il est impliqué dans toutes les phases de création de son produit. La relation contractuelle ne doit pas être remise en cause mais simplement adaptée à ce dispositif : redistribution des responsabilités, nécessité d’investissement du client, mode d’intégration du client à l’équipe, etc.
4 – L’adaptation au changement, plus que le suivi d’un plan
C’est dans l’adaptation d’un logiciel au fil de l’eau que l’agilité prend tout son sens. Cependant, il est important de comprendre que c’est également l’un des points les plus complexes.
Etre agile ne signific pas appliquer tous les changements sans discernement dès que le client
le souhaite. Le plan initial doit servir de ligne directrice. L’agilité permet de remettre le projet
dans l’axe au fur et à mesure des développements et d’être proactif sur les futurs besoins de
l’application.
… Déclinés en douze principes
Les quatre préceptes de base du Manifeste agile sont déclinés en douze grands principes qui apportent des précisions sur la manière de produire agile. Le tableau 1-1 reprend ces principes, auxquels nous avons ajouté ce qui, selon nous, est essentiel dans l’application de la démarche.
N° | Principe | A retenir |
---|---|---|
1 | Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. | Satisfaire l’utilisateur |
2 | 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. | Accepter le changement |
3 | Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus court. | Livrer fréquemment |
4 | Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. | Travailler en synergie |
5 | 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. | Stimuler la motivation |
6 | 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. | Communiquer en direct avec les opérationnels |
7 | Un logiciel opérationnel est la principale mesure d’avancement. | Un seul indicateur : les fonctionnalités implémentées |
8 | 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. | Bannir les rushs de production |
9 | Une attention continue à l’excellence technique et à une bonne conception renforce l’agilité. | Ne pas négliger la qualité de production |
10 | La simplicité c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle. | Rester concentré sur l’essentiel : mettre en place un produit |
11 | Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées. | Favoriser une certaine autonomie des équipes |
12 | A intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis régle et modifie son comportement en conséquence. | Intégrer la notion d’amélioration tout au long du projet |
Ref : Scrum de la théorie à la pratique