Qu’est-ce que c’est « Agilité ou Méthode Agile » ?
Le terme Agile définit une approche de gestion de projet qui prend en quelque sorte le contre-pied des approches traditionnelles prédictives et séquentielles (cycle en V ou water all).
En effet, ces approches classiques manquent l’intervention du client pour avoir plus de détails sur le besoin, et le non-validation de ces dernières pour commencer le développement et la réalisation laisse peu de place au changement. On pense notamment la phase de recueil de besoin puis de conception, de test et enfin de livraison. En plus dans une telle approche rien ne peut être utilisé ou bien livré tant que tout n’est pas terminé.
Or dans le cadre d’une approche agile, le but du jeu consiste à disposer à tout moment d’un produit utilisable et régulièrement enrichi de nouvelles fonctionnalités à forte valeurs ajouté.
Pourquoi parle-t-on du terme Agilité ?
La réalisation dure le temps qu’il faut et le rendez-vous est repris avec le client pour la recette. Cet effet peut être néfaste et conflictuel, on constate souvent un déphasage entre le besoin initial et l’application réalisée.
Certaines fonctionnalités demandées se révèlent finalement inutiles à l’usage alors que d’autres, découvertes en cours de route, auraient pu donner plus de valeur au produit.
En plus le manque de communication et de collaboration entre les différents membres de l’équipe ainsi que le reporting qui est uniquement administratif engendrent la détection tardive des problèmes et le dépilement de choses à faire sans vision de l’objectif.
1. Solutions :
L’approche agile propose au contraire de supprimer purement et simplement cet effet tunnel en donnant d’avantage de visibilité, en impliquant le client du début à la fin du projet et en adoptant un mode itératif et incrémental afin de s’adapter aux changements imprévus.
Donc le besoin n’est pas stable et susceptible aux changements en suivant des règles bien déterminées.
Alors le principe initial de l’approche agile est basé sur l’itération et l’incrémentation.
2. Base des méthodes Agiles :
– Accueil du changement plus que le suivi d’un plan.
– Collaboration étroite avec le client plus que la négociation contractuelle.
– Applications fonctionnelles et des logiciels opérationnels plus qu’une documentation exhaustive.
– Ressources humaines et communication plus que le process et les outils.
Process des Méthodes Agiles
Une approche Agile part du principe que spécifier et planifier dans les détails l’intégralité d’un produit avant de le développer (approche prédictive) est contre-productif.
Dans le cadre d’un projet informatique Agile, le client élabore sa vision du produit à réaliser et liste les fonctionnalités et les exigences de ce dernier, ensuite il soumet cette liste à l’équipe de développement qui estime le cout de chacune d’entre elles, on peut ainsi se faire une idée approximative du budget global.
L’équipe sélectionne ensuite une portion des exigences à réaliser et découpe le temps en intervalle court appeler « itération », au sein de cette dernière il exécute toutes les activités nécessaires pour aboutir à la réalisation d’un ensemble utilisable de nouvelles fonctionnalités.
Chaque itération donc inclut des travaux de conception, de spécification fonctionnelle et technique quand c’est nécessaire, de développement et tests pour pouvoir augmenter la valeur du produit. Tout doit être finalisé donc avant la fin de l’itération, et de cette façon le risque d’arriver enfin de cette dernière avec plusieurs fonctionnalités est entamé mais aucune de terminé et utilisable.
A la fin de chacune de ces itérations, le produit partiel est montré au client et donne naissance à ce qu’on appelle « incrémentation »
Ce dernier peut alors se rendre compte par lui-même très tôt du travail réalisé, de l’alignement sur le besoin.
Souvent le premier incrément repose sur la fondation initiale qui décrit la fonctionnalité principale du projet et suivant cette dernière on rajoute au fil du temps nos effort pour aboutir à des fonctionnalités à forte valeur ajouté afin d’enrichir le produit à réaliser.
Cette notion d’incrément est fondamentale puisqu’on peut confondre Agile et Itératif mais utilisé un process itératif ne suffit pas pour le qualifier d’être agile.
Exemple de méthode agile les plus récurrents :
A l’heure actuelle, la méthode agile la plus populaire et demandé par des grandes entreprises c’est « Scrum » signifie mêlée en rugby.
Le fameux Scrum est basé sur la souplesse qui nous offre la possibilité de s’adapter aux différents changements et environnement tout au long d’un projet tout en définissant le rôle pour chaque intervenant.
3. Piliers de la méthode Scrum :
– Transparence permet de s’assurer que les aspects du processus qui affectent les résultats sont visibles à ceux qui gèrent ces dernières.
– L’inspection les différents aspects du processus doivent être inspectes à une fréquence suffisante pour que tout écart inacceptable soit détecté rapidement.
– L’adaptation se détermine lors de l’inspection si l’un des aspects du processus sont en dehors de limites acceptable, donc l’inspecteur doit ajuster le processus ou le matériel traité afin d’éviter tout autre écart.
Conclusion :
Contrairement à la méthode traditionnelle water-all, l’approche Agile offre une plus grande flexibilité et une meilleure visibilité dans la gestion du projet. A notre époque où la personnalisation est si importante, cette méthodologie fait de plus en plus d’adeptes.
On constate alors que l’Agilité répond aux besoins client de différents domaines et s’étend efficacement à d’autres types de projets, comme le confirme une étude de l’institut Forrester de 2013 : “Agile is not only used in several of the world’s leading companies now but is being applied in areas beyond software development. (…/…) some companies are applying Agile to areas within the organization such as, portfolio management, project management, vendor management, contracting, etc.”
Article rédigé par :
Rayes Nesrine – Consultante FullStack Java/Angular