Le concept d’agilité est né dans les années 1990 dans le domaine de la gestion des projets IT comprenant du développement informatique. Il a été consacré en 2001 par la publication du « Manifeste agile » rédigé par 17 experts en développement logiciel. Que signifie concrètement le terme d’agilité ? Quelles en sont les principales pratiques agiles et comment sont-elles appliquées ? 

 

1) Qu'est-ce que l'agilité ? 

 

Naissance de l’agilité : le manifeste agile 

Ce manifeste se fonde sur quatre valeurs fondamentales du projet IT : 

  • L’équipe : Les individus et leurs interactions plutôt que les processus et les outils ;
  • L’application : les logiciels fonctionnels plutôt qu’une documentation exhaustive ;
  • La coopération : la collaboration avec le client plutôt que la négociation contractuelle ;
  • L’adaptabilité : l’adaptation au changement plutôt que le suivi d’un plan.

De ces quatre fondamentaux découlent douze principes que les projets agiles se doivent de respecter, parmi lesquels : satisfaction du besoin client, accueil favorable des demandes de changement, livraison fréquente de version applicative qui fonctionne, simplicité ou encore responsabilisation des équipes de réalisation. 

 

Fonctionnement des pratiques agiles     

A la différence de la méthode classique en V, les pratiques agiles reposent sur le principe qu’il est contre-productif de planifier le projet en amont dans ses moindres détails. Les pratiques agiles ont pour objectif d’impliquer le client et de maximiser la réactivité des équipes de réalisation à ses demandes. 

Comment ? En se fixant des objectifs à court terme. Une fois un objectif atteint, l’équipe passe au suivant et ainsi de suite. Le projet repose sur un cycle de développement par itérations laissant la place aux imprévus et aux changements. En analysant le cycle écoulé, il est possible d’ajuster la pratique pour optimiser la gestion du suivant, et ainsi jusqu’à l’objectif final.   

 

Les différentes pratiques agiles 

On parle de méthodologie agile, mais il s’agit en réalité d’un groupe de processus et de pratiques de réalisation de projet. Il n’existe pas une méthode mais des pratiques agiles. Les plus fréquemment mises en œuvre dans les projets sont : 

  • L’extreme programming (XP) utilisée dans l’ingénierie logicielle ;
  •  Adaptative software development (ASD) ;

ou encore la pratique Scrum, la plus utilisée aujourd’hui.

Ces pratiques agiles peuvent parfois être combinées pour plus d’efficacité, c’est d’ailleurs souvent le cas de la méthode de gestion de projet XP combinée à la pratique Scrum.

Manager IT

 2) Qu'est-ce que la pratique Scrum ?

 

D’après une enquête de l’Institut Scrum League, les principes de Scrum représentent à eux seuls 82 % des pratiques agiles. 

 

Scrum : une définition 

La pratique Scrum est ce que l‘on appelle un « framework », un cadre de développement visant à faciliter la collaboration des équipes. Elle repose sur un découpage du besoin métier en itérations courtes de 2 à 4 semaines maximum, c’est ce que l’on appelle des « sprints ». 

Chaque sprint commence avec la planification de celui-ci puis se termine par une démonstration du travail réalisé. A la fin de l’itération et avant la suivante, les équipes font une « rétrospective » du sprint écoulé pour en analyser les réussites et les axes d’amélioration.  

 

Le rôle du Scrum Master 

L’équipe est constituée des rôles suivants : le Product Owner, l’équipe de réalisation et le Scrum Master. 

Le Scrum Master, est « l’animateur » du projet en Scrum. Il n’a aucun pouvoir hiérarchique sur ses membres et intervient en « facilitateur ». Son rôle est également de protéger l’équipe des engagements irréalisables. 

Il joue généralement un rôle au cours des « cérémonies  Sprint » : il anime les daily (réunions quotidiennes de 15 minutes), aide à l’estimation et à la planification des sous-tâches (sprint planning), recueille les retours lors des démonstrations, note les points d'amélioration au cours des « rétrospectives ». 

En résumé, le Scrum Master est responsable de la bonne marche de l’équipe.

 

