Méthodes Agiles : de la gestion de projet à la gestion de produit

Déc 14, 2021 | Tendances

Quels sont les principes des méthodes agiles ?

Les méthodes agiles sont bien plus qu’une méthodologie de gestion de projet, il ne convient pas de restreindre le concept d’agilité à cela. Il s’agit plutôt d’adopter une approche ou une philosophie agile permettant ainsi d’orienter la démarche de production vers le client et le produit et ce en orchestrant les tâches et responsabilités des parties prenantes avec souplesse.

Ainsi, la notion même de « gestion de projet » est remise en question au profit de « gestion de produit ». Dans l’article ci-contre, nous aborderons les grands principes de l’agilité, ses principales déclinaisons, puis les différences avec la gestion de projet traditionnelle. Enfin, nous parlerons des outils et ateliers issus et utiles à l’agilité.

 

Nouveau call-to-action

En 2001, 17 experts en informatique ont conjointement défini le Manifeste Agile, bible du framework et décrivant les principales valeurs de l’agilité. Ces experts reconnus pour leurs apports respectifs aux méthodes de développement d’applications nous donnent un cadre de priorités pour la réalisation agile d’un produit.

Ainsi, les valeurs motrices énoncées dans le manifeste sont les suivantes :

  • Privilégier les individus et les interactions plutôt que les processus et les outils : le travail collaboratif d’une équipe soudée et une communication bienveillante, constante et pertinente génèrent une plus grande valeur que n’importe quelle procédure ou outil.
  • Prioriser des fonctionnalités opérationnelles à une documentation exhaustive : la documentation d’un produit n’étant pas la finalité en soi, une application qui fonctionne saura mieux satisfaire l’ensemble des parties prenantes. Pour ce faire, la simplicité et l’excellence technique sont motrices.
  • Favoriser la collaboration avec le client plutôt qu’une négociation contractuelle : passée l’alliance initiale, le client doit être impliqué dans les développements.
  • Accepter le changement et ne pas se conformer à la planification : la flexibilité quant au planning et aux fonctionnalités du produit final sont indispensables pour être en mesure d’absorber les évolutions nécessaires en vue de renforcer l’avantage concurrentiel de celui-ci et in fine celle du client.

Pourquoi opter pour la gestion de produit ?

La mise en place d’un mode agile pour la réalisation d’un produit ou d’une application informatique permet aux parties prenantes de bénéficier des avantages qu’offrent ces méthodes. Avant d’en citer les principaux, intéressons-nous à la philosophie de l’agilité. Le paradigme introduit par la notion est celui du produit, en opposition aux méthodes traditionnelles, qui se traduisent en projet.

Afin de cerner la frontière entre un projet et un produit, il est nécessaire de décrire et de définir le triangle périmètre-coût-délai, principale différence entre les deux approches. Ainsi, dans un projet mené avec une méthode dite traditionnelle (cascades, V ou autre…), ce triangle représente les indicateurs de suivi et de cadrage du projet ; le chef de projet ainsi que le client vont porter une attention particulière au respect des engagements portés par chacune des branches du triangle.

L’idée est donc d’avoir un périmètre strict, dans un temps imparti et avec un budget limité. L’approche produit révolutionne ce spectre d’actions en abolissant les contraintes qu’impose les méthodes traditionnelles en se basant plutôt sur l’optimisation de l’impact business à court, moyen et long terme. Le pilotage se fait ici par la valeur et non plus par les aspects budgétaires.

L’approche Agilité offre l’opportunité d’une mise en service rapide s’accompagnant d’évolutions permanentes du produit. Grâce à ce type d’approche, une première version du produit sera disponible dès les premières semaines de développement et sera, constamment complétée et améliorée par des retours fréquents d’utilisateurs.

Outre la maximisation de l’impact sur le long terme, une approche agile permettra de promouvoir une innovation efficace dans un contexte favorisant le dé-silotage de l’organisation.

Ces avantages stratégiques s’ajoutent aux autres bénéfices intrinsèques de l’agilité, à savoir :

  • Le versionning : des développements et des livraisons rapides et très fréquents de versions opérationnelles, favorisant entre autres un feed-back client continu et une réduction du time-to-market,
  • Une coopération permanente entre le client et les développeurs synonyme d’un alignement sur le marché et les besoins métier,
  • Une excellence technique encouragée et une identification plus rapide des problèmes,
  • Un accueil favorable du changement et une planification itérative permettant ainsi une maitrise de ses coûts,
  • Une motivation pérennisée.

