Table ronde «Architecte du projet informatique», septembre 2018

Le 5 septembre, Moscou a accueilli la table ronde «IT Project Architect» au HSE. L'organisateur de la table ronde, Maxim Smirnov, est un blog sur l'architecture et la chaîne Facebook .

Je suis très heureux que de tels événements aient lieu. Devenir un architecte cool était et reste mon rêve. Pendant très longtemps, je n'ai pas compris comment les architectes obtiennent généralement, comment se développer et quelles directions choisir pour qu'ils mènent à l'architecture, et, je pense, de telles questions ne se posent pas seulement pour moi. C'est formidable qu'il y ait une communauté où vous pouvez venir poser des questions aux architectes.

Lors de la table ronde, 4 rapports de 15-20 minutes ont été présentés, après quoi des questions ont été posées par l'auditoire et la discussion.

Les rapports étaient brefs et précis, et la discussion a été très animée et approfondie.



De plus, mes notes lors des rapports.

Rapport 1
Compétences clés d'un architecte décisionnel dans des projets à partir de zéro


Gennady Kruglov
Architecte SOA certifié, ctn

Dans le cadre de la présentation, les principales étapes du processus architectural ont été touchées:

  1. Implication des entreprises.
  2. Engager des ingénieurs.
  3. Prototypage.
  4. Le choix du style architectural et de la pile technologique (microservices, monolithes, SOA).
  5. Développement du projet d'architecture.
  6. Démonstration au client.
  7. Conception de la solution.
  8. Documentation des solutions d'arc.
  9. Supervision architecturale.

Points saillants de la performance:

Il est conseillé de réaliser un prototype pour le montrer à l'entreprise. Dans la mesure du possible, il est nécessaire d'impliquer différentes parties lors du choix d'un style architectural - développeurs, sécurité, exploitation. Lors de la conception d'un croquis, vous devez créer différentes sections de l'architecture - affaires, technologie, sécurité.

Si possible, il est nécessaire d'attirer des personnes qui travailleront ensuite directement avec cette partie du système.

Après discussion avec les parties intéressées, un prototype est présenté. Si le projet démarre, une étude plus détaillée de chaque niveau d'architecture est réalisée.
Pendant le développement, une synchronisation avec l'architecte est nécessaire pour vérifier que le processus suit le chemin choisi.

Les compétences qui, selon l'orateur, sont nécessaires à l'architecte:

  • Compétences en communication (persuasion, négociation)
  • Présentations
  • Remue-méninges et ateliers
  • Connaissance des styles architecturaux
  • Grands horizons de la technologie moderne (il est important de comprendre les forces et les faiblesses)
  • Compétences en conception et en application
  • Compétences en développement utilisant différents frameworks, produits et langages de programmation
  • Connaissance des cadres de documentation des décisions
  • Comprendre les différents types de SDLC (cycle de vie de développement des systèmes)
  • Large réseau de connexions professionnelles
  • Compétences en gestion d'équipes de développement

Rapport 2
Support architectural pour des projets informatiques


Dmitry Romanov, ITSK

Conception de solutions informatiques, accompagnement architectural de projets, environ 80 projets par an, une cinquantaine d'architectes sont impliqués dans le processus.

Le service de l'architecte informatique en chef détermine la politique technique dans le domaine informatique, qui a été mise en œuvre par les architectes de projets informatiques. Répondant à la question de savoir où l'architecte rassemble habituellement l'expertise nécessaire, Dmitry a indiqué les sources suivantes:

  1. Expérience - création de systèmes similaires
  2. Collègues - quelqu'un au sein de l'entreprise ou dans d'autres entreprises
  3. Fournisseur - consultations avec les développeurs
  4. Forums thématiques
  5. Technopark - agréments ou bac à sable sur la base du Technopark

Compte tenu de la nécessité du rôle d'un architecte dans ITSK, Dmitry a souligné que l'architecte d'un projet informatique est nécessaire pour que, par exemple, il n'y ait pas de situation où un projet a été achevé pendant 1 an, puis ils ont travaillé pendant six mois et ont réalisé qu'il n'y avait pas de mise à l'échelle, puis refait pendant 2 ans. Il est important de bien comprendre que l'architecture proposée peut être mise en œuvre. Selon la méthodologie de gestion de projet, dans ITSK, l'architecte entre dans l'équipe (si elle est agile) ou entre dans le groupe d'experts du projet.

Rapport 3
L'architecture dans les projets informatiques de l'organisation: objectif principal


Ivan Lukyanov, Département des technologies de l'information de Moscou, produit «Services d'État et MFC»

