Développement mobile Développement web

Les méthodes agiles de développement

17 mars 2021

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 oeuvre 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

👉 les logiciels fonctionnels plutôt qu’une documentation exhaustive

👉 la collaboration avec les clients plutôt que la négociation contractuelle

👉 l’adaptation au changement plutôt que l’exécution d’un planDéveloppement web agile

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 cela fonctionne 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é. Planification de tâches

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

Il existe aujourd’hui beaucoup de méthodes agiles : 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.

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.

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.

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é. Équipe discutant d'un projet Kanban

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 !

Votre équipe de choc

Nos experts vous accompagnent tout au long de votre transformation digitale. Boostez vos ventes, optimisez votre gestion, recevez des insights précis.

Prendre rendez-vous avec un expert