[Tribune] L'agilité organisée et maîtrisée au service du projet au forfait
Attention aux idées reçues sur l'agilité :
- Sur un projet agile, il n'y a pas de spécifications
- Agilité ? Non il n'y a pas de processus
- Les projets agiles sont difficilement maintenables par manque de documentation
- L'approche agile est réservée aux "petits" projets
- Grâce à l'agilité du projet, le client peut changer d'avis ou apporter des modifications tout le temps
En mode forfaitaire, c'est le devoir du prestataire de s'assurer que le client n'adhère pas à ces idées reçues car l'impact serait catastrophique en cas de difficultés sur le projet.
C'est en travaillant très étroitement avec le client qu'un "product backlog" peut être établi avant le début de projet (phase de cadrage et/ou "Sprint 0"). Très fréquemment, cette phase très courte où le "high-level scope" est défini et validé est d'ailleurs faite sous forme de régie pendant 3 à 4 semaines. Cela permet déjà au client d'intégrer quelques changements grâce aux conseils prodigués par des experts fonctionnels et techniques. Puis, le "product backlog" est estimé et comparé avec l'estimation initiale durant l'avant-vente.
Pour coller au budget initial, si le client n'a pas de levier financier, le périmètre peut être alors revu en retirant quelques fonctionnalités de priorité moins importante (NDLR : grâce aux itérations de l'approche agile, c'est aussi le cas lors de la constitution des "sprints backlogs"). L'ensemble de l'équipe peut alors s'engager en mode forfait tout en continuant à être agile.
Le contrat ne porte plus sur un cahier des charges, mais sur un "product backlog" construit et validé par l'ensemble des acteurs. Tout le monde se sent responsable.
Et pour le prestataire ? Comment gère-t-il le projet produit ?
Certes l'approche agile est orientée produit plutôt que projet, mais elle privilégie aussi l'humain plutôt que les outils et les processus. Est-ce que cela peut s'adapter au projet au forfait ? Quelle équipe constituer pour développer agile ?
Transparence et confiance sont deux aspects primordiaux au sein de l'équipe lorsque le projet est lancé. La communication entre les business analysts et les développeurs est bien entendu essentielle pour garantir la cohérence entre ce qui a été demandé et ce qui a été réalisé. Le Scrum Master est aussi là pour soutenir tous les membres de l'équipe et pour les aider à atteindre leurs objectifs.
Tous les outils et les processus doivent donc être clairs, simples, fluides et avoir une efficacité rapide pour ne pas gêner les individus et leurs interactions dans le projet. Tout doit s'inscrire de façon naturelle pour optimiser les échanges et apporter la solution aux contraintes du projet, comme le fait d'être engagé au forfait justement.
Intégration continue, travail à distance ou off-shore, partage du référentiel documentaire, suivi des campagnes de tests, représentation des "sprints planning" ou des "sprints backlogs", automatisation des tests d'intégration et de l'analyse de code... Chaque choix d'outils et chaque mise en place de processus doivent être longuement réfléchis pour qu'ils s'intègrent de façon intuitive et ergonomique dans les projets agiles au forfait.
Et ça fonctionne vraiment ?
Effectivement, c'est bien beau sur le papier. Mais il peut toujours y avoir une fonctionnalité plus complexe que prévue qui fait déraper un peu le projet, des imprévus de dernières minutes qui nécessitent de revoir une partie de l'architecture... Et au sein d'un projet au forfait, la gestion des risques requiert toujours autant d'attention et de mobilisation.
L'approche agile ne résout pas tous les problèmes. Penser le contraire serait une erreur. Mais elle propose des solutions pour les éviter ou mieux les gérer. C'est surtout grâce à l'ensemble de ses ressources expérimentées, ses outils intuitifs et de ses processus structurants et rassurants que l'approche agile permet de mieux organiser et maîtriser ses projets au forfait.
Quelques principes d'une approche agile organisée et maîtrisée :
- Satisfaire le client avec des livraisons planifiées et régulières mais ne pas s'interdire des livraisons intermédiaires.
- Accepter les changements de dernière minute ? Oui... mais des changements justifiés et nécessaires seulement. Savoir dire non et ne pas céder à toutes les demandes du client.
- Prévoir un "sprint court" de stabilisation en fin de projet, mais aussi en milieu de projet pour éviter que les anomalies s'accumulent, parce que l'agilité n'empêche pas les bugs.
- Renforcer l'excellence technique en intégrant des outils comme SonarQube ou Selenium qui permettent d'améliorer la qualité des livrables.
- Vérifier régulièrement via un audit interne que les outils et workflows sont bien utilisés et respectés. Un chef de projet technique ou le Scrum Master est responsable, par exemple, de la cohérence des dashboards de Jira Agile.
- Mettre en place des KPI utiles pour sensibiliser les développeurs sur le taux de retours des User Stories qui nécessitent des corrections ou du travail supplémentaire.
Par Christophe Pouly, Directeur Technique Digital Commerce et Michel Marien, Directeur Solutions Digital Commerce, Keyrus
NEWSLETTER | Abonnez-vous pour recevoir nos meilleurs articles