Martin Fowler a donné, le deuxième jour de la conférence OSCON 2015, une présentation de 14 minutes sur l’importance de l’architecture logicielle. Voici la vidéo traduite avec sous-titres. (sous-titres en coréen)
Martin Fowler partage le contenu d’un échange par e-mail avec Ralph Johnson, l’un des membres du GoF, et critique la généralisation excessive de la notion d’« architecture logicielle » telle qu’elle était communément admise. Il souligne que, dans un projet logiciel, la profondeur des connaissances partagées par les développeurs au sujet du projet est essentielle, et qu’étant donné que les décisions d’architecture sont difficiles à modifier, le plus important dans la conception de l’architecture réside dans les différents choix qui portent sur la valeur centrale du projet.
Il souligne également une autre tendance : dans les projets, la qualité du code passe souvent au second plan. D’une certaine manière, c’est assez naturel, car du point de vue du client qui paie réellement pour le logiciel, la qualité du code n’est pas visible. Martin Fowler explique que la qualité d’un logiciel se divise entre qualité externe (External Quality) et qualité interne (Internal Quality) : les défauts visibles par l’utilisateur, comme l’UX ou les bugs, relèvent de la qualité externe, tandis que la qualité du code fait partie de la qualité interne, invisible pour l’utilisateur. L’architecture logicielle est liée à cette qualité interne ; comme elle n’est pas directement perceptible, il est naturel que l’utilisateur choisisse l’option la moins chère à fonctionnalité égale. Mais un logiciel dont la qualité interne est médiocre entraîne des coûts bien plus élevés lorsqu’il faut ajouter des fonctionnalités ou le faire évoluer. À l’inverse, un logiciel doté d’une bonne qualité interne voit son code source se transformer en plateforme, ce qui rend les ajouts de fonctionnalités plus simples et plus rapides sur le long terme. Martin Fowler appelle cela l’« hypothèse de l’endurance du design ». Selon lui, c’est précisément la capacité à ajouter continuellement des fonctionnalités qui explique l’importance de l’architecture logicielle.
Fichier PDF de la chronique mentionnée pendant la conférence :
https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
Article publié à l’époque d’OSCON 2015 :
4 commentaires
Référence - Pourquoi il faut utiliser des ADR :
https://fr.news.hada.io/topic?id=2665
Uncle Bob, c’est Robert C. Martin
Ah bon ? Alors il semble que je me sois trompé.
Bon courage