> À LIRE AUSSI : Les étapes pour construire un plan de conduite du changement

Quels sont les types de méthodes agiles ?

Pour mieux comprendre le concept (méthode agile au singulier) ainsi que ses différentes déclinaisons (méthodes au pluriel), nous allons aborder les principales méthodes agiles déployées actuellement dans la gestion de projet informatique : la méthode Scrum, eXtreme Programming (XP), la méthode kan ban et la méthode SAFE.

La méthode Scrum

La méthode Scrum qui signifie mêlée au rugby, est actuellement la méthode agile la plus populaire.

Elle se caractérise comme suit :

  • Des sprints : sous forme d’itérations de développements assez courtes (entre 1 et 4 semaines),
  • Des rôles : les principaux sont le Product Owner, le Scrum Master, l’équipe,
  • Des timeboxes : la planification de release et de sprint, des daily meeting, une revue de sprint, rétrospective…,
  • Des artéfacts : un backlog de produit, un plan de produit, un plan de sprint, des burdown/burnup de release, des burdown/burnup de sprint.

La méthode Scrum prévoit comme évoqué ci-dessus, des rôles. Ainsi, l’équipe de développeurs ainsi que le client et les autres parties prenantes s’articulent autour du Product Owner et du Scrum Master. Chacun de ces rôles est nécessaire et primordial si l’on souhaite mettre en place une méthode Scrum. En effet, ne prévoyant ni cahier des charges, ni spécifications techniques, ni même un planning ou des jalons définis, un projet mené en Scrum décline tout de même une série de responsabilités et de tâches et prévoit ainsi un périmètre bien défini pour les rôles prévus.

A titre d’exemple, l’équivalent du cahier des charges (gestion de projet traditionnelle) pourrait être le Backlog Produit. Ce formalisme prévoit de définir une tâche par post it (développement d’une fonctionnalité par exemple) et de la classer selon son statut (à faire, encours, fait) et de la déplacer au fur et à mesure que celui-ci évolue.

eXtreme Programming (XP)

Souvent déployée conjointement à la méthode Scrum, l’objectif principal de cette méthode est de réduire les coûts du changement.

Dans cette approche, les priorités sont les suivantes :

  • Une revue du code : en permanence par un binôme,
  • Des tests : systématiques avant chaque développement,
  • Le refactoring : une conception continue,
  • La traduction des besoins en métaphores.

Ce cadre de travail a pour fondations les principales valeurs de l’agilité :

  • La communication,
  • Le courage,
  • Le feedback,
  • La simplicité,
  • Le respect

La méthode kanban

Inspirée de la méthode Lean et mise au point dans les années 50 dans un contexte d’optimisation de la production de véhicules dans les usines Toyota, la méthode Kanban est aujourd’hui largement utilisée en entreprise et se base principalement sur deux principes : le visuel et le temps réel matérialisés par des post it (étiquettes) et des tableaux.

L’objectif de cette méthode est d’éviter la surproduction (production réalisée à flux tendus, à la commande, pas de stocks) et le gaspillage, de réduire les délais et les coûts en s’adaptant en permanence au besoin du client.

Cette méthode permet en outre de réagir rapidement et corriger un défaut sur un produit ou résoudre un problème dans la chaîne de production.

La méthode se caractérise comme suit :

  • Le Kanban board,
  • Un pilotage visuel,
  • Des indicateurs / cycle time,
  • Un diagramme de flux cumulés.

La principale différence philosophique entre l’approche Kanban et la méthode Scrum est la limitation du nombre de tâches en cours. Comme évoqué précédemment, la méthode Kanban prévoit l’utilisation d’un visuel ; à savoir un tableau, dans lequel seront définies plusieurs colonnes permettant d’y placer les post it (tâches) selon leur état d’avancement. Ici, chaque colonne a un nombre de post it limité et conditionnant la réalisation de tâches placées sur d’autres colonnes. À titre d’exemple, le nombre limite de post it de la colonne « En cours de développement » est de 5, celui des « Tests en attente » est de 2, celui des « Tests en cours » est de 3.

