Méthodes Agiles, pourquoi les adopter ?
De nos jours, il n’y a pas un projet digital ou une réunion de professionnels du web sans que nous parlions des méthodes agiles. Mais que savez-vous de l’Agilité et pourquoi l’adopter ?

Explication brève de l'Agilité
C’est une approche basée sur l’acceptation et l’adaptation aux changements en cycles courts et itératifs, tout en satisfaisant ses clients et ses employés
L’agilité est avant tout une manière de penser les choses. Certains parlent même de philosophie agile, de culture Agile d’approche agile, de mouvement agile, de courant agile, ou encore d’état d’esprit agile… Ce n’est parfois que du bon sens, de la logique, mais la mise en pratique n’est pas toujours aussi évidente.
Mais comment est née l’Agilité ?
Historique des méthodes agiles
L’approche Agile n’est pas un effet de mode né de la dernière pluie. La première approche de gestion de projet de développement itératif date de 1986. La première mise en œuvre de la méthode Scrum (la méthode Agile la plus utilisée, documentée et éprouvée aujourd’hui) date de 1993.
En 2001, 17 figures éminentes du développement logiciel se sont rassemblées pour débattre du thème unificateur de leurs méthodes respectives. De cet événement est né le Manifeste Agile rassemblant à la lueur des expériences de chacun les critères pour définir une nouvelle façon de développer des logiciels.
Mais que contient le Manifeste Agile ?
Quatre valeurs dans la méthode (et douze principes)
Les individus et leurs interactions plus que les processus et les outils
Des logiciels opérationnels plus qu’une documentation exhaustive
La collaboration avec les clients plus que la négociation contractuelle
L’adaptation au changement plus que le suivi d’un plan
Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.
Mais concrètement, comment cela fonctionne ?

Le fonctionnement des méthodes agiles
Les méthodes classiques
Elles partent du principe de spécifier et planifier dans les détails un produit avant de le développer.
Cela revient à planifier un trajet « Nantes – Paris » en voiture par les petites routes. Spécifiant chaque villes et villages traversés, l’heure de passage associée, chaque rue empruntée dans les agglomérations, litres d’essence consommés, kilomètres parcourus, etc.
Les imprévus ne manqueront pas d’arriver : embouteillages, déviations, travaux, sens de circulation inversés, voire la panne, etc. Rendant votre planification et vos spécifications très vite obsolètes.
Les méthodes agiles
L’idée consiste à se fixer un premier objectif à courts termes (une grande ville par exemple) et se lancer sur la route sans tarder. Une fois ce premier objectif atteint, on marque une courte pause et on adapte son itinéraire en fonction de la situation du moment. Et ainsi de suite jusqu’à atteindre la destination finale.
On parle donc d’une approche empirique. Dans le cadre d’un projet de développement logiciel, la vision du produit à réaliser est élaborée ainsi qu’une liste des fonctionnalités ou des exigences. Cette liste est soumise à l’équipe de développement qui estime la quantité de travail et les techniques à utiliser. Elle sélectionne ensuite une portion des exigences à réaliser dans une portion de temps courte appelée itération. A la fin de chacune de ces itérations, le produit partiel mais utilisable est montré au client. Ce dernier peut alors se rendre compte par lui-même très tôt du travail réalisé, de l’alignement sur le besoin.
Aujourd’hui ces méthodes ont fait leurs preuves. Tout le monde (dans le monde de l’informatique) ou presque a au moins entendu parler d’une méthode Agile (eXtrême Programming, Scrum, Feature Driven Development, Lean Software Development, Agile Unified Process, Crystal, Dynamic Systems Development Method) et ce n’est pas prêt de s’arrêter…