Les approches classiques dites « en cascade » ont prouvé leurs limites dans la conception de logiciel, ceci étant illustré par le fort taux d’échec de projets informatiques (46%)(1)
De plus ces méthodes rigidifiaient le projet soit éloignant le produit final de l’expression du besoin soit en refroidissant les échanges entre le client et le prestataire (formalisation importante).
Nous avons donc adopté les méthodes agiles qui mettent le client au centre du projet et permettent de produire l’application la plus proche de ses besoins.
Pour cela, nous proposons d’appliquer une adaptation des méthodes UP, XP et SCRUM.
Phase de cadrage
Cette phase est essentielle pour la réussite du projet.
C’est la période de l’expression des exigences et de l’analyse.
Pour cela, des ateliers de travail thématique sont organisés afin d’exprimer, d’ordonner les histoires utilisateurs.
Grâce à la modélisation métier de l’application, le cadrage permet de fixer le périmètre fonctionnel de l’application et de préciser le budget.
Phase de design
Suite au recueil et à l’analyse des besoins, une étape de conception et de modélisation est nécessaire afin de lancer les développements.
Cette phase permet d’aborder les points suivants :
- Modélisation ergonomique de l’application
- Architecture de la plateforme et des modules
- Conception technique de la plateforme
Phase de construction
C’est la période des développements, durant laquelle nous appliquons la méthode SCRUM.
Le projet est divisé en sprints, chaque sprint faisant l’objet d’un objectif, d’un engagement de l’équipe sur les histoires qui vont être réalisées et d’une livraison au client sous forme d’une démonstration.
Les développements se font de manière itérative et incrémental.
Conformément à cette méthode, nous tenons plusieurs types de réunion d’équipes :
- Avant chaque itération, nous faisons une réunion de planification qui permet de sélectionner les fonctionnalités à développer en fonction des priorité
- Chaque jour, une réunion d’avancement permet de suivre l’avancement des développements
- A la fin de chaque cycle, une réunion permet de faire le bilan sur l’itération passée
L’avancement du travail est visualisé en temps réel grâce au Burn down charts :
Phase de finalisation
Lorsque les développements sont terminés, la release est préparée.
La documentation est finalisée, les tests affinés et le produit peut être déployé sur un serveur de pré-production puis après la recette sur le serveur de production.
1. Gestion de projet vers les méthodes agiles de Messager Rota V et Jean Tabaka – 7 mai 2009