Biographie professionnelle du conférencier: développeur chez Diasoft, chef de l'équipe de développement (BSC Praha), consultant principal (Neoflex), chef du département d'architecture et de stratégie d'Alfa Bank, chef du département de développement de l'architecture (DIT).
Ivan recommande de commencer par une description de l'architecture existante (telle quelle), de créer une architecture cible (à être) et d'analyser la différence entre les points «où l'organisation est maintenant» et «où l'organisation veut aller» décrivent les étapes pour amener le système à l'état cible.
L'objectif principal des projets informatiques en architecture:

  • Énoncé du problème commercial à résoudre: l'architecte doit s'assurer que la tâche commerciale est bien posée, décrite sous une forme adaptée à la conception, convenue par les personnes responsables de l'entreprise.
  • Vision du chemin: grâce aux efforts des architectes de l'organisation, l'architecture cible de l'organisation doit être développée pour les besoins spécifiques de l'entreprise. L'architecture cible doit être décomposée en étapes concrètes (projets) pour y parvenir.
  • Conception: toutes les solutions sont conçues en tenant compte de l'architecture cible développée. L'architecture cible est implémentée progressivement d'un projet à l'autre. L'architecte approuve la décision concernant l'architecture.
  • Le processus de mise en œuvre du projet: l'organisation doit avoir un processus qui comprend l'analyse et la description des tâches commerciales, le développement de l'architecture cible et le processus de conception (le développement et l'exploitation n'étaient pas traités dans le rapport). Le processus devrait être approuvé par toutes les parties concernées et soutenu par la direction.
  • Appui méthodologique au processus de mise en œuvre du projet: très souvent c'est l'architecte qui devient la figure sur les épaules de laquelle repose le développement d'une méthodologie de mise en œuvre des projets informatiques dans une organisation, en tenant compte de la formulation d'une tâche métier et de la conception. Dans le cadre de ce travail, des ajustements peuvent être apportés au processus existant de mise en œuvre de projets informatiques dans l'organisation (s'il y en avait un auparavant) ou à la création d'un nouveau processus à partir de zéro (s'il n'existait pas). Le résultat du travail méthodologique est le processus décrit et les pièces justificatives, formalisées sous forme de modèles.

L'entreprise a maintenant développé sa propre méthodologie, y compris les modèles utilisés dans le travail des documents. Les principes de TOGAF et Gartner ont été utilisés.

Les principes architecturaux ont été approuvés, le document «Solution architecturale et technologique» a été élaboré, qui décrit les exigences commerciales pour les solutions et le projet pour leur mise en œuvre.

Caractéristiques de l'architecte:

  • Sociabilité. La communication avec la direction, avec les interprètes, avec le soutien, avec les gestionnaires et les testeurs est importante. L'architecte doit jouer le rôle d'un traducteur - traduire de la langue des affaires au technique et vice versa.
  • Une condition préalable est l'expérience du développeur (enfin, si c'est aussi l'analyse).
  • Respect des collègues.
  • Développement continu.

L'architecture n'est pas un monument immobile coulé dans le granit, mais une vision vivante et évolutive de ce que nous voulons réaliser en termes de soutien aux entreprises.

Rapport 4
Architecte de projet informatique: un des points de vue possibles


Evgeny Aslamov Aslamov, architecte en chef, Lanit Group of Companies.

Chemin d’Eugène vers le rôle d’architecte: développeur, analyste, chef de projet. Au cours de la nouvelle, l'auteur a soulevé plusieurs questions liées au rôle de l'architecte dans le développement personnalisé: ce qui l'entoure, ce qu'il fait et comment il le fait.

