Saturday, July 10, 2021

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 😉😇

Tuesday, July 6, 2021

Mentor, coach, tuteur, parrain quelles différences


Mentorat


Le mentoring, ou mentorat consiste à soutenir et à encourager les personnes à gérer leur propre apprentissage afin qu'elles puissent maximiser leur potentiel, développer leurs compétences, améliorer leurs performances et devenir la personne qu'elles veulent être. La relation 'mentorale' conjugue transferts et/ou partage de savoirs (savoir-faire et savoir être), bienveillance et confiance entre le mentor et le mentoré. Le mentor offre un soutien au mentoré en lui transmettant des connaissances et lui prodiguant des conseils dans le but de l’aider à progresser dans sa carrière, faire aboutir un projet, gagner en compétence… Le mentorat peut être formel ou informel. Dans un environnement informel, les mentorés se fixent des objectifs, mais ils ne sont généralement pas mesurables et les relations ne sont pas structurées. Dans une relation de mentorat formelle, il existe des objectifs réalisables et mesurables définis et fixés avec des exigences déterminées.

Pourquoi le mentorat est-il important ?

Un bon mentor peut aider le mentoré à devenir plus efficace au travail, à acquérir de nouvelles compétences, à développer une plus grande confiance en soi et à prendre de meilleures décisions pour la croissance globale de sa carrière.
Les mentors aussi acquièrent de nombreux avantages, notamment la satisfaction de voir les autres se développer ; perspectives générationnelles et culturelles élargies; renforcement des compétences techniques, de leadership et interpersonnelles; et continuer à expérimenter de nouvelles idées et perspectives

Comparons le mentorat au autres modes d'accompagnement:

 Le coaching a pour but d’aider un « coaché » à trouver ses propres réponses dans le cadre d’une démarche personnelle ou professionnelle grâce à un « coach » formé aux techniques de l’accompagnement. Le coach ne connaît à priori rien du métier du « coaché ». Alors que le mentorat vise avant tout la transmission de savoirs, le coaching est une relation qui permet d’atteindre un ou des objectifs de développement définis dans le temps.

Dans le tutorat, le « tuteur » transmet sa connaissance d’une tâche, d’un savoir, savoir faire ou savoir-être et accompagne le « tutoré » dans l’apprentissage d’un nouveau métier ou d’une nouvelle tâche. Il s’assure que les savoirs sont acquis à la fin de la mission. Il y a généralement évaluation du tutoré par son tuteur alors que cette notion n’existe jamais dans le mentoring.

Le « parrain » prend en charge les premiers pas de son « filleul » qu’il guide pour lui éviter des difficultés de parcours. Il répond aux questions mais il n’y a dans la plupart des cas pas d’objectif précis, de fin dans la relation, ni de contractualisation.


Si vous souhaitez être mentoré ou implémenter le mentoring dans votre institution ou votre entreprise, contacter mentor@pascal-fares.fr (micro-entreprise enregistré à Paris -900 438 227-) 




Monday, July 5, 2021

Architecture d'applications

Une architecture d'application est une modélissation de la manière dont les applications logicielles d'une organisation sont assemblées dans le cadre de son architecture d'entreprise globale et de la manière dont ces applications interagissent les unes avec les autres pour répondre aux besoins de l'entreprise ou des utilisateurs. Une architecture d'application permet de garantir que les applications sont évolutives et fiables, et aide les entreprises à identifier les lacunes dans les fonctionnalités.


En général, l'architecture d'applications définit la manière dont les applications interagissent avec les middleware, les bases de données et d'autres applications. Les architectures d'applications suivent généralement des principes de conception de logiciels qui sont généralement acceptés par le groupe, mais peuvent manquer de normes industrielles formelles.

Saturday, July 3, 2021

Le TOGAF Domaines d'architectures (partie 1): La norme TOGAF est un cadre pour l’architecture d’entreprise.

La série d'articles concernant le TOGAF est issue de l'opengroupe Réf: le TOGAF https://www.opengroup.org/togaf

Il peut être utilisé librement par toute organisation qui souhaite développer une architecture d’entreprise pour une utilisation au sein de cette organisation.

Domaines d’architecture

Il existe quatre domaines d’architecture :

L’architecture opérationnelle ou métier– définit la stratégie opérationnelle, la gouvernance, l’organisation et les processus opérationnels clés;

L’architecture des données - décrit la structure du patrimoine de données logiques et physiques d’une organisation et comprend une description des ressources de gestion des données; Une description de la structure et de l’interaction des principaux types et sources de données de l’entreprise, aux niveaux logique et physique et des dispositifs pour gérer ces données.

L’architecture des applications - fournit un plan directeur pour les applications individuelles à déployer et décrit leurs interactions et leurs relations; description de la structure et des interactions des applications qui concrétise les dispositifs fournissant des fonctions business clés et gèrent les données.

L’architecture technologique - décrit les capacités logicielles et matérielles logiques; Une description de la structure et de l’interaction des services technologiques et des composants technologiques.


Domptez l'IA : Mon guide personnel pour mieux parler à Gemini

On a tous vécu ce moment. Vous ouvrez Gemini, vous tapez une question rapide... et la réponse est "mouais". Pas fausse, mais pas t...