Représenter l’essence du développement Agile

February 23, 2020

Est-ce que, comme moi, vous en avez assez de voir des Jocondes et des trottinettes pour vous expliquer l’AgilitĂ© ? Oui mais alors, quelle image nous aiderait mieux Ă  saisir l’essence de cette approche du dĂ©veloppement logiciel ?

Judith et Holopherne, Le Caravage. 1607.

Un dimanche après-midi, je regardais sur Arte un passionnant reportage de FrĂ©dĂ©ric Biamonti : L’affaire Caravage.

C’est l’histoire d’un tableau (Judith et Holopherne), retrouvĂ© en 2014 dans un grenier près de Toulouse et attribuĂ© Ă  Michelangelo Merisi, dit le Caravage (1571-1610). Mais, aussi passionnante que soit cette enquĂŞte, c’est une simple remarque prononcĂ©e par Claudio Falcucci, un scientifique italien rĂ©putĂ© pour ses analyse des tableaux du Caravage, qui a retenu mon attention. Il montre, sur une image aux rayons X, la ligne qui dessinait l’épaule de la vieille servante dans une première version du tableau. Cette ligne a Ă©tĂ© recouverte par le voile de Judith dans l’œuvre finale. Et c’est la preuve qu’il ne s’agit pas d’une copie. Un copiste n’aurait pas fait un tel repentir1 : il aurait su exactement quoi reproduire puisqu’il l’avait sous les yeux.

Radiographie de Judith et Holopherne

Et il ajoute :

C’est donc l’œuvre d’un peintre qui est en train de réfléchir à la composition, en même temps qu’il réalise l’œuvre.

L’affaire Caravage, (timecode 0:50:47:0).

Cette phrase tourne dans ma tĂŞte: « RĂ©flĂ©chir Ă  sa composition en mĂŞme temps qu’on rĂ©alise une Ĺ“uvre. Â» Elle traduit bien le fait de ne pas savoir exactement oĂą l’on va.

L’analogie avec le dĂ©veloppement Agile (ou Lean) m’apparaĂ®t alors : la conception (dans notre jargon, on parlerait de spĂ©cification) change pendant la rĂ©alisation. N’est-ce pas ce qui nous arrive constamment dans le monde du logiciel ? Nous crĂ©ons un produit dont la dĂ©finition Ă©volue, s’affine, au fur et Ă  mesure qu’on le voit prendre forme.

Quand nous développons un logiciel, notre objectif n’est pas aussi clair que celui d’un peintre copiste. Il est plus souvent flou, soit parce que nous partons à la découverte de quelque chose que nous ne connaissons pas (innovation), soit parce qu’il nous est difficile d’exprimer clairement ce que nous connaissons.

C’est peut-être pour cette raison qu’on parle de développement pour le logiciel et non pas d’assemblage, de manufacture ou de production — vocabulaire qui fait référence à la fabrication en série, née pendant la révolution industrielle. Et c’est probablement pour cette même raison que je suis gêné quand j’entends parler d’exécution ou de codage pour du logiciel, parce qu’il ne s’agit pas d’exécuter un plan de façon mécanique.

Le mot dĂ©veloppement est du registre du vivant ; il n’est pas du mĂŞme registre que les mots qui dĂ©crivent le travail fait sur une chaĂ®ne de fabrication. Et nous devrions peut-ĂŞtre dire qu’un logiciel se dĂ©veloppe, que nous participons Ă  son dĂ©veloppement, plutĂ´t que dire « je dĂ©veloppe un logiciel Â», comme si tout venait de nous.

On voit souvent la Joconde utilisée dans les formations Agiles pour expliquer le concept de processus itératif ou incrémental. Mais maintenant, je crois que l’image la plus éclairante pour parler d’Agilité est celle du repentir en peinture.


  1. Correction du trait ou des couleurs apportée en cours d'exécution. Le Trésor de la langue Française informatisé↩