De l'avis d'Eugene, parlant de l'architecte dans le développement personnalisé, nous dépendons de divers facteurs - le calendrier, le budget, l'équipe, la complexité et le volume des tâches. En règle générale, dans les projets complexes (plusieurs milliers de scénarios utilisateur, intégration avec quelques dizaines de systèmes, gros volumes de données, exigences élevées en matière de haute disponibilité et de récupération d'urgence), les tâches architecturales sont fermées par une équipe d'architectes. Sur des projets plus modestes, une seule personne peut faire face à ces tâches et l'architecte n'est pas toujours dédié aux tâches - son rôle peut être combiné avec d'autres rôles - le développeur principal ou l'analyste.

Un architecte, comme tout membre de l'équipe, travaille dans un certain contexte. Un aperçu d'un tel contexte:

Client

  • la gestion la plus élevée (en tout cas, suffisamment élevée pour les décisions clés) du client en charge du projet;
  • comités de clients (architecture, conception, exploitation, etc. - cela arrive souvent);
  • service ou département de spécialistes de la sécurité de l'information;
  • les employés du client qui ont besoin d'un système qui «brûle» le projet;
  • réalités - une routine plutôt banale, un facteur humain, des problèmes de procédure, des désaccords mineurs, etc.;

L'équipe

  • Managers
  • Analystes
  • développement;
  • DevOps
  • service de qualité;

Le contrat

  • délais;
  • budget
  • citations légales;
  • les nouvelles technologies, approches, puces que je veux vraiment appliquer;
  • traditions: ça marche et c'est bien, tout va bien avec nous - que changer et ainsi de suite.

Dans le contexte, un architecte ou un groupe d'architectes fait ce qui suit:

  • Il constitue les limites de l'équipe dans laquelle le projet se développera et vivra. Tout d'abord, nous parlons de limites résultant d'exigences non fonctionnelles.
  • Forme, prend en charge et met à jour les solutions architecturales en tenant compte des opinions des principales parties prenantes.
  • Fonctionne comme interprète - traduit du technique en russe et vice versa. Réel pour le client et l'équipe. L'architecte doit comprendre tous les aspects du projet (avec les principaux analystes et le chef de projet) et être capable d'expliquer leur relation avec les parties techniques.
  • Pose beaucoup de questions désagréables. Il se trouve que certaines décisions ont été prises sans la participation de l'un ou l'autre membre de l'équipe. C'est normal. Si quelque chose a été fait et affecte ou peut affecter l'architecture du système, alors vous devez trouver les raisons, déterminer si vous devez changer quelque chose maintenant, prévoir des mesures pour l'avenir, ou vous pouvez simplement l'enregistrer et le laisser jusqu'à des temps meilleurs.

Répondant à la question «Comment fait-il cela?», Eugène a d'abord abordé la question du développement de solutions architecturales. Plusieurs composants ont été identifiés pour aider dans cette tâche:

  • Expérience et analogies. C'est l'un des atouts les plus importants de l'architecte. Et il doit être constamment augmenté - pour ne pas stagner dans un projet, une technologie, etc.
  • Horizons. Vous ne pouvez pas utiliser votre propre expérience - l'expérience des collègues, l'expérience des communautés, les normes.
  • Prototypes. Dans le cas de l'utilisation d'un nouveau, non testé ou présentant des risques visibles, le prototypage est nécessaire. Dans le même temps, il est important de formuler correctement et avec précision les questions auxquelles le prototype doit répondre, sinon cela ne peut qu'aggraver la situation.
  • Protégez vos décisions. Devant l'équipe projet, devant le comité d'architecture (le vôtre ou celui du client), devant vous. L'une des solutions peut être l'introduction (éléments complets ou individuels) de la méthode d' analyse de compromis ATAM - Architecture . Dans un certain nombre de nos projets, par exemple, la protection des décisions est mise en œuvre comme la présentation des décisions clés à des collègues en dehors du projet pour des opinions et des commentaires alternatifs.

Au lieu d'une conclusion: l'une des tâches informelles d'un architecte et de tout spécialiste qui aime son travail est de vulgariser les connaissances, les technologies, les approches et les compétences qui permettront à l'équipe de résoudre les problèmes d'un projet plus efficacement et avec plus de commodité.

Article d'Eugene sur habr « Nous préparons un projet chez Sparx Enterprise Architect. Notre recette . "

Q & A


Vient ensuite une section de questions et réponses, les plus mémorables peuvent être lues ci-dessous.

D'où viennent les architectes?


Gennady:
Architectes logiciels - anciens chefs d'équipe ou ces chefs ou développeurs principaux.
Dmitry:
Les architectes sont issus des développeurs des consultants, avec une large expertise.
Le développeur peut parler et dessiner des présentations - architecte de solution.
Eugène:
En général, de n'importe quelle partie - du développement, des tests, de la gestion de projet, etc. Mais dans tous les cas, certaines spécialisations techniques aident - elles n'ont pas besoin d'être développées à partir de zéro.
Un exemple d'expérience personnelle: un étudiant du département de mécanique de l'Université d'État de Moscou, une personne intelligente et sociable sans maladie des étoiles, a été emmené dans l'entreprise Lanit. Il a un peu travaillé en analytique, développement, communication avec le client. En conséquence, il est devenu architecte appliqué dans notre entreprise.
Ivan:
Des développeurs. S'il y a un bon développeur, alors il peut continuer à se plonger dans les langages de programmation, à se développer plus profondément. Mais si, à un moment donné, il était curieux de savoir comment la tâche technique était née, qui analysait, qui décidait si cela devait être fait ou non, alors c'est un signe que le spécialiste s'est engagé dans la voie d'un architecte novice. Le prochain niveau de curiosité est de savoir comment une solution est née dans son ensemble, au niveau de l'entreprise. Comment pouvez-vous montrer au chef de l'organisation qu'il en a besoin ou non. Pour décrire le rôle de l'architecte, Gregor Hohpe utilise la métaphore de l'ascenseur . Chaque étage où l'ascenseur s'arrête est un certain niveau dans l'organisation: le premier étage - la salle des machines - ce sont les développeurs, la production; dernier étage - gestion de l'organisation. Donnant vie à l'architecture, l'architecte communique à chaque étage (du premier au dernier) et à chaque étage il doit faire face à diverses difficultés - technologiques, politiques, de communication.

L'architecte est capable de collecter les informations nécessaires et de les transmettre à chaque niveau. En fait, il agit comme médiateur entre les parties impliquées.

Comment partager l'autorité entre le chef de projet et l'architecte?


Il doit y avoir un équilibre entre l'autorité. L'autorité de l'architecte réside dans la partie technique et celle du chef de projet dans la partie organisationnelle.

Dans le cas où l'équilibre est déplacé vers le RP - vous pouvez obtenir le projet à temps, mais ne fonctionne pas ou n'est pas évolutif. Et, si envers l'architecte, vous pouvez obtenir un merveilleux projet quand personne n'en a besoin. Voici comment répondre aux questions "Qui aimez-vous le plus - maman ou papa?"

Comment être des architectes d'entreprise qui ont un large flux de projets différents?


Ivan:
Dans les grandes organisations, plus de 2 000 personnes font une architecture d'entreprise et il est presque impossible de la suivre. Dans DIT, une division est faite en produits (services), chaque produit a sa propre pile technologique, sa propre architecture. Quant à l'architecture d'entreprise, les actionnaires en ont davantage besoin pour comprendre où va l'organisation en termes de développement de l'architecture. À cet effet, le rôle d'architecte informatique en chef est souvent mis en avant dans les organisations, dont la tâche principale est de déterminer le paysage global de l'architecture d'entreprise.

Comment se construit l'interaction entre l'architecte du projet et l'architecte d'entreprise?


La communication est importante. Vous devez établir une communication et simplement communiquer. Un architecte de projet peut ne pas avoir besoin de connaissances en architecture d'entreprise, mais il est important de savoir avec qui sera l'intégration et quel sera l'impact. Il est important de faire des comités d'architecture, il est possible d'y connaître non seulement des architectes d'entreprise, mais aussi des architectes de conception.

Vous pouvez le regarder en termes de valeur - qui apporte plus de valeur. Si les solutions fonctionnent, alors il y a de la valeur. L'architecture d'entreprise en soi n'apporte pas de valeur, mais elle apporte de la valeur grâce à une solution d'architectes qui mettent déjà en œuvre des tâches spécifiques.

Personne n'a besoin de généralistes - de moins en moins sont des gens qui ne savent rien de tout. Il est préférable de pouvoir répondre à des questions spécifiques, par exemple, RabbitMQ est-il suffisant ici ou Kafka est-il nécessaire?

Comment les référentiels d'architecture d'entreprise sont-ils organisés?


Existe-t-il des modèles complexes qui peuvent être calculés, vérifiés, etc.?

Eugene: nous avons un référentiel architectural, mais il n'y a pas d'automatisation pour calculer les métriques. Les relations entre les modèles et les modèles eux-mêmes nous permettent de considérer l'architecture comme quelque chose d'intégré plutôt que comme un ensemble d'images. L'une des tâches du référentiel est de fournir une analyse d'impact. Sur cette base, vous pouvez faire une estimation de la valeur des changements.

Postface


C'est formidable que vous puissiez venir écouter les architectes, connaître la communauté. De telles rencontres sont toujours l'occasion pour moi de comprendre où creuser pour trouver les connaissances nécessaires. De plus, vous pouvez discuter des cas de travail et obtenir une recommandation.

Merci à Maxim Smirnov et HSE pour l'organisation d'une table ronde d'architectes!
Merci également aux auteurs des rapports (Eugene Aslamov, Gennady Kruglov, Ivan Lukyanov) pour la préparation de ce texte , car les notes originales ont été rédigées pendant les rapports et contenaient des erreurs et des inexactitudes qui ont été corrigées.

Sur la photo, le château de Chambord en France , disent-ils, chaque propriétaire a construit sur sa tour. Parfois, l'architecture d'un projet ressemble à cela. À mon avis, un architecte est nécessaire pour que tout soit beau et aussi simple que possible, de sorte que même avec un tas de tours de styles différents, vous obtiendrez toujours un beau château.

Source: https://habr.com/ru/post/fr432386/


All Articles