Méthodes de développement informatique
Il n’existe pas qu’une seule méthode agile. Cependant, ces méthodes de gestion de projets suivent toutes une certaine philosophie.
Les méthodes agiles sont des méthodes d’organisation et de mise en oeuvre de projets de développement, orientées vers le développement logiciel. Rédigé en 2001, l’Agile Manifesto (Manifeste Agile, version française officielle) est basé sur 4 valeurs fondatrices, qui visent à favoriser :
- Les individus et leurs interactions plus que les processus et les outils.
- Du logiciel qui fonctionne 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.
Le résumé des 12 principes
Si on en croit les 12 principes fondateurs du manifeste agile, une méthode agile est un développement adaptatif et souple. C’est un style de conduite de projet itératif incrémental, progressif.
Elle est avant tout centrée sur l’autonomie et la responsabilisation continue des ressources humaines impliquées dans la spécification, la production et la validation d’une application.
Ainsi, la solution intégrée et testée en continu génère une motivation plus grande Elle permet ainsi de fédérer une équipe sur des résultats concrets.
Favorisée par des méthodes de développement orientées objets, l’agilité évite la présence d’un cahier des charges strict. La réflexion lourde, imprécise produisant un résultat figé devient inutile. L’agilité tient ses promesses lorsque l’on part d’une page blanche, avec simplement une idée vague, pour aboutir à une solution utile, utilisable et utilisée.
N’oublions pas que plus d’un projet informatique sur deux n’aboutit pas tel qu’il était prévu au départ !…
Dans la pratique et selon mon propre avis, la méthode agile s’applique à une équipe projet de “petite” taille, i.e. moins de 10 personnes (7 étant à mon sens l’idéal).
Scrum, une méthode agile
En mettant en place les méthodes agiles et notamment Scrum dans ces développements, une organisation peut définir, conjointement avec ses équipes en charge du projet, les fonctionnalités prioritaires à mettre en place dans l’application.
Scrum supposant un développement itératif de la solution, cette méthode confère davantage de flexibilité face aux évolutions fonctionnelles. Sur mesure et développée en mode agile, l’application est, alors, totalement adaptée au contexte métier.