Le développement de logiciel est un travail complexe. Pour simplifier ce travail, nous le divisons :

🗺 en vues hiérarchiques et transversales, à l’intérieur et entre lesquelles s’opèrent les traductions : le domaine fonctionnel, le système d’information, l’architecture applicative, la conception, l’implémentation, l’infrastructure etc.

👩🏽‍💻 en rôles spécialisés : PO, Proxy PO, Architecte, Tech Lead, Développeur, Business Analyst, DevOps, QA Testeur, etc.

⏬ en étapes dans un flot de transformation des idées qui “descend” du stratégique conceptuel (idéation) vers l’implémentation, jusqu’à des interactions concrètes entre acteurs humains et/ou numériques.

Il existe un flot de retour d’information, qui remonte depuis les observations ou les analyses concrètes vers le conceptuel stratégique, mais proportionnellement le flot descendant est beaucoup plus large : nous passons beaucoup plus de temps à créer du logiciel neuf qu’à étudier du logiciel existant.

Pendant plusieurs décennies nous nous sommes concentrés sur la conception et la spécification. Les délais importaient peu, ce qui comptait c’était la conformité aux idées initiales, au plan, et la qualité des traductions descendantes. On disait “les études montrent qu’une erreur de conception coûte 1000 fois plus cher qu’une erreur de programmation.”

Puis nous avons passé deux décennies à améliorer la construction, l’intégration continue et le déploiement continu. Le maître-mot d’aujourd’hui est la vitesse. La vitesse compte, car elle permet d’augmenter la fréquence des retours d’information, qui à leur tour permettent, en théorie, de faire moins d’erreurs de conception, ou plutôt de faire plus d’erreurs mais beaucoup moins conséquentes.

En théorie seulement, car nous ne sommes pas encore à l’ère du retour d’information. Le retour d’information se produit non pas quand la boucle est en place mais quand les acteurs utilisent effectivement l’information.

Nous ne livrons plus 1 an de projet, mais nous livrons l’un après l’autre, 26 incréments de 2 semaines.

⏫ La remontée d’information ?

  • quelques logs
  • une poignée de tickets d’incident
  • Une heure de rétro par quinze jours de travail

Ces activités :

  • relire
  • déboguer
  • tester
  • documenter

sont inexistantes ou minoritaires, ne sont pas enseignées et sont menacées d’obsolescence. Les vérifications automatisées et l’IA vont bientôt remplacer tout ça.

Le feedback structuré, l’art de formuler et de recevoir des retours d’information, fait tâche : c’est une pratique insolite, un rien clivante, un truc de coach.

Nous ne savons pas lire dans la réalité d’aujourd’hui l’histoire de l’état de l’art du projet, son évolution depuis le cadrage, sa cristallisation dans le code.

Nous déclarons une dette imaginaire en euros, et puis nous l’effaçons. Elle était imaginaire.

Au lieu d’apprendre à maintenir l’existant, nous démarrons une refonte.

Nous n’apprenons pas, nous changeons de technologie.

🤔 Stay Tuned !

publié sur Linked In le 27/01/2023