

Em 2020, Martin Fowler apresentou design orientado a domínio (DDD), defendendo um profundo entendimento do domínio para aprimorar o desenvolvimento de software program. Hoje, à medida que as organizações adoptam os princípios DDD, enfrentam novos obstáculos, especialmente na governação de dados, gestão e estruturas contratuais. Construir domínios de dados práticos é uma tarefa complexa e traz alguns desafios, mas as recompensas em termos de consistência de dados, usabilidade e valor comercial são significativas.
Uma grande desvantagem para alcançar o sucesso do DDD geralmente ocorre quando as organizações tratam a governança de dados como uma iniciativa ampla, que abrange toda a empresa, em vez de um processo iterativo e focado em casos de uso. Desta forma, a abordagem conduz frequentemente a deficiências de governação, como a falta de contexto, onde as políticas genéricas ignoram os requisitos específicos de domínios individuais e não conseguem abordar eficazmente casos de utilização únicos. A adoção da governança em toda a organização costuma ser demorada e complexa, o que leva a atrasos na concretização dos benefícios do DDD. Além disso, os funcionários tendem a resistir a mudanças de governação em grande escala que parecem irrelevantes para as suas tarefas diárias, impedindo a adoção e a eficácia. A inflexibilidade é outra preocupação, uma vez que os programas de governação em toda a empresa são difíceis de adaptar à evolução das necessidades empresariais, o que pode sufocar a inovação e a agilidade.
Outro desafio comum ao aplicar ddesign baseado em domínio envolve o conceito de contexto limitado, que é um padrão central em DDD. Segundo Fowler, o conteúdo limitado é o foco do design estratégico do DDD, que trata de lidar com grandes modelos e equipes. Esta abordagem lida com grandes modelos, dividindo-os em diferentes contextos limitados e sendo explícito sobre suas inter-relações, desse modo definir os limites dentro dos quais um modelo se aplica.
No entanto, as implementações no mundo actual de contextos limitados apresentam desafios. Em organizações complexas, os domínios muitas vezes se sobrepõem, dificultando o estabelecimento de limites claros entre eles. Os sistemas legados podem agravar este problema, uma vez que as estruturas de dados existentes podem não estar alinhadas com os domínios recentemente definidos, criando dificuldades de integração. Muitos processos de negócios também abrangem vários domínios, complicando ainda mais a aplicação de contextos limitados. Os silos organizacionais tradicionais, que podem não estar alinhados com os limites de domínio ideais, acrescentam outra camada de complexidade, levando a ineficiências.
O desenvolvimento de domínios bem definidos também é problemático, pois exige um compromisso substancial de tempo por parte das partes interessadas técnicas e empresariais. Isso pode resultar em atraso na realização de valor, onde o longo prazo para construir domínios atrasa os benefícios comerciais do DDD, minando potencialmente o apoio à iniciativa. Os requisitos de negócios podem evoluir durante o processo de construção de domínio, necessitando de ajustes constantes e estendendo ainda mais os prazos. Isto pode sobrecarregar os recursos, especialmente para organizações menores ou aquelas com experiência limitada em dados. Além disso, as organizações muitas vezes lutam para equilibrar a necessidade imediata de insights de dados com os benefícios a longo prazo de domínios bem estruturados.
Tornando dados consistentes acessíveis
A democratização dos dados visa tornar os dados acessíveis a um público mais vasto, mas também deu origem ao que é conhecido como o problema dos “factos”. Isso ocorre quando diferentes partes da organização operam com versões de dados conflitantes ou inconsistentes. Este problema muitas vezes resulta de definições de dados inconsistentes e, sem uma abordagem unificada para definir elementos de dados entre domínios, as inconsistências são inevitáveis. Apesar dos esforços no sentido da democratização, podem persistir silos de dados, conduzindo a informações fragmentadas e contraditórias. A falta de linhagem de dados complica ainda mais a questão, tornando difícil reconciliar factos contraditórios sem rastrear claramente as origens e transformações dos dados. Além disso, manter padrões consistentes de qualidade de dados torna-se cada vez mais desafiador à medida que o acesso aos dados se expande em toda a organização.
Para superar esses desafios e implementar com sucesso o design orientado por domínio, as organizações devem começar considerando as cinco etapas a seguir:
- Concentre-se em casos de uso de alto valor: Priorize domínios que prometam o maior valor comercial, permitindo ganhos mais rápidos, o que pode impulsionar a iniciativa.
- Abrace o desenvolvimento iterativo: Isto é essencial para que as organizações adotem uma abordagem ágil, começando com um domínio mínimo viável e refinando-o com base no suggestions e nas necessidades em evolução.
- Crie colaboração multifuncional: Entre equipes comerciais e técnicas. Isto é essential ao longo de todo o processo, garantindo que os domínios refletem tanto as realidades empresariais como as restrições técnicas. Investir na gestão de metadados também é important para manter definições de dados, linhagem e padrões de qualidade claros em todos os domínios, o que é basic para resolver o problema dos “factos”.
- Desenvolva uma estrutura de governança flexível: isso é adaptável às necessidades específicas de cada domínio, mantendo a consistência em toda a empresa.
Para equilibrar os ganhos de curto prazo com uma visão de longo prazo, as organizações devem começar por identificar os principais domínios de negócio com base no seu impacto potencial e importância estratégica. Começar com um projeto piloto em um domínio bem definido e de alto valor pode ajudar a demonstrar os benefícios do DDD desde o início. Também ajuda as empresas a se concentrarem nos principais conceitos e relacionamentos dentro do domínio escolhido, em vez de tentar modelar inicialmente cada detalhe.
A implementação da governação básica durante esta fase estabelece as bases para a expansão futura. À medida que a iniciativa avança, o modelo de domínio também se expande para abranger todas as áreas de negócio significativas. As interações entre domínios e os fluxos de dados devem ser refinados para otimizar os processos, e podem ser implementadas práticas avançadas de governação, como a aplicação automatizada de políticas e a monitorização da qualidade dos dados. Em última análise, o estabelecimento de um Centro de Excelência garante que os modelos de domínio e as práticas relacionadas continuem a evoluir e a melhorar ao longo do tempo.
Ao concentrarem-se em casos de utilização de alto valor, abraçando o desenvolvimento iterativo, promovendo a colaboração entre equipas empresariais e técnicas, investindo na gestão robusta de metadados e desenvolvendo estruturas de governação flexíveis, as organizações podem navegar com sucesso pelos desafios do design orientado para o domínio. Melhor ainda, a abordagem fornece uma base sólida para a tomada de decisões baseada em dados e para a inovação a longo prazo.
À medida que os ambientes de dados se tornam cada vez mais complexos, o design orientado por domínio continua a servir como uma estrutura crítica para permitir que as organizações refinem e adaptem as suas estratégias de dados, garantindo uma vantagem competitiva num mundo centrado em dados.