3) Le cycle de vie d'une demande en scrum

 

Qu’est-ce qu’une user story ?

Il s’agit d’une demande fonctionnelle écrite décrivant un cas d’usage. Elle décrit le besoin utilisateur dans un langage usuel destiné à être compris par tous les acteurs du projet. Toutes ces demandes suivent théoriquement la même règle de rédaction : En tant que [persona], je souhaite [besoin] afin de [but]. 

L’objectif est de définir un besoin utilisateur avec ses objectifs (son histoire) pour améliorer en continu l'expérience utilisateur. Leur rédaction lisible, claire et sans ambiguïté est primordiale pour une réalisation  en accord avec les besoins réels. 

Les users storys suivent ensuite le cycle suivant :

  • Elles sont placées dans le product backlog (catalogue de produit), puis priorisées par le (Product Owner) ;
  • Au cours de la réunion de planification du sprint (sprint planning), le product backlog est présenté et ordonné avec les users stories. Les demandes de plus haute priorité seront celles réalisées au cours de ce sprint. 
  • La réalisation de la user story peut démarrer. Tous les jours lors du  daily, l’état d’avancement de celle-ci est présentée à l’équipe.
  • Une fois la réalisation de la user story terminée, celle-ci passe des tests unitaires, puis d’intégration et d’acceptation. Lors de la démonstration, montrer que la ou les nouvelles fonctionnalités (features) sont opérationnelles.

Le rôle du  "Product Owner"

Le Product Owner porte la responsabilité de la production et du maintien à jour du product backlog (ou carnet de produit). Il identifie les priorités pour chaque sprint en collaboration avec le client et décide des orientations du projet. 

Il a un rôle à jouer à chaque étape de l’itération : comprendre le besoin client et l’expliquer aux équipes de réalisation si elles ont besoin de précision, hiérarchiser le travail et s’assurer de l’avancement de celui-ci dans l’optique de la release (mise en production).  

En résumé, ces principales missions consistent en la gestion : de la priorisation des user Story par la valeur apportée au client, la validation des user stories réalisées.

 

4) Travailler en mode itératif 

 

Mise en place du management visuel 

Travailler par itération demande une organisation particulière et notamment un management visuel agile complet.  Il s’agit de gérer les sprints de manière transparente par le biais d’un ensemble d’outils visuels. L’idée première est de faire circuler l‘information.

Ces outils visuels permettent aux équipes de savoir ce qu’elles ont à faire et d’avoir une vision globale de l’avancement de chaque user story et tâches. Ils permettent également d’appréhender la charge de travail pesant sur les membres de l’équipe.

Le scrum board (tableau d’avancement) ou la méthode Kanban sont des méthodes de management visuel utilisés dans les projets agiles, mais il en existe des dizaines d’autres. 

 

 Mise en place de l'amélioration continue

L’amélioration continue est une composante du Lean management qui prend toute sa cohérence dans les projets agiles. En effet, le lean comme l’agile sont considérées comme des organisations apprenantes.

Dans le cadre des pratiques Scrum, la « rétrospective » est une réunion au cours de laquelle le sprint écoulé est analysé pour trouver des axes d’amélioration. L’équipe apprend de son expérience et en tire des compétences supplémentaires pour les sprints suivants.

De plus, par la mise en place d’un management visuel, les obstacles sont rendus visibles, bien identifiés sur un tableau par exemple et associés à la user story bloquante. Ces pratiques offrent des pistes d’amélioration continue entre deux rétrospectives de sprint.

La philosophie de l’amélioration continue passe par l’acceptation du « Test and learn » qui suppose le droit à l’erreur. L’objectif est de rendre les équipes autonomes dans la résolution des problèmes. 

 

L’agilité n’est pas un mot à la mode mais un ensemble de processus et d’outils très concrets pour mobiliser les équipes, favoriser la communication et aboutir ainsi à la mise en production d’un produit en adéquation avec le besoin exprimé par le client.

 

Manager IT rec

Déposer un commentaire

Inscrivez-vous à notre newsletter