Méthode Agile – premiers pas

Board Scrum Agile
Board Scrum Agile

La méthode Agile

Si vous arrivez sur ce blog, je devine que vous êtes déjà familier avec l’agilité et la méthode agile ; cependant, je vais proposer aux autres qui auront peut-être l’occasion de passer par ici grâce à Linkedin, Twitter et autres…

La méthode Agile va apporter un changement radical dans votre entreprise et aura des résultats très positifs sur l’ensemble de vos processus. Voici en quelques mots ce concept “Agile”.

D’ailleurs, vous pouvez regarder notre vidéo qui parle de la méthode agile :


Regardez notre chaîne Youtube.

L’agilité est une philosophie et une culture

L’agilité est plus une philosophie qu’une méthode en soi. Devenir Agile, c’est adhérer à cette philosophie de fonctionnement. Pour devenir Agile, il faut comprendre cette nouvelle culture souvent difficile à assimiler et à accepter pour les entreprises

Itérative, Incrémentale et Adaptative

Trois mots essentiels de l’agilité où on va fonctionner par itérations relativement courtes (face à d’autres méthodes) qui va d’ailleurs amener à de l’incrémental sur les rendus.

Ces courtes itérations ont pour but de vous permettre de vous adapter rapidement à un besoin de changement.

L’histoire de l’agilité

Il est intéressant de voir les étapes de l’agilité dans le monde de l’entreprise. Les concepts d’agilité sont bien plus vieux que nous nous l’imaginons car il faut remonter aux années 30 où Walter Shewhart et William Edwards Deming ont réalisé des travaux sur le cycle de production itératif et incrémental.

Vous le connaissez probablement plus sous le nom de PDCA ou Roue de Deming.

Article : La roue de Deming – PDCA (Plan-Do-Check-Act)

L’informatique l’adopte

Si la méthode agile est devenue le véritable moteur d’un grand nombre d’entreprises jeunes, il faut remonter à 1950 où le programme Mercury de Motorola intégrait des concepts proches de ce que nous appelons aujourd’hui l’Extreme Programming.

Les premières méthodes de gestions de projets

De nombreux travaux dans les années 70 de plusieurs personnes ont finit par donner naissance à la méthode agile. Ceci n’est pas le travail d’un seul homme.

On considère que la méthode EVO publiée en 1976 est la première méthode agile existante. Bien qu’elle n’avait pas cette nomination car le terme de « méthode agile » n’existait pas encore, elle en avait tous les principes.

Les méthodes JRP et JAD initiées par  Dan Gielan, formalisées par Chuck Morris d’IBM en 1984 ont été diffusées en 1989 dans un livre et ont contribué à l’agilité d’aujourd’hui.

1986

Barry Boehm publie des travaux sur le modèle en spirale  (développement incrémental).

Hirotaka Takeuchi et Ikujiro Nonaka publient « The new new product developpement game » un modèle de développement de produits industriels basé sur l’engagement simultané des diverses disciplines concernées (ingénierie concourante).

1991

James Martin a une vision de l’évolution continue en informatique et décide de proposer une méthode de développement rapide avec une structure itérative et adaptative nommée RAD. Peu utilisée à ce jour, elle est considérée comme une méthode agile.

Mais 1991 est aussi l’année de la naissance du terme « agile » qui était plus dans le concept de l’entreprise agile. Je ne vous en dit pas plus, n’hésitez pas à voir l’article ci-dessous très intéressant qui vous dévoilera l’origine du mot « agile ».

Article :  L’origine et les bases de l’agile bien avant le manifeste Agile

1994

Le français Jean-Pierre Vickoff propose le processus RAD2 qui fait évoluer la méthodologie et Jennifer Stapleton en fait de même avec DSDM.

2001

17 spécialistes du développement de logiciels se réunissent pour créer ensemble le manifeste agile considéré comme la définition canonique de valeurs de l’agilité et de ses principes sous-jacents.

  • Ward Cunningham l’inventeur du Wiki.
  • Kent Beck créateur de l’extreme programming et co-créateur de JUnit.
  • Ken Schwaber et Jeff Sutherland créateurs et promoteurs de Scrum
  • Jim Highsmith prônant l’ASD
  • Alistair Cockburn prônant la méthode Crystal clear
  • Martin Fowler, Dave Thomas et Arie van Bennekum pour DSDM.

