Pourquoi l'architecture logicielle est plus importante que jamais (réf: Continuous Architecture in practice)

L'amélioration continue vaut mieux que la perfection différée. -Mark Twain



L'objectif de l'architecture reste d'offrir une valeur ajouté commerciale, la vitesse de livraison croissante attendue des informaticiens (TIC) au sein des entreprises présente de nouveaux défis. Dans le même temps, la facilité d'utilisation et les attentes 24h/24 et 7j/7 des utilisateurs finaux sont dictées par l'expansion écrasante de la technologie dans la vie quotidienne : nous sommes passés des PC aux tablettes, aux smartphones et à la technologie portable. Les ordinateurs sont maintenant dans nos poches. Ils sont presque toujours connectés les uns aux autres et leurs capacités dépassent nos besoins! Les équipes de livraison de logiciels d'aujourd'hui doivent désormais fonctionner à l'heure et à l'échelle d'Internet et du cloud. Cela a considérablement accru les exigences des parties prenantes de l'entreprise et a entraîné l'adoption croissante de pratiques agiles, de livraison continue, de DevOps et même de DevSecOps.

Pour relever ces défis et atteindre l'objectif de création de valeur commerciale dans cet environnement en évolution rapide, il est plus important que jamais pour les activités d'architecture de permettre une livraison précoce et continue de valeur et de s'assurer que ce qu'elles font appuie cet objectif.
ON PEUT, PEUT-ÊTRE, SE POSER LA QUESTION, MAIS C'EST QUOI UNE ARCHITECTURE AU JUSTE?
Quand on parle d'architecture, on s'intéresse à l'architecture logicielle. Mais comment définir l'architecture logicielle ? Voyons quelques définitions courantes.
D'APRÈS INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING (IFIP):
L'architecture logicielle fait référence aux structures fondamentales d'un système logiciel et à la discipline de création de ces structures et systèmes. Chaque structure comprend des éléments logiciels, des relations entre eux et des propriétés à la fois des éléments et des relations. L'architecture d'un système logiciel est une métaphore, analogue à l'architecture d'un bâtiment. Il fonctionne comme un modèle pour le système et le projet en développement, définissant les tâches nécessaires à exécuter par les équipes de conception.
L'architecture logicielle consiste à faire des choix structurels fondamentaux qui sont coûteux à modifier une fois mis en œuvre. Les choix d'architecture logicielle incluent des options structurelles spécifiques à partir des possibilités de conception du logiciel. . . .

La documentation de l'architecture logicielle facilite la communication entre les parties prenantes, capture les premières décisions concernant la conception de haut niveau et permet la réutilisation des composants de conception entre les projets
D'APRÈS INTERNATIONAL STANDARDS ORGANIZATION AND INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS (IEEE)
Architecture : Concepts ou propriétés fondamentaux d'un système dans son environnement incorporés dans ses éléments, leurs relations et dans les principes de sa conception et de son évolution.
AIE TOUJOURS PAS CLAIRE, VOYONS POURQUOI RÉALISER DES ARCHITECTURES
Au moins 4 raisons..
  1. Atteindre les exigences d'attributs de qualité pour un système logiciel. L'architecture concerne la mise en œuvre d'exigences d'attributs de qualité importantes, telles que la sécurité, l'évolutivité, les performances et la résilience.
  2. Définir les principes directeurs et les normes d'un projet ou d'un produit et développer des plans directeurs. L'architecture est une vision du futur et des outils de support pour aider à communiquer la vision. Les Blueprints permettent d'abstraire l'architecture à un niveau approprié pour prendre des décisions commerciales et techniques. Ils facilitent également l'analyse des propriétés et la comparaison des options.
  3. Créez des services utilisables (et peut-être même réutilisables). Un aspect clé de l'architecture logicielle consiste à définir de bonnes interfaces pour les services.
  4. Créez une feuille de route vers un état futur de l'informatique. L'architecture traite des activités de planification de la transition qui mènent à la mise en œuvre réussie d'un plan informatique.
Maintenant que nous avons une définition de travail de l'architecture logicielle, on peut aborder avec sérénité le parcours d'architecte logiciel 😉😇

Commentaires

Posts les plus consultés de ce blog

Mentor, coach, tuteur, parrain quelles différences

Cloud and IT challenges

Empaquetage et déploiement avec Spring Boot