Seis Maneiras de Organizar Seus Modelos de Arquitetura (Parte 2)

postado em 5 de abr de 2018 13:32 por Antonio Plais   [ 25 de abr de 2018 09:31 atualizado‎(s)‎ ]
Originalmente postado por Marc Lankhorst*, no blog da BiZZdesign - Tradução autorizada

Na postagem anterior desta série, escrevemos sobre a organização do seu repositório de modelos de acordo com os domínio de negócios, aplicativos e tecnologia. Também explicamos a necessidade de criar modelos separados para os estados atual e futuro, e a separação entre conteúdo e visão dos modelos. Nesta postagem, temos mais algumas coisas a acrescentar nos tópicos de nomeação e convenções de modelagem, bem como aconselhar sobre como estabelecer uma estrutura de governança e garantia da qualidade em torno dos seus modelos.

4. Definindo nomeação e outras convenções de modelagem

Para ser capaz de encontrar qualquer coisa em um modelo de larga escala, você tem que saber o que você está procurando. Em linguagem simples, você precisa saber como as coisas são chamadas - e como elas são nomeadas - no seu modelo. Por isso é essencial definir convenções claras de nomeação. Organizações diferentes terão seus próprios esquemas específicos de nomeação, de forma que nenhuma convenção universal é aplicável.

De qualquer forma, existem dicas comuns que podem ajudá-lo a criar seu próprio processo de nomeação:
  • Deixe os especialistas de negócio "possuírem" os nomes e definições de capacidades, processos e funções de negócio, e coisas parecidas. Se o pessoal de TI inventa novos nomes para estas coisas, o pessoal de negócios provavelmente não será capaz de reconhecer "o seu negócio" neles, levando a falhas de interpretação e entendimento.
  • Defina convenções de nomeação específicas para tipos específicos de elementos. Por exemplo, use verbos no indicativo mais um nome para nomes de processos (por exemplo, "Tratar Sinistro"). Desta forma, o nome do elemento já lhe dá uma indicação do tipo de coisa que está sendo modelada.
  • Em grandes organizações, use prefixos ou sufixos para nomes, tais como o domínio de negócio do elemento. Isto é particularmente importante se estes domínios usam os mesmos nomes. Por exemplo, em uma seguradora, domínios diferentes para "saúde", "vida" e "propriedade" podem, cada um, ter um processo "Tratar Sinistro", mas estes processos podem ser diferentes. Chamando-os "Tratar Sinistro - Saúde" ou "tratar Sinistro - Propriedade" ajuda a distinguir entre eles.
  • Faça uma separação clara entre diferentes aspectos da mesma entidade do mundo real que está sendo modelada. Se você está modelando um cliente que toma parte em um processo como um ator, não use o mesmo nome para a informação que você captura sobre aquile cliente. Você deveria, também, ter nomes diferentes para o arquivo ou banco de dados de clientes onde você guarda aquela informação. Chamar todos estes elementos de "Cliente" com certeza irá confundir ao extremo qualquer um que venha a usar seu modelo.
  • Seja seletivo no seu uso de conceitos de modelagem. Linguagens como o ArchiMate são muito ricas e poderosas, mas você raramente precisará usar todos os seus conceitos. Escolher quais conceitos usar, e para qual propósito, e se limitar ao essencial é chave para manter suas arquiteturas fáceis de serem entendidas.
Figura 2. Visão geral da sua capacidade de arquitetura corporativa, forma de trabalho e melhores práticas

5. Estabeleça um "comitê editorial"

Para criar colaboração em organizações grandes e federadas, você não pode confiar em controles simples de cima para baixo, a partir de um departamento central. Deve haver espaço para variações locais simplesmente porque, em grandes organizações, nenhum padrão vai se ajustar a todas as situações.

De qualquer forma, você precisa de coordenação entre os diferentes departamentos e domínios, para garantir que suas formas de trabalhar são compatíveis, e para compartilhar e se beneficiar das experiências dos outros, de forma que você possa construir sua própria biblioteca das melhores práticas da sua empresa.

Trabalhando em empresas grandes e complexas, temos visto que é útil criar algum tipo de "comitê editorial", composto por especialistas em modelagem e arquitetura representativos das diferentes áreas da organização. Eles podem encontrar formas compartilhadas de trabalhar, além de outros pontos comuns entre suas arquiteturas (tais como as convenções de modelagem e estruturação mencionadas anteriormente), e podem treinar e orientar seus colegas menos experientes na aplicação destas práticas para promover modelos de alta qualidade.

No entanto, o "comitê editorial" não é o mesmo que o seu comitê de arquitetura, que decide em relação ao conteúdo arquitetural em si. Ao invés disso, este comitê editorial supervisiona a maneira como as arquiteturas são modeladas e descritas. Estas são duas competências distintas: uma boa arquitetura pode ser descrita de forma pobre, e uma arquitetura pobre pode ser bem documentada. Tenha a certeza que os dois são bem feitos.

6. Descreva responsabilidades claras, direitos de acesso, grupos de usuários e procedimentos

Em grandes organizações, você deve ter muito claro quem faz o que, e quem tem acesso a qual material. Se todo mundo pode editar qualquer coisa nos seus modelos de arquitetura, você pode adivinhar o que acontecerá! As coisas podem ser movidas, alteradas, e até mesmo modelos inteiros podem ser excluídos.

Em geral, não recomendamos esconder partes da arquitetura (a não ser que haja razões específicas de segurança e confidencialidade). Os arquitetos devem ser confiáveis para ver o trabalho de seus pares e fazer bom uso dele. No entanto, você provavelmente precisará limitar o acesso para gravação apenas para as pessoas que têm o papel definido de criação e atualização de modelos. De outra forma, seus modelos rapidamente se tornarão uma bagunça!

Uma maneira de fazer isso é organizar o trabalho nas arquiteturas de estado futuro em projetos, cada um com seus respectivos modelos, como descrito acima. Equipes de projeto têm o direito de mudar os modelos no projeto, mas os resultados só são publicados no repositório geral da arquitetura quando eles estão suficientemente prontos, de acordo com a decisão de um arquiteto líder ou tomador de decisão dentro da organização.

Figura 3 - Papéis comuns associados com a arquitetura

O Enterprise Studio Team Platform suporta os diferentes projetos, papéis e direitos para os desenhistas e líderes de desenhistas da sua organização, e oferece a funcionalidade de grupos de usuários que podem ser organizados em equipes de projetos. Mais ainda, a funcionalidade de fluxo de trabalho disponível no Portal HoriZZon permitem que você crie fluxos de trabalho de revisão e aprovação para organizar o processo de desenvolvimento da arquitetura.

Para saber mais sobre o Enterprise Studio, o Team Server e o Portal Horizon, entre em contato com a Centus Consultoria e peça uma demonstração.


* Mark Lankhorst é Gerente de Consultoria & Evangelista-Chefe de Tecnologia da BiZZdesign, empresa líder em ferramentas para modelagem da arquitetura corporativa, representada no Brasil pela Centus Consultoria.