Suportando Grandes Arquiteturas como uma Equipe

postado em 27 de abr de 2018 04:39 por Antonio Plais   [ 27 de abr de 2018 04:40 atualizado‎(s)‎ ]
Originalmente postado por Marc Lankhorst e Rob Kroese*, no blog da BiZZdesign - Tradução autorizada

As arquiteturas das grandes organizações podem se tornar bastante grandes e complicadas, representando um desafio para os arquitetos que as desenvolvem e mantém. Em discussões anteriores, nós endereçamos várias técnicas para organizar e controlar tais grandes modelos para manter as coisas gerenciáveis. Nesta postagem, olharemos para os processos e práticas que você pode usar para otimizar a colaboração entre as pessoas que trabalham nestas arquiteturas.

Equipes de arquitetura federadas

Uma dica importante para facilitar o trabalho em arquiteturas grandes e organizar seu repositório de modelos por domínios de negócio ou capacidades de negócio de alto nível. Esta subdivisão é facilmente reconhecida pelas pessoas envolvidas e alinhada com a hierarquia organizacional e divisão de responsabilidades típicas.

Da mesma forma, você pode definir uma estrutura de governança federada. Gerenciar tudo isso a partir de um grande departamento de arquitetura centralizado normalmente não é uma boa ideia por duas razões. Primeiro, o esforço necessário será substancial, criando uma sobrecarga que será vista como não razoável pelos administradores. Segundo, e mais importante, estes arquitetos centrais estarão, na maioria das vezes, muito distantes do negócio em questão para realmente saberem o que está acontecendo.

Assim sendo, é muito melhor ter arquitetos locais dentro dos diferentes domínios de negócio. Estes arquitetos coordenam seus trabalho com um grupo relativamente pequeno de arquitetos centrais, que garantem que estes esforços se encaixam e definem pontos comuns (i.e. arquiteturas de referência, padrões de arquitetura etc.). Este padrão também se encaixa bem com nossas recomendações anteriores para estabelecer um "comitê editorial" que garante que seus modelos de arquitetura se conformam com um conjunto de padrões comuns de modelagem.

Organize seus projetos de arquitetura

Em grandes arquiteturas, você normalmente não trabalha junto na arquitetura inteira com todos os arquitetos ao mesmo tempo. Ao invés disso, diferentes grupos trabalharão em diferentes partes da arquitetura e só compartilharão os resultados quando estiverem prontos para uma distribuição ampla.

Este processo de mudança típico em dois estágios é suportado pela plataforma de equipes do BiZZdesign Enterprise Studio. Equipes de projeto trabalham juntos em um ou mais modelos que são parte de um pacote de modelos. Dentro de um projeto, os arquitetos individuais daquela equipe podem atualizar suas mudanças nestes modelos, quando são, então, compartilhados apenas com os membros da equipe, e com mais ninguém.

Quando a equipe está pronta, alguém com o nível de permissão necessário ('líder de projeto') pode tornar suas contribuições disponíveis para todos que colaboram no mesmo pacote de modelos. Somente então os outros arquitetos verão estas mudanças. Tipicamente, haverá também alguma forma de revisão antes que este passo seja dado. Desta forma, uma equipe de projeto pode trabalhar nas suas próprias ideias sem confundir ou perturbar os outros usuários daquele mesmo pacote de modelos.


Use autoserviço e controle de qualidade automatizado

Quando você trabalha com um grande grupo de pessoas juntas em um repositório de modelos, o desafio para manter modelos com alta qualidade se torna ainda mais difícil. Uma boa prática é definir um conjunto de requisitos de qualidade que os arquitetos devem usar para todos os trabalhos de modelagem. Alguns exemplos são:
  • Nenhum elemento não-usado: elementos que não estão ligados a outros elementos e não estão presentes em nenhuma visão são, provavelmente, desnecessários
  • Nenhum elemento duplicado: garanta que, para cada elemento, apenas uma única instância está presente no seu repositório e não crie duplicatas
  • Relacionamentos entre objetos aninhados: garanta que, se você desenhou objetos aninhados em uma visão, que os relacionamentos também foram definidos (tipicamente, composição ou agregação) entre o pai e os filhos.
O BiZZdesign Enterprise Studio tem mecanismos para prevenir que estas situações aconteçam, e você pode, também, verificar estas situações posteriormente. Os arquitetos podem usar estes mecanismos por si mesmos, como auto-serviço, o que ajuda a criar modelos de alta qualidade. Os modeladores deveriam ser encorajados a usar este tipo de mecanismo. No entanto, em grandes repositórios, pode ser valioso, também, usar funcionalidades de controle de qualidade automatizadas. É possível definir scripts automatizados que verificam requisitos de qualidade mais detalhados, tais como:
  • Convenções de nomeação: defina convenções de nomeação (como discutido em '6 formas de organizar seus modelos de arquitetura (parte 2)') e crie um relatório com uma lista de elementos/visões que não aderem a estas convenções
  • Uso de elementos do ArchiMate: frequentemente, um subconjunto da linguagem ArchiMate completa é usado para manter os modelos de arquitetura fáceis de serem lidos. Uma verificação automática pode produzir um relatório que lista os elementos que não são parte do subconjunto do ArchiMate que foi acordado
  • Uso de relacionamentos do ArchiMate: Na linguagem ArchiMate completa, vários tipos de relacionamento são permitidos entre diferentes tipos de elementos. É uma boa prática padronizar, na sua organização, o uso dos relacionamentos. Por exemplo: sempre use o relacionamento de Realização entre um Componente de Aplicativo e um Serviço de Aplicativo. Uma verificação do uso dos tipos de relacionamento acordados entre todos os diferentes elementos produzirá um relatório com todos os relacionamentos que podem ser do tipo incorreto
Estes tipos de verificações automatizadas podem ser executados periodicamente e gerarão um relatório onde possíveis problemas são listados. Além disso, o número de problemas encontrados nos modelos podem ser mostrados em painéis de controle. Tudo isso ajuda a gerar uma conscientização mais forte sobre a qualidade dos modelos e promover melhorias, o que é essencial em grandes repositórios de arquitetura.


Você quer saber mais sobre as funcionalidades avançadas do BiZZdesign Enterprise Studio? Entre em contato com a Centus Consultoria e solicite uma demonstração personalizada, e fique ligado nas nossas postagens neste blog.


 
* Mark Lankhorst é Gerente de Consultoria & Evangelista-Chefe de Tecnologia, e Rob Kroese é consultor nas áreas de arquitetura e melhoria de processos da BiZZdesign, empresa líder em ferramentas para modelagem da arquitetura corporativa, representada no Brasil pela Centus Consultoria.