Depuis 2001

De nombreuses méthodes agile sont devenues populaires et deviennent de plus en plus populaires chaque année comme Scrum, XP, Kanban…

Les fondements de l’agilité

La méthode agile prônent 4 valeurs essentielles qui découlent du manifeste agile. Chaque méthode agile voire les futures méthodes agiles suivront ses principes fondateurs.

L’équipe

« Les individus et leurs interactions, plus que les processus et les outils »

Une équipe soudée et qui communique sera toujours plus forte que les outils utilisés. Les bons outils ne suffisent pas.

L’application

« Des logiciels opérationnels, plus qu’une documentation exhaustive »

Il est préférable de faire un logiciel fonctionnel que d’avoir des documentations gigantesques.

La collaboration

« La collaboration avec les clients, plus que la négociation contractuelle »

Le client est clé dans le développement du projet. Il faut toujours l’impliquer et ne jamais le mettre de côté.

L’acceptation au changement

« L’adaptation au changement, plus que le suivi d’un plan »

Un projet peut changer en cours de route. Il faut l’accepter et savoir s’adapter quand les objectifs changent.

Je vous propose de lire cet article qui vous explique en détail en quoi consiste ces 4 valeurs du manifeste agile.

Article : Le manifeste agile : 4 valeurs et 12 principes

La liste des 12 principes fondamentaux de l’agilité

Voici les 12 principes tirés des 4 valeurs fondatrices que nous venons de voir qui font ce qu’est la méthode agile à ce jour.

  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.

Caractéristiques de la méthode agile

Chaque méthode agile ont des pratiques communes rassemblées en 3 domaines :

Le côté humain

  • L’utilisateur final participe aux ateliers
  • Groupe de travail avec un pouvoir de décision
  • Autonomie et auto-organisation
  • Spécification et validation permanentes

Qualité de production

  • Recherche d’excellence technique
  • Vision graphique de modélisation
  • Documentation minimale nécessaire
  • Norme et qualité de code
  • Architecture en mode composant
  • Automatisation des changements

Pilotage de projet

  • Méthodologie variable selon les projets
  • Pilotage par les enjeux et les risques
  • Planification par itération rapides
  • Prototypage incrémental par itération
  • Amélioration continue

Voici différentes méthodes agiles qui se distinguent par des points particuliers mais qui respectent tout ce que nous avons vu précédemment (dans les grandes lignes)

La méthode RAD

Sans être aussi extrême que l’XP, la méthode ajoute des techniques d’ingénieries telles que la revue de code, le pair programming que sur des sujets sensibles. Elle a également un animateur/facilitateur externe qui aura pour rôle de reporter à la hiérarchie et de prendre des décisions impactantes sur les projets.

La méthode RAD2

Elle se différencie en recommandant une variabilité d’équipe selon les phases du projet afin d’être toujours optimum. Elle ajoute également de nombreuses choses sur la communication et la formalisation des exigences. Nous trouverons dedans des validations de qualité permanentes et des livraisons par thèmes ou fonctionnalités.

La méthode DSDM

La méthode ajoute au RAD une spécialisation des membres par rôle comme des sponsors exécutifs, des ambassadeurs, des utilisateurs visionnaires, des utilisateurs conseillers, sans oublier l’animateur-facilitateur et des rapporteurs.

Le Scrum

Le scrum consolide le formatage des itérations avec de nombreuses cérémonies obligatoires dans le but de motiver les troupes, d’amener à une communication et une entraide forte ainsi que de rapidement faire face à une difficulté.

Elle décrit aussi 3 rôles clés : scrum master, product owner et équipe de réalisation.

Article : Qu’est-ce que le scrum ?

La méthode XP

Cette méthode est principalement axées sur la qualité du produit final et de renforcer le lien entre les développeurs et les utilisateurs. Elle n’oublie pas cependant de définir les itérations requises et des pratiques pour renforcer l’excellence technique et fonctionnelle.

Article : Qu’est-ce que l’Extreme Programming ?

