Méthodes Agiles – L’essentiel

Dans cet article, vous aurez l’essentiel à savoir sur les méthodes Agile.
Vous aurez une vue complète des méthodes, des concepts, des certifications et du vocabulaire utilisé.
Cela vous permettra de mettre le pied dans le monde Agile mais ne remplacera pas une formation complète aux méthodes Agiles.

Vous trouverez en bas de cet article 2 Bonus offerts à télécharger :

  • Le KIT L’ESSENTIEL (Leadership et Productivité)  et
  • Une slide au format pdf qui vous donne la vue d’ensemble des méthodologies de gestion de projet
    • Vous pouvez la télécharger et la garder sous le coude en guise de mémo utile.

L’Approche Agile

Inspirées des approches RAD, les méthodes Agile proposent une gestion des développements informatiques plus flexible vis-à-vis des changements.
Le schéma ci-dessous positionne l’arrivée chronologique des Méthodes Agiles vers l’année 2000.

Les méthodes Agiles mettent en avant une collaboration rapprochée entre les demandeurs (les métiers) et les équipes IT.

Contrairement au modèle en cascade, les méthodes Agiles sont :

  • Itératives : avec répétition de cycles de développements
  • Incrémentales : On produit un peu plus à chaque itération jusqu’à arriver au produit final.
  • Adaptatives : on s’adapte aux demandes de changement des clients en cours de projet entre 2 itérations.

L’approche Agile a été rendue populaire à partir de 2001 avec notamment la diffusion du Manifeste du développement logiciel agile.

Manifeste Agile

En 2001, des experts du monde du logiciels se sont réunis dans une station de ski de l’Utah aux Etats Unis.
L’objectif de la rencontre est de partager les bonnes pratiques pour améliorer les développements logiciels.
Cette rencontre a été couronnée par la production d’un Manifeste qui représente aujourd’hui les fondements des méthodes Agile.
Ce Manifeste met en avant 4 grandes valeurs et 12 principes sous-jacents.

4 Valeurs :

  • Privilégier les individus et leurs interactions aux processus et aux outils,
  • Privilégier des solutions opérationnelles à une documentation exhaustive,
  • Privilégier la collaboration avec les clients aux négociations contractuelles,
  • Privilégier la réponse au changement au respect d’un plan.

12 principes :

Extrait de « Agile Manifesto »

  • Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
  • 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.
  • Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.
  • Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
  • 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.
  • 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.
  • Un logiciel opérationnel est la principale mesure d’avancement.
  • 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.
  • Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.
  • La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
  • Les meilleures architectures, spécifications et conceptions émergent d’équipes autoorganisées.
  • À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Les méthodes agiles sont nombreuses mais les plus populaires sont Scrum et XP Programming.

Méthode SCRUM

Scrum (Mêlée en Anglais comme au Rugby) : permet de pouvoir changer la direction prise par le projet en cours de route (comme une équipe de Rugby qui change d’orientation en avançant ensemble sur le terrain). Le client demandeur (client) est très impliqué dans le projet et notamment dans la validation de chaque itération ce qui lui permet de changer d’avis et de réorienter les développements dans le bon sens.

Pour l’organisation du projet en mode Scrum,

Les tâches (qui composent une user stories) sont regroupées en Itérations (Sprints) de 2 à 3 semaines. Une livraison et une validation par le demandeur est faite à chaque fin d’itération notamment pour voir si besoin d’apporter des changements.

On distingue 3 rôles principaux :

  1. Product Owner c’est l’équivalent du Chef de Projet qu’on retrouve dans les méthodes en cascade par exemple (ce rôle pourrait être endossé par le demandeur métier lui-même).
  2. Scrum Mastersa principale mission est de s’assurer que les principes de la méthode Scurm sont appliqués.
  3. Le reste de l’équipe

Pour les instances de Suivi, on peut citer :

  1. Réunions de planification pour partager les user stories et planifier le Sprint suivant
  2. La réunion quotidienne pour partager l’avancement
  3. La réunion de démo au bout de chaque sprint
  4. En plus de la démo, éventuellement, une réunion de REW sur le sprint précédent.

XP : pour Extreme Programming

