Plateformes
plateaux #8
[plateaux, state-of-the-art]
Il est impossible de vraiment “représenter” un état de l’art. Au prix d’une réduction de ses multiples dimensions cependant, on peut tenter de le mettre en diagrammes, un peu comme on le mettrait en boite. 🔲
Par exemple une carte de Wardley représente partiellement l’état de l’art d’une solution technologique sur 2 axes : nécessité fin/moyens et industrialisation.
Une autre carte pourrait classer les procédés qui composent un état de l’art selon leur efficience, avec en abscisse le coût d’acquisition du procédé par l’équipe, en ordonnée le temps moyen entre deux défaillances du système en production.
Presque tout en bas à gauche de ce diagramme on trouverait les tests de non régression déroulés manuellement. Très loin en haut à droite, les méthodes formelles.
Lorsqu’une équipe ajoute à son état de l’art des procédés qui lui permettent d’améliorer la fiabilité et la facilité de changement de sa conception, on peut dire que cette équipe “change de plateau” de qualité, bien que cette notion d’altitude implique une réduction dans la représentation. 📈
Lorsqu’une équipe améliore continuellement et avec cohérence son état de l’art, celui-ci devient une “plateforme”, c’est à dire un plateau duquel il est moins facile de redescendre.
Exemple :
Une équipe adopte TDD. Pour un temps (et au prix d’un effort d’acquisition) elle passe à un nouveau plateau :
🄰 des tests qui décrivent le comportement du code vu depuis ses appelants
🄱 une détection et un diagnostic rapide des régressions
🄰 ×🄱 l’équipe accroît sa capacité de refactoring
Une autre équipe adopte le pair programming (avec rotation fréquente). Après un effort d’acquisition elle passe également à un nouveau plateau :
🄲 en binôme on détecte plus rapidement les défauts (de logique ou de conception)
🄳 chaque idée doit être exprimée à mon binôme pour être implémentée
🄲 ×🄳 l’équipe obtient une conception plus cohérente et un code plus expressif plus rapidement
Si une équipe adopte seulement TDD ou seulement PP, le risque d’abandon est plus élevé. (Ces pratiques demandent …de la pratique 🤓). La retombée du plateau n’est pas loin. 📉
Quand une équipe adopte à la fois TDD et PP son état de l’art devient une plateforme :
🄰 ×🄲 mon binôme détecte mes “rechutes” et m’aide à revenir au cycle TDD 🔺✅🔷
🄰 ×🄳 j’exprime une idée à mon binôme sous la forme d’un test
🄱 ×🄲 mon binôme détecte les défauts subtils, les tests détectent les bourdes
🄱 ×🄳 l’équipe passe moins de temps sur les bourdes et plus de temps sur le design
Après 6 semaines d’un tel régime, toute l’équipe connaît, comprend et s’aligne sur l’ensemble du code du projet (et ses membres peuvent alors revendiquer l’appellation “full stack”.)
Kent Beck fait remarquer à propos des pratiques XP qu’elles se renforcent mutuellement. C’est en quoi l’état de l’art XP constitue une plateforme particulièrement solide. 🗺🪜🧯