Les méthodes Agiles, une autre conduite des projets informatiques

Le développement agile a pour but de réduire le cycle de vie du logiciel. Il passe par un processus de travail itératif basé sur une écoute active du futur utilisateur du système.

La conduite"classique" des projets informatiques trouve ses limites lorsque l'environnement technologique n'est pas stable, ou bien lorsque la direction utilisatrice est dans l'incapacité de définir ses besoins de manière exhaustive dès le début du projet. Pour répondre à ces difficultés, d'autres voies ont été explorées. Et c'est en 2001 qu'un groupe de 17 personnalités de l'industrie logicielle a défini une nouvelle manière de conduire les projets.

La mise au point du manifeste "agiles" signe la naissance des méthodes agiles dans le développement d'une application informatique.

Les méthodes dites "Agiles" s'articulent autour de 4 grandes valeurs :

 Des individus et des interactions plutôt que des processus et des outils ;
 Des fonctionnalités opérationnelles plutôt que de la documentation exhaustive ;
 Une collaboration avec le client plutôt que des négociations contractuelles ;
 De l'ouverture aux changements plutôt que le suivi d'un plan rigide.

Ces méthodes visent à réduire le cycle de vie du logiciel en réalisant une version minimale, puis en intégrant les fonctionnalités par un processus itératif basé sur une écoute active du futur utilisateur du système. Les tests étant réalisés tout au long du développement, le produit ainsi délivré est de haute qualité et prend en compte les évolutions du besoin. Le client redevient pilote à part entière de son projet et obtient très vite une première version de son logiciel.

Différentes déclinaisons ont émergé : RAD (Rapid Application Development), DSDM (Dynamic System Development Method), XP (eXtrem Programming), SCRUM pour les plus connues. Mais elles ont tous en commun un ensemble de principes fondamentaux :

 Le processus est organisé en itérations courtes. Une itération embarque un ensemble de fonctionnalités opérationnelles ;
 Le processus est incrémental. Il prend en compte les évolutions au cours des itérations ;
 Une attention particulière est portée sur la qualité et les tests lors de chaque itération ;
 Une étroite collaboration s'installe entre les différents acteurs.

La mise en place d'une organisation Agiles s'accompagne aussi d'un ensemble d'indicateurs permettant de piloter le projet (avancement, coût, délais, performance...) et aussi de ne pas négliger la gestion des risques. Le fonctionnement de l'application ou le taux de couverture fonctionnelle est le premier indicateur d'avancement du projet.

Assurer un parfaite collaboration entre le front office et le back office en contrôlant au plus tôt les écarts

L'outillage (composants, patterns, framework et autres plates formes de développement et d'intégration continue...) généralement associé à une production de logiciel est un des moyens d'améliorer la collaboration et la capitalisation et de permettre à chaque membre de l'équipe d'être efficace sur le projet dès le début. La mise en oeuvre et la pratique de ces outils permet d'aller vite aux fonctionnalités essentielles, de partager et obtenir plus rapidement un retour.

Dans le cadre d'une production industrialisée, la capitalisation devient un incontournable permettant de progresser rapidement en termes de performance et de qualité de production en s'appuyant sur un socle de base solide et partagé.

Les organisations de type Front Office / Back Office (développement en Offshore) tireront aussi avantage de ces méthodes et organisations en assurant un parfaite collaboration entre le Front Office et le Back Office, en contrôlant au plus tôt les écarts par rapport au plan de marche (au moins à chaque itération et plus souvent encore) et surtout en ayant tous les moyens d'assurer la conformité du livrable aux exigences attendues.

Le combat des méthodes Agiles a été engagé il y a maintenant plus de vingt ans mais il reste toutefois beaucoup à faire pour tenir compte de la relation contractuelle et prendre en compte les ajustements nécessaires dans l'organisation des rôles et des ressources.

Au-delà de la méthode, il s'agit pour chaque organisation de personnaliser et d'instrumenter les pratiques essentielles sur un socle stable et évolutif et de rendre à la communication interpersonnelle sa place majeure au coeur du dispositif.

Thierry Leclere est directeur technique au sein du pôle NTIC, Centre de Services IDF GFI Informatique