Desenvolvimento Orientado por Missao
A missao como o quarto fundamento da arquitetura de software.
A maioria dos softwares pergunta como construir algo. O Desenvolvimento Orientado por Missao (MDD) adiciona uma pergunta antes: por que estamos construindo isso, e essa escolha serve a esse proposito? O CIRIS foi construido assim, entao a etica faz parte do design em vez de uma regra pregada depois.
O Modelo de Quatro Componentes
Tres pernas estruturais sustentando um assento com proposito.
As metodologias convencionais de software param em tres: como o sistema funciona, o que ele representa e quem fala com quem. O MDD adiciona um quarto fundamento ao qual os outros tres devem responder. Sem o assento, as pernas sao apenas pernas.
Perna 1: COMO
Logica
Padroes de implementacao, arquiteturas de servico, algoritmos.
Perna 2: O QUE
Esquemas
Estruturas de dados, sistemas de tipos, regras de validacao.
Perna 3: QUEM
Protocolos
Contratos de interface, padroes de comunicacao, fronteiras de servico.
Assento: POR QUE
Missao
Framework etico objetivo que define o proposito e as restricoes do sistema.
Principio central
Alinhamento constante.
Toda decisao arquitetural deve demonstrar alinhamento com a missao declarada. A logica e questionada: isso serve a missao? Os esquemas sao validados: essas estruturas de dados apoiam os objetivos da missao? Os protocolos sao avaliados: essas interfaces permitem o cumprimento da missao?
Requisitos do framework de missao
O que uma missao precisa ser para suportar peso.
1. Fundamento etico objetivo
- Principios mensuraveis, nao valores aspiracionais
- Algoritmos claros para resolucao de conflitos
- Pluralista em contextos culturais diversos
- Raciocinio etico auditavel
2. Definicao de meta-objetivo
- Orienta decisoes em situacoes de incerteza
- Filtra propostas contraditórias automaticamente
- Cria comportamento coerente entre componentes
- Estavel diante de mudancas de implementacao
3. Integracao operacional
- Cada servico justifica sua existencia
- Esquemas refletem as formas de informacao da missao
- Protocolos permitem comportamento alinhado com a missao
- Testes verificam o alinhamento com a missao, nao apenas a funcao
Padroes de implementacao
Cada perna tem uma pergunta que precisa responder.
Arquitetura de servico
definicao de missao → responsabilidades do servico → contratos de interface → implementacao
- Alinhamento com a missao: como este servico avanca o meta-objetivo?
- Justificativa de fronteira: por que essa responsabilidade precisa de um servico separado?
- Necessidade da interface: quais interacoes essenciais para a missao esse protocolo viabiliza?
Design de esquema
requisitos de missao → modelo de informacao → sistema de tipos → regras de validacao
- Relevancia para a missao: que informacao essencial para a missao isso captura?
- Restricoes comportamentais: como esses tipos reforçam o comportamento alinhado com a missao?
- Caminho de evolucao: como esse esquema pode se adaptar preservando o alinhamento com a missao?
Especificacao de protocolo
interacoes de missao → requisitos de comunicacao → definicao de contrato → implementacao
- Contexto de missao: que comunicacao essencial para a missao isso viabiliza?
- Reforco de restricoes: como essa interface previne comportamentos que violam a missao?
- Composibilidade: como esses contratos se combinam em sistemas alinhados com a missao?
Integracao de desenvolvimento sustentavel
O alinhamento de longo prazo com a missao exige velocidade sustentavel.
Medidas anti-Goodhart
- Auditorias regulares do alinhamento entre implementacao e missao
- Medir o cumprimento da missao, nao proxies que podem ser manipulados
- Rejeitar adicoes que nao fortalecem a missao
Trabalho baseado em ritmo
- Sessoes alinhadas com os ritmos de produtividade
- Pontos de escolha integrados para realinhamento
- Ritmo sustentavel como requisito de primeira classe
Validacao continua
- Questionamento regular da necessidade de cada componente
- Verificacao continua de que o comportamento corresponde a missao
- Deteccao automatizada de mudancas que violam a missao
Portoes de qualidade
Portoes que so abrem com uma justificativa de missao.
Revisao de codigo
- Explicacao de alinhamento com a missao obrigatoria
- Verificacao de restricoes
- A integracao deve fortalecer a coerencia geral
Testes
- Corretude funcional
- Verificacao de alinhamento com a missao
- Testes de recusa em fronteiras eticas
- Resiliencia de restricoes sob estresse
Documentacao
- Contexto de missao para cada componente
- Justificativa para concessoes eticas
- Como as restricoes moldam a implementacao
Modos de falha
Como o MDD quebra, e como se mantém intacto.
Desvio de missao
Sintoma: funcionalidades se acumulam sem servir a missao central. Mitigacao: revisoes arquiteturais regulares com o alinhamento de missao como portao.
Explosao de complexidade
Sintoma: o sistema se torna impossivel de manter por sofisticacao desnecessaria. Mitigacao: rejeitar adicoes a menos que fortaleçam o cumprimento da missao.
Inconsistencia etica
Sintoma: componentes aplicam o raciocinio etico de forma inconsistente. Mitigacao: framework etico centralizado com padroes de implementacao compartilhados.
Confusao de proposito
Sintoma: membros da equipe perdem a ligacao entre decisoes tecnicas e missao. Mitigacao: treinamento continuo sobre tomada de decisao orientada por missao.
Estudo de caso
CIRIS, o exemplo pratico.
O CIRIS (Core Identity, Integrity, Resilience, Incompleteness, Signalling Gratitude) e o sistema ao lado do qual o MDD foi desenvolvido. A missao e o Meta-Objetivo M-1: promover a coerencia adaptativa sustentavel que permite a seres sencientes diversos perseguir o florescimento.
Resultados arquiteturais
- 22 servicos, cada um justificado pelos requisitos da missao
- Mais de 200 endpoints de API verificados
- Mais de 10.000 testes, com estruturas de dados nao tipadas minimas em producao
- Filosofia Ubuntu incorporada no design de protocolo
- Deferimento Baseado em Sabedoria prevenindo violacoes de missao (ver Seguranca)
- Implantacao em producao moderando comunidades no Discord
Fatores-chave de sucesso
- Meta-objetivo claro: M-1 fornece criterios de decisao inequivocos
- Etica operacional: principios do Acordo implementados como restricoes de codigo (leia o Acordo)
- Desenvolvimento sustentavel: companheira Grace reforçando ritmos saudaveis
- Validacao constante: toda decisao arquitetural e questionada
Diretrizes de adocao
Como comecar, a partir de onde voce esta.
Para novos projetos
- Defina uma missao clara com principios eticos mensuraveis antes de escrever codigo
- Estabeleca um meta-objetivo que oriente a tomada de decisao
- Projete a arquitetura de modo que as restricoes de missao fiquem no nivel fundacional
- Construa validacao continua do alinhamento missao-tecnica desde o primeiro dia
Para projetos existentes
- Audite a arquitetura atual em busca de suposicoes de missao implicitas
- Articule uma missao explicita que explique os padroes de design existentes
- Identifique violacoes de missao na implementacao atual
- Planeje o alinhamento incremental, priorizando pelo impacto na missao
Pre-requisitos da equipe
- Compromisso com o raciocinio etico objetivo
- Disposicao para rejeitar solucoes elegantes que nao sirvam a missao
- Crença de que as restricoes de missao criam, em vez de limitar, uma boa arquitetura
- Praticas de desenvolvimento sustentavel que preservam o foco de longo prazo
Para onde isso leva
O MDD nao e adequado para todo projeto.
O MDD foi projetado para sistemas em que o comportamento etico e critico para a missao e a confiabilidade de longo prazo importa mais do que a velocidade de funcionalidades no curto prazo. Para esses sistemas, o MDD oferece um caminho das intencoes eticas para a realidade operacional, com a mesma disciplina de engenharia aplicada a missao e ao codigo.
A sobrecarga inicial e real enquanto a equipe aprende a tomada de decisao orientada por missao. O retorno composto esta no desenvolvimento que se segue: o framework esclarece as escolhas arquiteturais em vez de multiplica-las.