Projetando e identificando contextos *bem* delimitados

Em DDD, delimitar contextos não é atividade simples. A razão para isso é que as organizações que vão usar os sistemas não tem estruturas simples e, geralmente, há uma relação forte entre a estrutura organizacional e os contextos delimitados.

Conway ensina que a estrutura de comunicação da organização que está desenvolvendo um sistema determina a estrutura desse sistema. Transportando a ideia para DDD, por estrutura do sistema podemos entender os contextos delimitados.

A sutileza da lei de Conway, muitas vezes não percebida, é que ela não se aplica apenas a software house que está escrevendo o código. Mas, também, principalmente, inclui a empresa onde trabalham os especialistas de domínio e que está servindo de referência para o desenvolvimento do sistema.

Vaughn Vernon, DDD e Conway

Vaughn Vernon, uma das maiores autoridades em DDD no mundo, e uma de nossas referências, em conversa recente com nosso time destacou a relevância da lei de Conway e, nós, concordamos com ele.

Quando contextos não estão bem delimitados no software, há acoplamento que facilita o surgimento de dívidas técnicas, aumentando os custos de desenvolvimento, mas, sobretudo de evolução. O problema é que este acoplamento é difícil de superar quando ele existe, de fato, na forma de operar da organização.

Um dos “sintomas” de mudança de contexto é a mudança da linguagem onipresente. Ou seja, quando palavras-chave diferentes passam a ser utilizadas para descrever um conceito já descoberto, ou quando uma palavra já associada a um conceito passa a ser utilizada para descrever um conceito novo. Daí, inferimos que se em nosso mapeamento identificamos dois ou mais contextos, mas, para todos eles temos um único especialista de domínio, há algo errado. 

As diferenças na linguagem onipresente são marcantes no “centro” de cada contexto delimitado. Entretanto, elas ficam obscuras principalmente nas “bordas”. Aliás, é nas bordas que fica difícil determinar quem é o especialista de domínio a consultar.

O fato é que, não raro, as empresas tem atividades certas executadas em departamentos ou setores errados. Quando isso é levado para DDD e é reproduzido no modelo, as consequências são ampliadas.

Na prática, para identificar “vazamentos” nos contextos, oriundos de falhas do processo organizacional, é essencial orientar o processo de descoberta não a formação simples dos glossários de termos, mas ao mapeamento dos principais processos e atividades de negócio. Quando, no mapeamento de um processo, vemos “saltos” frequentes de um departamento para outro, inferimos o acoplamento e problemas de delimitação.

Já afirmamos que, em uma empresa, há sempre pelo menos quatro versões de como as “coisas funcionam”.

Para sermos efetivos, precisamos nos concentrar no dia a dia, nas atividades práticas, e não em descrições ideais. Por isso, recomendamos que o “fio condutor” para a descoberta ocorra através de protótipos de interface e não de documentos escritos.

De qualquer forma, é importante que entendamos que a busca pela delimitação adequada dos contextos implica na externalização da estrutura organizacional e, invariavelmente, nas estruturas de poder das empresas que estamos atendendo. Por isso, é essencial que quem esteja conduzindo a descoberta tenha sensibilidade e soft skills.

Sumarizando, contextos bem delimitados só são possíveis em organizações com estruturas bem definidas. Por isso, o projeto do software deveria ser feito depois da revisão da arquitetura corporativa. 

Contextos bem delimitados implicam em especialistas de domínio distintos para cada contexto e no suporte processos de negócio desacoplados, ou seja, sem “saltos”. O “teste objetivo” da qualidade da delimitação dos contextos começa com a verificação destas duas condições. 

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
DANIEL MOREIRA YOKOYAMA
DANIEL MOREIRA YOKOYAMA
4 anos atrás

Um dos capítulos mais bacanas do DDD é o capítulo que descreve que o mapeamento do domínio se dá pelo processo que o Evans chama de Knowledge Crunching. É um ciclo contínuo de descoberta, mapeamento e experimentação do modelo enquanto você identifica detalhes sutis, ideias implícitas em lugares não documentados e, principalmente, a ubiquitous language e o Context Map.

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquivo

Pós-pandemia, trabalho remoto e a retenção dos profissionais de TI

CTO Consulting e Especialista em Execução em TI
1
0
Queremos saber a sua opinião, deixe seu comentáriox
Oferta de pré-venda!

Mentoria em
Arquitetura de Software

Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Projetando e identificando contextos *bem* delimitados

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Projetando e identificando contextos *bem* delimitados

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?