logo
Contactez-nous

Agilité & cocotte minute : le développement agile expliqué autrement

March 18, 2021

L’agilité est une tendance forte depuis plusieurs années. Le problème des tendances, c’est que le concept devient vite galvaudé, à tel point que l’on parle partout d’agilité, parfois à raison, souvent à tort.

Après le greenwashing et le socialwashing, voici l’agilewashing : faire croire à une méthodologie vraiment agile pour des raisons marketing, marque employeur ou vente.

Pourtant, l’agilité n’est que rarement appliquée dans ses fondamentaux.

Rappels utiles sur les méthodes agiles

D’abord, il faut rester vigilant et ne pas confondre Agile avec les méthodes agiles, comme Scrum par exemple, une confusion fréquente. Si le Scrum est bel et bien une méthode agile, il faut savoir qu’il en existe d’autres, comme Kanban ou XP.

Ensuite, être agile, c’est notamment avouer et accepter qu’on ne peut pas tout contrôler, ce qui peut être difficile à appliquer par certaines entreprises.

Rappelons au passage que l’on peut suivre à la lettre une méthodologie agile et échouer totalement de son projet, tout comme à l’inverse il est parfaitement possible de réussir sans suivre de méthodologie agile. L’agilité n’est pas une solution miracle, ce n’est qu’une méthode parmi d’autres, et elle n’est pas applicable à tous les projets et à toutes les entreprises.

Une brève histoire de l’agilité

À mesure que l’on code et que la taille des projets devient critique, on réfléchit à comment organiser les projets de manière à pouvoir gagner en efficience grâce à l’optimisation des processus. 

De ce fait, plusieurs façons de faire ont émergé au fil du temps. En 2001, un groupe composé de 17 experts rédigea un texte qui marqua son époque, jusqu’à aujourd’hui : Manifeste pour le développement agile de logiciels.

L’objectif de ce texte était de rassembler des principes qui résument ce qui semble fonctionner le mieux dans les méthodologies existantes jusqu’à ce moment précis.

Depuis, les principes fondateurs n’ont pas bougé, mais la méthodologie n’a cessé d’évoluer pour se perfectionner et mieux répondre aux enjeux du terrain.

Qu’est-ce que le développement agile ?

Le sujet du développement agile a déjà été traité en long, en large et en travers sur internet. Vous trouverez facilement des milliers d’explications avec une simple requête Google. Alors plutôt que de simplement reprendre le même discours, reformulons et précisons les grandes lignes de l’agilité.

Mieux comprendre l’agilité avec la métaphore de la cocotte minute

Le développement informatique est un sujet extrêmement complexe, particulièrement pour les novices, car riche en détails et peu digeste sans quelques notions de base.

Un seul cerveau humain ne peut en appréhender tous les aspects de prime abord... soit il aperçoit la big picture, soit il se concentre sur les détails. Il faut choisir ! Ces détails sont variés et cela crée plusieurs difficultés :

  • Des difficultés techniques sur les sujets que l’on ne maîtrise pas encore
  • Des difficultés d’ordre humain, notamment pour ce qui concerne les interfaces utilisateur et l’UX
  • Des difficultés de connaissance du besoin de l'utilisateur final, car celui-ci évolue constamment

Ces problèmes et d’autres encore génèrent de l’incertitude. Cette incertitude peut être comparée à la pression dans une cocotte minute, dans laquelle les parois sont les contraintes du projet en cours.

Ces contraintes peuvent être de différents types bien sûr, mais le plus souvent, il s’agit de contraintes de coût, de qualité ou de délai, les 3 grandes épines dans le pied du chef du projet.

Hélas, ce n’est pas si simple et cela ne s’arrête pas là…

En effet, plus le projet est complexe, plus il y a de fonctions à développer et de parties prenantes diverses… et donc, plus l’incertitude est importante. C’est mathématique. Pour en revenir à notre cocotte minute, c’est un peu comme s’il y avait beaucoup (trop) d’eau et que la pression continuait à augmenter de manière inquiétante.

La suite, vous vous en doutez : si l’on ne fait rien, la cocotte minute explose, et toutes ses parois volent éclat. Idem pour le projet, dont les contraintes sortent de leurs gonds : le coût explose, la qualité chute et les délais s’envolent.

La morale de la fable de la cocotte minute appliquée à l’agilité

Pour éviter la catastrophe, une cocotte minute est équipée d’une soupape de sécurité permettant de contrôler en permanence la pression. En développement logiciel et en gestion de projet, il faut s’en inspirer pour faire baisser la pression, c’est-à-dire diminuer continuellement le niveau d’incertitude. La soupape, ici, n’est autre que l’agilité.

Le développement agile pour réguler la pression d’un projet informatique

Le développement agile consiste donc à créer des cycles courts ainsi que des interactions constantes entre clients, développeurs, utilisateurs finaux et les autres parties prenantes.

Le but ? Réduire au maximum l’incertitude… et donc la pression. 

L’idée est simplement de conserver la pression au niveau le plus faible possible afin d’éviter que tout vole en éclats, parois de la cocotte comme contraintes du projet. Mais vu qu’on ne peut pas opter pour un extrême ou pour l’autre, il faut desserrer un peu la soupape à certains moments clés afin de laisser passer un peu de pression.

Dans le développement de projets informatiques, il faut accepter de ne pas pouvoir tout contrôler. La méthode pour répondre à ces enjeux est donc de laisser volontairement s'échapper certains éléments, pour mieux maîtriser le reste.

La méthodologie agile consiste donc à ne pas figer pas toutes les fonctionnalités mais à s’adapter au fur et à mesure, selon l’évolution du projet. Laisser un peu de mou sur les délais permettra peut-être de mieux maîtriser le coût, par exemple. Le développement agile permet de garder la main sur le projet en toutes circonstances.

Mattia Longhin

Une idée, un projet ?

Discutons-en !