Le choix des " méthodes agiles " pour la conduite de projets informatiques en entreprise
Par William Porret, fondateur et directeur associé de ENORA Consulting
08/01/10 - Programmez.com
Les chefs de projet d'ingénierie logicielle ont souvent cherché à concilier le besoin de définir le plus précisément
possible l'application à développer et l'évolution continue parfois contradictoire des besoins utilisateurs.
Les méthodes agiles sont des procédures de conception de logiciel qui se veulent plus pragmatiques que les méthodes
traditionnelles. En impliquant au maximum le demandeur (client), ces méthodes permettent une grande réactivité à ses
demandes, visent la satisfaction réelle du besoin du client, et non des termes du contrat de développement.
Les différentes méthodes de projet informatique :
- Le modèle en " cascade " : il présente un problème d'effet tunnel et de non prise en compte des évolutions
des utilisateurs pendant le développement.
- Le modèle en " V " : cette méthode plus souple reste la méthode la plus courante. Le haut du V correspond au
niveau fonctionnel et le bas au développement (technique). Dans un premier temps, il permet d'aller du fonctionnel
au technique. Dans un deuxième temps, il permet de remonter au fonctionnel pour compléter les développements.
La visibilité et la réactivité sont réduites à la taille d'un V qui peut quand même être de plusieurs mois.
Cette durée peut être considérée trop longue pour des décideurs ou des gestionnaires qui ont besoin de lancer des
projets rapidement (budgétairement). Elle fait appel aux utilisateurs uniquement au début et à la fin du cycle en V.
- Le modèle agile : les phases sont simplifiées afin d'en raccourcir la durée. Les méthodes agiles se basent sur
la notion de communauté de projet dans laquelle les développeurs et les utilisateurs sont présents en permanence
pour exprimer ou répondre à une question liée au projet.
Quels sont ses points forts de ces méthodes agiles ?
- Elles permettent la réduction au maximum des écarts entre le produit développé et les besoins métiers.
- Elles entrainent une réduction des coûts d'étude qui est réalisée conjointement avec les développements.
- Elles écartent la possibilité d'effet tunnel pour les utilisateurs et la direction qui sont impliqués dans
le projet.
- Elles font naître une grande souplesse et une réactivité pour les projets courts à forte valeur ajoutée.
Quelles sont les limites des méthodes agiles ?
- La disponibilité, qui s'avère plus difficile dans les équipes réduites, notamment pour la rédaction de
la documentation du projet car tout est fait au fur et à mesure.
- Un manque de planification prévisionnelle car le projet avance à vue.
- Un besoin de concertation avec les autres projets, car le fait de mettre des collaborateurs ensemble ne crée
pas toujours une équipe réceptive au changement.
Est-il possible d'appliquer les méthodes agiles à d'autres projets IT que l'ingénierie logicielle ?
Dans le cadre de l'évolution des infrastructures, il peut y avoir des cycles et des itérations mais l'utilisateur
n'intervient ni n'est sollicité pendant la réalisation. L'agilité peut résider dans les choix d'architecture
(clouding, clustering, virtualisation) et des solutions de financement (leasing, asp).
Pour des projets en dehors de la DSI, il faudra retenir deux points forts des méthodes agiles qui peuvent être
adaptés aux méthodes de gestion de projets suivant les besoins :
- Les itérations, car les objectifs et cibles ne sont jamais figés, l'amélioration continue est constamment
présente pour toutes les phases du projet.
- L'autonomie des équipes projets, sont isolées par le chef de projet, ce qui implique une totale confiance de
la direction.
L'agilité des projets informatiques n'est pas à confondre avec les méthodes de projet agiles qui sont strictement
utilisées pour les projets d'ingénierie. Le fait de retrouver cette notion dans la littérature IT reflète
l'accélération du business et du marché. Elle reflète également le pouvoir des utilisateurs et la nécessité de
communiquer toujours plus et toujours mieux.