Comment devenir Agile ?

Se lancer dans les méthodes agile ne doit pas être dans le but d’une mode et de se dire “tout le monde le fait”. Il faut analyser différents critères et commencer par se dire si la méthode pourra nous être favorable. Voici la liste des critères favorables et défavorables :

Critères favorables

  • Produit rapidement en place
  • Les clients imprévisibles
  • Besoin de pouvoir changer souvent
  • Le client veut voir l’avancement du projet
  • Un client présent régulièrement

Critères défavorables

  • Client jamais disponible ou absent
  • Les membres du projet dispersés
  • Refus du changement
  • Gouvernance complexe de la DSI
  • Livraison par fonctionnalités impossibles

Il y a plusieurs méthodes pour amener les méthodes Agile dans les entreprises mais plus l’entreprise a du vécu et plus le parcours sera long. Malgré des tentatives, certaines entreprises n’arrivent pas à devenir Agile tant les contraintes sont grandes.

Mettre en place un centre Agile

Cette méthode très en vogue en ce moment est en quelques mots la création d’un pôle indépendant de coaches agile qui vont coacher toutes les équipes de l’entreprise.

Cette méthode peut être un véritable succès ou rapidement montrer les étapes à franchir pour que l’entreprise devienne Agile.

Prendre un coach Agile

Financièrement moins impactante, cette solution est encore choisie par certaines entreprises. Il lui faudra un soutien des dirigeants pour envisager  d’aller vers le succès.

L’arrivée d’un DSI/CTO Agile

L’arrivée DSI/CTO avec cette capacité de coaching (et une expertise Agile) peut être un bon moteur pour lancer l’entreprise dans l’agilité ; sa détermination et son savoir faire dans le coaching pourront faire la différence (manager non directif).

Mais est-ce des méthodes Agile ?

Quand on suit cette description des méthodes Agile, on a souvent plusieurs questions qui peuvent se poser.

Scrum vraiment une méthode Agile ?

C’est en fait l’application du Scrum qui parfois peut ne pas respecter les fondamentaux à 100% mais dans l’ensemble, ils les respectent plutôt bien. Le Scrum est une méthode Agile qui fait d’ailleurs parti des méthodes Agile validée par le manifeste agile.

Cependant son application peut parfois devenir « non » agile.

Par exemple, parfois les équipes faisant du Scrum préparent en amont un backlog complet pour être dans un mode prédictif. C’est un concept qui va à l’encontre des concepts agiles.

Kanban est une méthode Agile ?

Non si on en prend que ses bases car il ne respecte que très peu d’éléments du manifeste agile.

Par contre, on peut dire qu’il a un esprit Agile car il se couple très bien pour faire un RUN (livraison continue de debug et de petites améliorations sur l’existant) en parallèle d’un projet en SCRUM.

J’appelle cela une méthode apparentée Agile qui mérite d’être connue car on peut bien l’adapter aux différents contextes et en faire une méthode de travail efficace.

Articles : articles sur kanban

Conclusion méthode agile

Comme vous l’aurez compris les méthodes Agile suivent le « manifeste agile » mais ont surtout permis d’amener une culture agile dans les entreprises françaises et suisses. On retrouve de plus en plus de mélanges de méthodes agiles comme le scumban, du scum xp…

Lien utile : 

[ Article lu 1 fois aujourd'hui ]
A propos Judicaël Paquet 942 Articles
  Paquet Judicaël (expert en transformation et AI) Mes activités en France et en Suisse : - ingénieur prompt - coach AI - architecte de transformation agile - formations agiles personnalisées - sensibilisations et coaching de manager - audits de maturité agile et de situations - coaching agile (équipes, orga, product owner, scrum master, coach agile) Spécialités : scrum, kanban, management 3.0, agilité à l’échelle, lean startup, méthode agile, prompt AI, Intelligence artificielle. [Me contacter]

1 Commentaire

  1. Merci pour cette introduction aux méthodes agiles. La distinction avec Kanban est intéressante. Je me souviens au début des années 2000 de réunions enflammées sur la méthode XP et les discussions autour des méthodes pour démocratiser l’agilité 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.