La méthode SAFE

Il existe en outre des méthodes agiles permettant la mise à l’échelle du cadre telles que la méthode SAFE : Scaled Agile Framework à titre d’exemple.

Celle-ci est déclinée dans des contextes de très grande envergure. L’utilisation de méthodes agiles à l’échelle est moins répandue que celles précédemment citées (scrum, xp, kan ban) et nécessiterait pour une mise en place pertinente et efficace, des certifications officielles auprès d’instituts agréent. Ce type de certifications est aussi possible (et souvent exigé par les clients) pour le framework Scrum. L’approche SAFE sera détaillée dans un prochain article.

Quelles sont les différences entre les méthodes agiles et les méthodes traditionnelles ?

L’approche « traditionnelle » de la gestion de projet informatique se caractérise par des phases définies et laisse peu de place aux changements ou à l’adaptabilité contrairement à la méthode agile. Dans un tel cadre, une expression détaillée du besoin est nécessaire, généralement sous forme de cahier des charges souvent accompagné de spécifications détaillées – documents faisant objets de validation auprès du client. Un planning et des jalons fixes, rigides et contractuels sont aussi prévus et défini dans ce type de méthodologie.

Une fois les phases de cadrage et de collecte / spécification du besoin effectuées, l’équipe technique peut commencer les travaux de développements. Après réalisation de cette tâche, des tests ainsi qu’une recette doivent être lancés pour être validés ou non. Une documentation stricte est également à livrer au client.

Bien qu’ayant fait leurs preuves, les méthodes traditionnelles, prédictives et séquentielles de type cycle en V ou waterfall (en cascade) créent parfois un effet tunnel. Cet effet est lié à la phase de développement, période qui peut être très longue et durant laquelle le client n’a pas de visibilité sur le produit final (l’application à titre d’exemple). Ce produit (encours de développement) peut s’avérer être en déphasage avec le besoin initial. Le cas échéant, il est nécessaire de se reporter au cahier des charges, aux spécifications ainsi qu’au contrat liant les deux parties. Un déphasage peut également être observé entre le besoin opérationnel et celui décrit dans la phase d’expression de besoin.

A titre d’exemple, il arrive qu’un onglet ou une fonctionnalité ne soit que très peu utilisé (voire jamais) sur certaines applications et/ ou logiciels avec un temps de développement qui aura été plus que conséquent. Ces exemples illustrent parfaitement les aléas que peuvent impliquer les méthodes traditionnelles de gestion de projet.

En définitive, la mise en place d’une méthode traditionnelle se caractérise par les éléments suivants :

  • La priorité aux processus et outils et non aux personnes et interactions,
  • Le caractère indispensable de la documentation,
  • Le respect strict des éléments contractuels,
  • La rigidité de la planification.

Les méthodes agiles s’articulent autour de concepts tels que le travail collaboratif et l’intelligence collective. Ces derniers s’apparentent plutôt à un état d’esprit introduit et pérennisé grâce à cet écosystème agile optimal.

Celui-ci, facilitera d’ailleurs le déploiement d’un cadre agile tant par un outillage technologique que méthodologique. Ainsi, Trello, Confluence, Klaxoon, Jira ou encore Git sont des outils de collaboration favorisant les échanges et fluidifiant la communication entre les membres d’une ou de plusieurs équipes.

En outre, des outils méthodologiques d’animation d’ateliers comme le speedboat ou le pont de corde alimentent également cet écosystème. Nous détaillerons cet écosystème, ses caractéristiques et principaux outils dans un prochain article. Celui-ci nous permettra par ailleurs d’aborder la notion d’apprentissage ludique et agile par la gamification et les serious games.

 

Yasmine Fasla

 

Par Yasmine Fasla
Consultante data senior chez DataValue Consulting

 

La rédaction vous conseille

> Les étapes pour construire un plan de conduite du changement

Nos ressources

Livre Blanc

Mise en oeuvre d'une stratégie 
de qualité des données 

Livre Blanc

Feuille de route d'une stratégie
de Data Management 

Baromètre annuel de la data

Les priorités des décideurs
data en 2022 

Share This