Préférence pour le throwaway code plutôt que les documents de conception
(softwaredoug.com)-
Nous imaginons que le développement logiciel suit un flux propre et ordonné
- on rédige un document de conception, puis on déploie de petites modifications via des PR pour implémenter une fonctionnalité
- l’historique Git paraît propre et bien rangé
- mais la réalité est différente
-
Écart entre document de conception et implémentation réelle
- implémenter à l’identique un document de conception est une illusion
- une fois le codage commencé, on finit par modifier le contenu du document de conception
- aucun plan ne survit au contact avec l’ennemi
-
Nouvelle méthodologie de conception : immersion dans le code
- utiliser des brouillons de PR pour implémenter des prototypes
- recueillir des retours très tôt afin d’ajuster l’approche
- documenter les brouillons de PR comme archive historique des idées de conception
- être prêt à jeter complètement un brouillon de PR
- faire évoluer progressivement le brouillon de PR vers des PR par étapes
- tester chaque PR étape par étape et en renforcer la robustesse
-
Importance de la maturité
- la capacité à abandonner les idées déjà codées est essentielle
- transmettre la connaissance organisationnelle compte davantage que le nombre de lignes de code
- s’aligner tôt sur les points importants afin que le travail de prototypage ne soit pas gaspillé
-
Utiliser les PR comme documentation
- les PR sont l’une des meilleures formes de documentation pour les développeurs
- les PR sont des artefacts historiques qui reflètent l’état à un moment précis
- les documents de conception fournissent souvent des informations différentes de la réalité
-
Importance du prototype
- un prototype vaut plus que 1000 documents de conception
- pour impulser le changement, il faut le faire avec du code, pas avec des documents
- l’organisation doit voir les prototypes comme des questions, et non comme des réponses
-
Utilité des documents de conception
- utiles pour organiser et archiver les retours de diverses parties prenantes
- utiles lorsque l’idée est trop conceptuelle ou de trop long terme
- utiles lorsqu’exprimer une idée par écrit est plus efficace que de la coder
- utiles lorsque l’organisation n’a pas la discipline nécessaire pour abandonner sa première solution
- ils offrent un cadre où les profils juniors peuvent remettre en question en toute sécurité les idées des développeurs seniors
-
Mauvais usages des documents de conception
- utilisés pour ralentir le processus chez des développeurs moins expérimentés
- utilisés comme documentation, mais deviennent vite obsolètes
- tentent de résoudre tous les problèmes de conception alors que les vrais problèmes se découvrent en codant
-
Si l’équipe peut faire preuve de discipline, bricoler est bien plus efficace que concevoir sur document
- il est recommandé de construire cette discipline au sein de l’organisation
- au final, le code a plus de poids que les mots
1 commentaires
Avis Hacker News
Le prototypage est une partie importante du processus de conception, et il est nécessaire de définir le problème et de clarifier la solution
L’écriture est utile pour explorer un problème, et certains ont vécu l’expérience de penser avoir compris un problème avant que l’écriture ne fasse surgir de nouvelles questions
Certains ont déjà utilisé des solutions temporaires pour terminer un projet dans les délais
Le plus gros problème des documents de conception, c’est que personne ne les lit
La différence entre les retours sur le code et sur la conception est importante
Si la description du poste consiste à écrire beaucoup de code pour voir ce qui fonctionne, GPT peut le remplacer plus vite et à moindre coût
Presque personne n’imagine que le développement logiciel suit un flux propre et bien ordonné
Certains ont déjà vu du code s’empiler comme un Jenga, au point que plus personne ne veut y toucher
Certains préfèrent un processus qui documente les décisions de conception à l’aide d’un fil de commentaires continu
Certains réfléchissent à cette approche, en se disant que dans le pire des cas elle peut faire perdre beaucoup de temps