Fondamentalement, il faut retenir que l’agile n’est pas une méthode de développement, mais plutôt un concept.
Dans la gestion de projet, le terme agile est tout nouveau. D’abord Il met l’accent sur la publication continue de nouvelles versions en fonction des retours utilisateurs et des exigences prioritaires dans le processus de développement logiciel, ensuite sur l’itération continue et enfin sur l’amélioration progressive du produit.
Il y a quelques années, la gestion de projet en cascade était la méthode dominante. Au cours du processus de pilotage de projet, les membres de l’équipe consacraient beaucoup de temps et d’énergie au début du projet à collecter des ressources et des informations. Puis à partir de ceux-ci, ils élaboraient le DCF (le Dossier Conceptuel de Fonctionnement) et planifiaient le développement.
Dans les années 1970, certains développeurs et chefs de projet ont constaté que le modèle en cascade aussi appelé « waterfall » n’était pas limitée seulement dans sa mise en œuvre, mais que le rythme de développement et de déploiement en était également impacté. Ces limites ont été beaucoup plus ressenties à la fin des années 90, lorsque les hackers ont commencé à s’attaquer aux logiciels et infrastructures informatiques créant ainsi des dégâts dans certains systèmes d’information et remettant en cause tous les efforts de planification et de développement de certains logiciels.
Ces chefs de projet ont donc souhaité être en mesure de gérer en continue et de manière flexible les retours des utilisateurs, les besoins de changement et les bugs, plutôt que de le faire selon le mode en cascade basé sur un développement de produits linéaire et prévisible. C’est d’ailleurs ce qui a favorisé la popularité des méthodes agiles après leur sortie.
En 2001, 17 experts des méthodologies de nouvelle génération ont défini ensemble un document baptisé le “Manifeste Agile” qui expose leur approche du développement de logiciels. Dans ce manifeste, ils ont défini quatre valeurs que le développement agile doit respecter.
Nous pouvons les résumer comme suit :
- Privilégier l’esprit d’équipe : valoriser la coopération et l’interaction entre les individus ;
- Être axé sur l’objectif : livrer un “logiciel opérationnel” au lieu d’un tas de documents lourds ;
- Être orienté client : comprendre les besoins des clients et co-construire avec eux ;
- Adopter le changement : s’adapter à l’évolution des besoins clients, accepter le changement et ne pas suivre un plan strict.
Néanmoins, ces quatre valeurs ne signifient pas qu’il faille abandonner entièrement les outils, la documentation et la planification parce qu’ils ont encore une valeur très importante pour les résultats et la qualité des livrables. Mais en revanche, nous devrions plutôt nous concentrer sur des choses plus fondamentales telles que : les personnes, les modèles de produits, la collaboration et l’itération.
Afin de faciliter la compréhension et l’application de ces quatre principes, ces experts publieront dans un guide ce qu’ils ont appelé les 12 principes du développement agile :
- Notre principale priorité est de satisfaire le client en livrant rapidement et régulièrement des solutions qui apportent de la valeur.
- Accueillez chaleureusement les changements de besoins, même tardifs dans le développement. Les processus agiles tirent parti du changement pour renforcer l’avantage concurrentiel du client.
- Livrez souvent des solutions opérationnelles, à une fréquence allant de quelques semaines à quelques mois, avec une préférence pour les échelles de temps les plus courtes.
- Les personnes en charge du métier ou des affaires et les personnes en charge de la réalisation doivent travailler ensemble chaque jour, tout au long du projet.
- Construisez les projets à partir de personnes motivées. Donnez-leur l’environnement et le soutien dont elles ont besoin et faites-leur confiance pour mener à bien le travail.
- La conversation en face à face est la méthode la plus efficace et la plus économique pour donner des informations à une équipe de réalisation, et pour échanger des informations à l’intérieur de l’équipe.
- La disponibilité de solutions opérationnelles est la principale mesure d’avancement.
- Les processus agiles encouragent à respecter un rythme soutenable lors de la réalisation. Les commanditaires, les réalisateurs et les utilisateurs devraient pouvoir maintenir indéfiniment un rythme constant.
- Porter continuellement attention à l’excellence technique et à la qualité de la conception renforce l’agilité.
Si vous mettez en application ces 12 principes dans la résolution des problèmes que vous rencontrez, ou dans la conception de vos produits ou services, vous constaterez qu’ils correspondent aux attentes de vos clients. Par exemple, votre client ne se soucie pas de la façon dont votre documentation est écrite, il est particulièrement intéressé par ce que votre produit final peut lui offrir ; il ne se soucie pas non plus de votre plan de développement, il espère juste que vous puissiez lui livrer une solution immédiatement, voir hier le plus rapidement possible. Il souhaite également que la correction de son bug se fasse EN TOUTE URGENCE, au lieu d’attendre la prochaine mise à jour d’une version mineure.
Vous serez toujours amenés à répondre à des clients ayant des besoins divers. Dans ce contexte, les méthodes agiles peuvent indéniablement vous garantir la prise en compte et l’intégration de leurs besoins dans vos processus de conception de produits ou services.
Si vous avez aimé cet article, donnez l'occasion à d'autres personnes
d'apprendre en le partageant.