Histoire de la méthode agile et manifeste agile
Nous pouvons remonter aux bases de l’agilité jusque dans les années 80. La première méthode agile mise en œuvre est Scrum en 1993. Cependant ces travaux ont pris une mesure d’autant plus concrète lorsque septs professionnels du développement se sont réunis pour rédiger le manifeste agile en 2001. A cette occasion, le terme “agile” est né.
Le but était d’améliorer et d’unifier le développement de logiciels en se fondant sur de nouvelles valeurs. Ces méthodes sont devenues très populaires dans leur utilisation car elles se démarquent de la méthode traditionnelle, séquentielle et cloisonnée (aussi appelée méthode Waterfall ou cycle en V).
La méthode agile privilégie :
👉 les individus et leurs interactions plutôt que les processus et les outils
👉 la collaboration avec les clients plutôt que la négociation contractuelle
👉 les logiciels fonctionnels plutôt qu’une documentation exhaustive
👉 l’adaptation au changement plutôt que l’exécution d’un plan
Une méthode reposant sur douze principes fondamentaux
- “Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.”
- “Accueillez positivement les changements de besoins, même tard dans le projet.”
- “Livrez fréquemment un logiciel fonctionnel, dans des cycles de quelques semaines à quelques mois, avec une préférence pour les plus courts.”
- “Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. ”
- “Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont elles ont besoin et faites-leur confiance pour atteindre les objectifs fixés.”
- “Privilégiez la colocation de toutes les personnes travaillant ensemble et le dialogue en face à face comme méthode de communication.”
- “Un logiciel fonctionnel est la principale mesure de progression d’un projet.”
- “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.”
- “Une attention continue à l’excellence technique et à un bon design.”
- “La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.”
- ”Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.”
- “À intervalles réguliers, l’équipe réfléchit aux moyens possibles de devenir plus efficace. Puis elle s’adapte et modifie son fonctionnement en conséquence.”
Vous l’aurez compris, pour que les méthodes agiles de développement fonctionnent il faut une bonne communication entre le client et l’équipe de développeurs, les bons logiciels, une remise en question permanente et une ouverture aux changements.
Définition de la méthode agile
La méthode agile est avant tout une nouvelle approche dans la gestion de projet. C’est une approche collaborative du projet en prenant en compte les besoins du clients à tous les stades du développement du produit. Le mot “Agile” est à prendre au sens littéral. C’est une manière de travailler qui est agile, souple et qui place le client au coeur du projet.
La méthode agile se travaille grâce à ce qu’on appelle un processus itératif. Une itération est une portion de temps courte et le développement du produit, dans ce cas, se fait par itérations successives. Le itérations comportent des travaux de conception, des tests unitaires, des phases de développement et d’intégration, de la relecture et de l’amélioration des codes.
A la fin d’une itération, l’équipe de développement peut montrer un produit partiellement terminé au client pour qu’il ait l’occasion de changer d’avis sur certaines fonctionnalités, donner son avis en temps réel ou, s’il estime que le produit partiel est en état de fonctionner, il peut déjà le mettre en service. Le travail est donc de qualité puisque collaboratif et le client obtient exactement le produit qu’il a désiré.
En comparaison, avec la méthode traditionnelle, le client doit détailler à l’avance tout ce qu’il attend de son projet. Cela produit un effet tunnel où le client ne peut prendre connaissance de son produit qu’à la fin de la réalisation. Malheureusement, il ne correspond souvent jamais parfaitement à ses attentes ce qui complique la relation client qui peut devenir conflictuelle.
Explication des différentes méthodes agiles de développement
Il existe aujourd’hui beaucoup de méthodes agiles de développement : Scrum, Extreme Programming, Lean, Crystal Clear, Adaptative Project Framework, Kanban, Agile UX, et bien d’autres. Mêmes si toutes ses méthodes sont différentes, elles ont le même socle commun qu’est le manifeste agile.
Nous allons en détailler brièvement certaines de leurs différences :
La méthode agile la plus populaire est Scrum. Ses itérations sont courtes car elles peuvent ne durer que quelques heures (par rapport à des itérations moyennes de deux semaines pour d’autres méthodes). Chaque itération commence avec un objectif précis et termine avec une présentation de ce qui a été mis en place. Le client a hiérarchisé ses priorités au préalable et les équipes s’auto-organisent entre elles.
👉 Pour aller plus loin, nous vous conseillons notre article Les 9 points clés de la méthode agile Scrum.
Kanban repose sur quatre principes fondateurs qui se différencient légèrement de Scrum. Kanban impose de commencer par le rôle et le processus déjà en cours, d’accepter l’application des changements demandés, de respecter les processus et la hiérarchie et d’encourager le leadership.
👉 Nous vous recommandons l’article de Ionic sur la méthode Kanban pour aller plus loin
Pour des petits ou moyens projets, Extreme Programing est peut-être la méthode qu’il vous faut. Réactive, elle permet de limiter les coûts de changements. Le client choisit les fonctionnalités à intégrer dans chaque itération. Au niveau des équipes de développement, elles sont réparties en binômes et s’échangent les codes régulièrement.
👉 Nous vous conseillons le livre Extreme Programming Explained de Kent Beck expliquant en détail cette méthode de développement
Enfin, Rapid Application Development décompose son cycle de développement, qui dure de 90 à 120 jours, en cinq phases différentes : la préparation de l’organisation, le cadrage, le design, la construction, le contrôle qualité.
👉 Pour en savoir plus sur la méthode RAD, nous vous conseillons l’étude Chapter 1 : Introduction to Rapid Application Development du Dr Orawit Thinnukool
Avantages et inconvénients d’agile en entreprise
- Pour plus de clarté, voici les avantages et les inconvénients de l’approche agile.
Vous êtes maintenant suffisamment informés pour choisir si l’approche agile va correspondre à votre projet ou si vous allez lui préférer l’approche traditionnelle. Nous, on a déjà choisi !
La méthode agile scrum chez Hello Pomelo
Dans notre agence de développement, nous avons fait notre choix ! Ici nous privilégions les méthode agile de développement, notamment la méthode Scrum afin de vous fournir des projets sur-mesure. Nous souhaitons vous accompagner dans votre transformation digitale tout en vous écoutant et en nous adaptant à vos besoins.