Meu fluxo de trabalho após 10 anos de dev solo
Cheguei à conclusão que este é o meu fluxo: SDD -> BDD -> TDD -> DDD.
Não sigo à risca, apenas faço aquilo que me traz benefícios.
SDD (Specs, o que o contrato legal diz, descreve O QUE é o problema e O QUE se exigem de funcionalidades/requisitos) -> BDD (Behavior, Gherkin, .feature, para entender lógica de negócio no backend e comportamento de usuário no frontend, anexo ao contrato legal afim de dizer COMO você resolverá o problema, cliente assina e aceita, te protegeu; pode até adicionar YAML OPENAPI aqui, desde que legível, pois também te protege) -> TDD (Tests, validam contratos legais e contratos lógicos, são contratos executáveis, permitem vc dormir à noite sabendo que está funcionando) -> DDD (Domain, coesão de domínio, bounded contexts, design sobre como se implementa os contratos lógicos, garante manutenabilidade, legibilidade e costumização posterior); segue os passos de bebê (RGR), até alcançar um clean code ao longo do ciclo de vida do software, dando prioridade a diferentes lugares, não a todos.
Estou esperando por um framework/manifesto orientado a especificações baseado no fluxo acima, ao invés de código puro.
Melhor? Pior? Não sei.
Eu gostaria de estudar mais sobre isso. O que vocês acrescentariam?