La vraie difficulté du développement logiciel n'est pas de taper du code toujours plus vite.
La difficulté, c'est de découvrir les besoins et de garantir la cohérence (ancien besoins + implémentation + nouveaux besoins) alors que ça bouge sans arrêt.
Les contributions les plus sérieuses à la théorie et pratique du développement logiciel visent cela :
- Requirements Engineering (découverte)
- Logique axiomatique de Hoare (cohérence)
- Behavior-Driven Development (découverte)
- Test-Driven Development (cohérence)
- Continuous Delivery (découverte)
- Continuous Refactoring (cohérence)
Parmi ces contributions majeures, on citera la notion d'Unbiquitous Language.
Découvrir et maintenir la cohérence du vocabulaire entre tous les intervenants, le code, le modèle de données, les interfaces, l'équipe support, ça c'est vraiment nécessaire ET c'est vraiment compliqué pour les humains. D'ailleurs personne ne le fait ou presque tellement c'est titanesque.
Vous cherchez une idée de startup ? Les IA / LLM, c'est vraiment une aide potentielle :
- Animer les workshops de découvertes du vocabulaire partagé (découverte)
- Maintenir ce vocabulaire qqpart où tout le monde peut s'y référer (cohérence)
- Reverse engineering du code (découverte)
- Refactoring d'alignement (cohérence)
Ecrire du code toujours plus vite comme des poulets sans tête, non merci.
Aider au coeur de la difficulté du métier, certainement.
#SoftwareEngineering #Agile #IA