Nouvelles Du Monde

Développeur : Ennemis naturels de l’architecture logicielle ?

Développeur : Ennemis naturels de l’architecture logicielle ?

2023-04-20 19:52:00

Pourquoi l’architecture logicielle est-elle si importante de toute façon ? Cela nous aide à mettre en œuvre de grands systèmes. En structurant le code en modules, nous pouvons nous assurer que les développeurs n’ont qu’à comprendre le module à modifier en détail pour apporter des modifications. Seule une connaissance superficielle est requise pour les autres modules, par exemple sur l’interface. Ce principe s’appelle “cacher l’information”: les détails sont cachés dans les modules et peuvent être modifiés avec peu d’impact sur les autres modules. De cette façon, les modules peuvent idéalement être compris et modifiés isolément. Si l’architecture est particulièrement réussie, les développeurs peuvent apporter des modifications au logiciel avec peu de connaissances et donc particulièrement facilement.

Eberhard Wolff travaille en tant que Fellow chez INNOQ et, à ce titre, conseille les clients sur les architectures et les technologies. Son accent technologique est mis sur les approches d’architecture moderne – cloud, livraison continue, DevOps ou microservices jouent souvent un rôle. Il est l’auteur de plus d’une centaine d’articles et de livres sur les microservices et la livraison continue, entre autres.

Par “bons” développeurs, nous aimerions nous présenter ici comme des personnes qui comprennent et peuvent développer davantage des systèmes compliqués. Ces personnes peuvent également faire face à des défaillances architecturales où les changements ne sont pas si faciles et peuvent avoir des implications difficiles à comprendre – parfois dans des parties entièrement différentes du système. Ils peuvent même trouver intellectuellement stimulant et agréable de s’attaquer à de tels problèmes. De plus, ces circonstances assurent non seulement un emploi sûr, mais aussi du prestige. Après tout, ces personnes sont souvent les seules à pouvoir encore modifier des systèmes importants et sont donc d’une grande valeur pour l’entreprise.

Des indices d’une telle compréhension des “bons” développeurs peuvent également être trouvés ailleurs : par exemple, quiconque utilise les subtilités d’un langage de programmation tel que Java dans le code, qui sont interrogées dans une certification, ne crée pas de code particulièrement facile à comprendre et à modifier, mais directement celui qui exploite pleinement les fonctionnalités et s’appuie sur les propriétés particulières de la langue. Le code est particulièrement difficile à comprendre et donc à modifier. Néanmoins, une telle certification est reconnue comme une indication de la capacité du développeur. Ainsi, toute personne capable d’écrire ou de lire un code particulièrement illisible est considérée comme particulièrement bonne.

Ces développeurs peuvent ne pas aimer les approches architecturales “académiques” et préférer une approche “pragmatique”. Après tout, ils profitent même de la situation. Cela fonctionne jusqu’à un certain niveau de complexité. Avec de “vraiment bons” développeurs, cela conduit à un niveau de complexité alarmant. Vous comprenez alors des systèmes qui sont un mystère pour les étrangers. Mais alors le travail des architectes logiciels ne tombera probablement pas sur un terrain fertile. Après tout, le système peut encore être développé – alors pourquoi mieux le structurer ? En fait, l’architecte peut même éventuellement quitter l’équipe pour trouver un autre poste où ses efforts ont plus de sens. Et donc les “bons” développeurs sont les ennemis naturels de l’architecture logicielle.

Le problème est de comprendre quand les femmes développeurs sont considérées comme “bonnes” au sens de compétentes. Bien sûr, les développeurs doivent comprendre les technologies. C’est certainement un avantage si vous pouvez gérer du code compliqué, mais vous devriez éviter de telles situations et certainement pas travailler vers elles. Les très bons développeurs préfèrent travailler sur du code simple. Vous avez juste une aversion pour le code compliqué – et puis les développeurs et l’architecture “propre” ont le même objectif.

Nous pouvons créer un environnement dans des projets dans lesquels l’architecture “propre” peut s’affirmer. Nous ne devrions pas féliciter les développeurs d’avoir fait un changement compliqué tout seuls. Au lieu de cela, l’accent devrait être mis sur la manière d’éviter des changements aussi compliqués à l’avenir et sur la manière de donner à davantage de personnes les moyens d’effectuer de tels changements. Pour encourager le développement d’une bonne architecture logicielle, nous devons récompenser les méthodes de travail positives et corriger les méthodes négatives. Au lieu de se concentrer sur la capacité individuelle d’un développeur à gérer un code compliqué, nous devrions nous concentrer sur la qualité du code et la mise en œuvre de l’architecture.

Il est également important d’avoir un large intérêt pour les sujets qui ne sont pas liés aux aspects purement techniques du développement. Cela aide à comprendre le domaine, les exigences et les utilisateurs et à mettre en œuvre les bonnes fonctionnalités. Pour ce faire, cependant, vous devez avoir un intérêt original pour le domaine et le sujet – c’est plus facile pour les personnes ayant un large éventail d’intérêts.

L’architecture logicielle est un moyen important de contenir la complexité des logiciels. Les développeurs qui sont également capables de gérer des systèmes complexes pourraient rejeter une telle compréhension de l’architecture.


(sih)

Vers la page d’accueil



#Développeur #Ennemis #naturels #larchitecture #logicielle
1682202527

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ADVERTISEMENT