La méthdoe XP peut compléter la méthode Scrum,
En effet, la méthode Scrum organise le projet dans sa globalité alors que la méthode XP va permettre une meilleure gestion des activités de développements informatiques.
La méthode XP met l’accent sur un test et une revue du code systématiques avant chaque nouveau développement et rend ainsi le refactoring (revue d’architecture) plus simple à opérer si besoin.
XP préconise également d’avoir des Sprint (ou itération) encore plus courts pour rendre les développements plus flexibles et plus rapides.

 

Vocabulaire Agile :

User Story

Il s’agit en général d’une fonctionnalité « autonome » à implémenter.

Elle est décomposée en tâches et sous tâches.

Exemple : En tant qu’utilisateur du CRM, je souhaite pouvoir changer le statut d’un ticket d’incident.

Tâches :

Un User Story est décomposées en tâches et sous tâches.

Ces tâches et sous tâches représentent des activités techniques nécessaires pour la réalisation de la Story.

Product Owner c’est l’équivalent du Chef de Projet qu’on retrouve dans les méthodes en cascade par exemple (ce rôle pourrait être endossé par le demandeur métier lui-même).

Sprint

Appelé Itération, c’est un intervalle de temps de 2 à 4 semaines pendant lequel l’équipe de développement va implémenter, tester et faire la démonstration d’une ou plusieurs nouvelles fonctionnalités/stories.

Release (dans le contexte Agile)

Version en français.

Correspond à la livraison d’une version assez aboutie du produit final pour les utilisateurs.

Pour arriver à une version, l’équipe aura réalisé plusieurs sprints.

Product Backlog

C’est le référentiel, le listing ou le panier contenant les story à réaliser.

Il permet de collecter et de répertorier les besoins des demandeurs.

Il est souvent géré par le Product Owner.

Pour planifier un sprint il suffit de piocher dans le Product Backlog en priorisant selon les besoins des demandeurs.

Scrum Master sa principale mission est de s’assurer que les principes de la méthode Scrum sont bien appliqués.

Epic

Pour désigner un ensemble de fonctionnalités (de stories) à implémenter.

Story Point

C’est une unité de mesure.

Le Story Point sert à estimer l’effort nécessaire pour implémenter une story.

C’est une unité assez définie par l’équipe projet. Ça peut être, par exemple, une échelle 1 à 10 ou encore des tailles de T-shirt.

Attention, il ne s’agit pas d’une charge de type JH ou encore ni d’un délai.

Vélocité

Un indicateur pour déterminer la capacité de livraison (réalisation) de l’équipe de développement.

Elle est exprimée en nombre de points livrés sur un sprint.

Pour la calculer, il faut prendre la moyenne des nombres de points livrés sur plusieurs sprints.

Attention : le plus important dans une démarche Agile reste tout de même la qualité et la satisfaction des demandeurs et non pas la vélocité.

La vélocité nous aide notamment à la planification des sprints.

Capacité

Pour indiquer la disponibilité des membres de l’équipe projet pendant les différents sprints.

On prendra compte par exemple des congés et aussi du fait que des membres de l’équipe soient pris sur un autre projet sur des jours en particulier.

BURNDOWN

C’est un graphique qui présente le reste à faire pour un sprint en cours.

BURNUP

C’est graphique qui présente le travail réalisé (contrairement au graphique Burndown qui présente le reste à faire).

Certifications Agile/Scrum

Scrum étant la méthode Aile la plus répandue, les certifications les plus connues portent donc sur cette méthode.

Nous pouvons citer les 3 principales certifications délivrées par Scrum.org :

  1. Les 3 certifications PSM (PSM pour Profesionnal Scrum Master) qui sont reconnues par tous les professionnels : PSM I, PSM II et PSM III.
  2. La certification PSPO (Professional Scrum Product Owner)
  3. La certification PSD (Professional Scrum Developer)

 

 

Nous devons également citer les 4 certifications délivrées par Scrumalliance.org :

  1. CSM : Certified Scrum Master
  2. CSPO : Certified Scrum Product Owner
  3. CSD : Certified Scrum Developer
  4. CSP : Certified Scrum Professional

Certification Scrum

Share This