Termo

Ontology-Driven Design

Info

Escrito originalmente em francês. Traduzido por IA — o sentido foi preservado, não a prosa.

Definição curta

Abordagem de desenvolvimento em que uma ontologia de negócio, extraída do código e depois mantida em relação a ele, serve de referência para enquadrar, verificar e interpretar as alterações que um agente de IA faz num software.

Definição detalhada

O termo é anterior a este blog. Em 2005, Pavel Hruby descrevia uma abordagem de Ontology-Based Domain-Driven Design, e trabalhos como o ODDToolkit exploraram a geração de artefatos de software a partir de ontologias formais. Nesses usos, a ontologia vem antes e o software deriva dela.

Nos artigos deste blog, o sentido é outro. A ontologia não é um formalismo imposto — nem OWL, nem RDF —, mas um arquivo em linguagem comum, ontology.md, extraído do código pelo Claude Code. Ela não serve para gerar o software: serve de referencial de coerência para agentes que o alteram. A abordagem se organiza em três momentos — antes do desenvolvimento, confrontar a solicitação com o modelo; durante e depois, detectar as derivas a partir das mudanças do repositório; antes da integração, gerar um relatório de coerência — e decide cada divergência confrontando a intenção, o código e a ontologia.

Uso no domínio

Desenvolvimento assistido por agentes de código, criação de ferramentas em volta do Claude Code (hooks, scripts de análise do Git), manutenção da linguagem de negócio de um ERP ou de um software de gestão.

Sinônimos e variantes

ODD.

Não confundir com

  • TDD — abordagem em que um teste escrito antes do código fixa um comportamento de forma determinística; o ODD aproveita a ordem das operações dele, sem ter a mesma garantia.
  • Domain-Driven Design — conjunto de princípios para modelar um domínio (linguagem ubíqua, contextos delimitados); o ODD acrescenta a isso um mecanismo operacional de verificação contínua.
  • Ontologia — o artefato no qual a abordagem se apoia, não a abordagem em si.

Exemplos

Num ERP fictício, a solicitação "permitir um pedido de venda sem orçamento" é confrontada com a regra "todo pedido de venda vem de um orçamento" antes que qualquer arquivo seja alterado; depois a ontologia evolui, porque a intenção pedia isso.

Ambiguidades / debates

A sigla ODD já é usada para abordagens de geração de software a partir de uma ontologia formal. O sentido adotado aqui é o de uma abordagem experimental e pessoal, ainda sem validação em evoluções reais de software.