Pour documenter l’état de l’art complet d’une équipe à un instant t, il faudrait produire :

  • la base de code ainsi que l’ensemble des modèles de données et de flux et leur historique

  • une référence des librairies, frameworks, langages, algorithmes, paradigmes, processus, et stratégies utilisés par l’équipe

  • une transcription des conversations qui ont structuré jusqu’ici l’état de l’art et son évolution

Il faudrait ajouter à cela les objectifs ainsi que le contexte du projet, sans lesquels la liste qui précède perd une partie de son intelligibilité.

Se poserait également la question d’inclure ou non des éléments de l’état de l’art du Métier pour lequel le projet existe.

🗺🪜🧯

C’est une tâche ingrate et coûteuse. Aucune équipe ne décrit son état de l’art de manière exhaustive : ce serait comme lancer un deuxième projet à côté du premier.

À la place de la Documentation Idéale de son état de l’art, c’est la Documentation Réelle que l’équipe utilise : c’est à dire une documentation fragmentaire, imparfaite, vivante (au sens de Living Documentation si l’on veut), adéquate à l’instant t pour la décision qui est à prendre.

Même si l’état de l’art n’est pas matérialisable à l’instant t, sa réalité est absolument indiscutable pour l’équipe. Toute équipe travaille simultanément sur la conception de son système et sur l’état de l’art qui la guide.

Voici un exemple.

Equipe A :

— Est-ce que je peux te demander où est-ce que le code nous emmène avec ces if imbriqués et ces compteurs ?
— Bien sûr. Tu te rappelles que le formulaire d’inscription inclut des contrôles tarabiscotés sur la composition du mot de passe. Attends, je cherche la règle précise…
— Il doit y avoir un meilleur moyen de faire ça…

🤔

Equipe B :

— Le formulaire d’inscription inclut des contrôles tarabiscotés sur la composition du mot de passe, dis-donc.
— Je sais. Utilise une Expression Régulière. Il y a une fonction match qui devrait faire l’affaire.
— Tu connais le proverbe : j’ai un problème; je décide je prendre une RegExp
— …maintenant j’ai deux problèmes, je sais. Mais là, il y a pas de question.

😎

L’équipe A est en passe de découvrir une nouvelle recette qu’elle va discuter puis ajouter à son état de l’art.

L’équipe B applique une vieille recette, puisée mécaniquement dans son état de l’art. Elle va aussi discuter afin d’améliorer celui-ci, mais sur d’autres sujets que les Expressions Régulières.

Chaque équipe alimente son état de l’art parce que sa vocation est d’apprendre, et que son travail consiste précisément à conquérir des complexités jusque là inconnues pour elle. 📈

Pourquoi partir à la conquête des complexités inconnues ? Parce que si vous ne le faites pas, votre projet sera en retard. Un projet, pour la Technique, c’est un pari contre de la complexité inconnue.

Stay Tuned !

publié sur LinkedIn le 28/03/2023