Le Manifeste Agile

Vous avez surement déjà entendu parler d’agile, mais savez-vous qu’il existe un manifeste de base sur lequel les méthodologies agiles découlent ? Mais avez-vous vraiment compris son essence ? Découvrez les entrailles du Manifeste Agile aussi appelé Agile Manifesto.

L’histoire

Replaçons-nous dans un contexte post années 1990. Avec l’avancée incessante et exponentielle du numérique se crée une frustration des entreprises sur le délai entre l’expression des besoins et la livraison technologique de la solution. En effet, les besoins métiers et business se retrouvent vite obsolètes car évoluant pendant cette période. Le produit final se retrouve alors souvent en décalage avec les besoins du moment qui ont changé.

En 2001, aux Etats-Unis, une réunion de 17 experts en développement et pluridisciplinaires se sont rassemblés pour trouver comment optimiser la gestion de projet afin qu’elle soit plus efficace et de se concentrer sur la satisfaction client. Cette recherche s’est concentrée sur une méthode commune et simple qui réponde aux problématiques du développement de solutions. A l’issue de cette réunion un consensus en est sorti le manifeste agile : 4 valeurs clés et 12 principes fondamentaux.

 

 

Les 4 Valeurs

“ Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser :

L’Agile place la communication au cœur de ses priorités. Cela implique le respect de chaque personne, une communication honnête, la transparence des informations et des actions, la confiance que chaque personne se soutiendra mutuellement et s’engage envers l’équipe.

Les individus et leurs interactions sont de la plus haute importance dans ce processus. L’équipe élabore un ensemble d’objectifs communs et essaie ensuite de grandir en tant qu’individus et en tant qu’équipe pour atteindre ces objectifs.

Bien que le processus soit important, les personnes sont les principaux contributeurs et si leur comportement crée un environnement ouvert, honnête et transparent, alors de meilleurs résultats peuvent être atteints.

  • Échecs ou réussites, ce sont bien vos équipes qui sont responsables des projets. La prise en compte du facteur humain est un des piliers de l’Agilité.
  • Il est essentiel d’intégrer les forces et surtout les faiblesses des interactions humaines dans votre gestion de projet agile.
  • L’Agilité est une fabuleuse boîte à outils pour souder, dynamiser et responsabiliser les équipes au lieu de les mettre en concurrence.

Les anti-patterns :

  • Vous préférez les processus et les outils aux interactions !
  • Vous ne formalisez pas suffisamment le cadre de travail !

Livrer de petites parties de fonctionnalités au client et ce à intervalles réguliers est l’un des principes clés du développement Agile. Au lieu d’une documentation lourde et un livrable volumineux, le produit peut être réalisé avec des exigences légères validées par des critères d’acceptance suffisants et des scénarii simples.

  • Les méthodes agiles se veulent avant tout pragmatiques, c’est donc l’opérationnel qui prime toujours. Votre équipe est à la fois auto-organisée et autonome.
  • Les livraisons intermédiaires, régulièrement proposées à votre client, sont toujours une part cohérente et utilisable de votre solution complète.
  • La qualité est toujours évaluée en continu pendant votre gestion du projet.

Les anti-patterns :

  • Votre documentation fait plus de 100 pages et les User Stories sont écrites sous forme de spécification fonctionnelle et générale détaillée … et le tout sur Word !
  • Vos livrables passent à côté de l’essentiel : satisfaire votre client !

Le fait d’avoir de plus petits projets et de livrer des logiciels de travail à intervalles réguliers permet au client de fournir un retour d’information constant. L’objectif du développement Agile est de travailler sur des produits qui apportent de la valeur au client. Parfois, le client peut demander des fonctionnalités qui ne répondent pas à ses besoins initiaux ou même changer son opinion sur ce qui est nécessaire de réaliser, sur la base de nouvelles informations découvertes tout au long du projet.

L’Agile cherche à travailler avec le client pour ajouter de la valeur plutôt que de forcer le client à s’en tenir à ses demandes, contrats ou exigences antérieurs.

  • Le contrat doit soutenir votre réussite du projet et non contraindre son exécution.
  • Les interactions fortes et permanentes avec votre client facilitent la négociation.
  • Les enjeux de l’agilité et ses principes sont bien compris et intégrés par votre client.

Les anti-patterns :

  • Vous rédigez un contrat trop contraignant pour l’évolution de votre projet !
  • Vous oubliez d’intégrer le client ou l’utilisateur dans votre gestion du projet !

La loi d’Humphrey dit que les clients ne savent jamais ce qu’ils veulent tant qu’ils ne voient pas un résultat qui fonctionne. Il est normal que les clients réagissent de cette façon, c’est pourquoi la méthodologie Agile intègre de fréquentes opportunités de retour d’information en fournissant de petits livrables au client à intervalles réguliers.

Lorsqu’un changement est nécessaire pour apporter de la valeur au client, l’équipe essaie (dans la mesure du possible) de répondre à ce changement plutôt que d’y résister tout au long du projet.

Par ailleurs les changements au niveau des processus et des cérémonies sont aussi l’occasion de changer de perspective et d’inciter tout le monde à l’amélioration continue.

  • Les entreprises doivent constamment faire preuve de réactivité face à la concurrence et aux attentes du marché.
  • L’accélération permanente du progrès technologique augmente l’obsolescence des applications qui sont contraintes de s’adapter en continu.
  • L’usage des réseaux sociaux a définitivement révolutionné l’approche des utilisateurs qui deviennent de plus en plus exigeants.
  • Le contexte économique oblige les équipes à être capables de produire efficacement de plus en plus de valeur pour les utilisateurs finaux.

Les anti-patterns :

  • Avoir formulé un contrat ne permettant pas de changer la gestion humaine ou les processus sur le projet.
  • Ne faire que ce qu’on connait et maîtrise sans chercher à innover, sans tester de nouvelles pratiques et sans en mettre en place. En somme bannir la routine.

Autrement dit, même s’il y a de la valeur dans les éléments à droite, nous valorisons davantage les éléments à gauche. ”

Les 12 Principes

“ Nous suivons ces principes :


1. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.

2. Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.

3. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.

4. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.

5. Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.

6. La méthode la plus simple et la plus efficace pour transmettre de l’information à l’équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.

7. Un logiciel opérationnel est la principale mesure d’avancement.

8. Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.

9. Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.

10. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.

11. Les meilleures architectures, spécifications et conceptions émergent d’équipes autoorganisées.

12. À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

%s

8 + 1 =