Desenvolvimento Guiado - Desenvolvimento guiado articulado - Membros superiores - Ombro - YouTube
Desenvolvimento guiado articulado - Membros superiores - Ombro - YouTube

O que é desenvolvimento guiado e por que funciona na prática

desenvolvimento guiado nada mais é do que um processo de construção de software onde cada linha de código é aprovada por alguém com autoridade técnica antes de ser integrada ao repositório principal. Não é reviso de pull request com dois dedos no teclado, não é linter rodando no CI e disparando alertas genéricos, não é code review genérico onde cinco pessoas deixam comentários soltos sem dono do problema. É diferente. Eu passei seis meses implementando isso numa equipe de quarenta desenvolvedores que entregava sprint atrás de sprint com qualidade irregular. Quase todo hotfix vinha de uma mudança que passou por code review mas ninguém tinha contexto suficiente para entender o impacto lateral. O problema não era falta de teste, era falta de ownership do design.

Implementando desenvolvimento guiado do jeito certo

O primeiro passo não é escolher ferramenta nenhuma. É definir quem é desenvolvedor orientador antes de escrever qualquer linha de documentação. Na minha equipe tínhamos três arquitetos seniores rotativos, um por semana, com direito a veto absoluto em qualquer mudança que tocasse arquitetura compartilhada. Ninguém gostou no começo. Dois deles pediram para sair do rota por acharem que era microgestão. A estrutura básica funciona assim. Você cria um ticket de design antes do ticket de implementação. O ticket de design tem obrigatoriamente três seções: contexto do problema, alternativas consideradas com prós e contras, e a decisão final com justificativa técnica. Quem propõe a mudança escreve as três seções. Quem aprova só valida. Isso evita aquele cenário clássico onde o desenvolvedor props e depois abandona o design quando começa a implementação e descobre uma edge-case que não estava no ticket inicial.

O workflow prático é mais simples do que parece. Desenvolvedor cria branch do ticket de design, sobe com as três seções preenchidas, dispara notificação para o orientador da semana. Orientador tem até quatro horas úteis para responder. Se não responder, a mudança fica em espera automática, não é aprovada por padrão. Isso gerou atrito no primeiro mês, mas depois virou normal. Uma coisa que muita gente perde é o timing. Desenvolvimento guiado funciona bem para mudanças de arquitetura, mas é overkill para bugfix trivial. Nós estabelecemos regra prática: qualquer mudança que toque mais de dois módulos ou altera contrato de API precisa de desenvolvimento guiado, caso contrário segue code review comum. Isso cortou o tempo de aprovação de mudanças em cerca de setenta por cento, dependendo da complexidade.

👉 Clique no botão abaixo para saber mais sobre o assunto!

O problema real que eu encontrei foi com mudanças incrementais. Um desenvolvedor fez update gradual de uma função que tinha trinta chamadores espalhados por cinco serviços. O design ticket dizia que erasafe, mas não mapeou todos os casos de uso. A workaround que eu usei foi obrigar diagrama de dependência como annexo obrigatório do ticket de design. Levou duas horas a mais por ticket, mas salvou três dias de debugging depois.

Armadilhas comuns e quando não usar

Não funciona bem quando você tem menos de cinco desenvolvedores numa equipe. O overhead de alinhamento de design não compensa. Também não funciona bem em startups em fase de product-market fit onde a direção muda a cada duas semanas. Desenvolvimento guiado assume que o produto tem estabilidade relativa. Um insight contra-intuitivo que eu aprendi foi: desenvolvimento guiado não substitui cultura técnica. Se a equipe não tem maturidade para escrever design tickets bons, você só vai ter mais burocracia sem melhoraria. Eu vi isso acontecendo numa empresa onde o orientador não tinha expertise suficiente na área e aprovava mudanças por inércia. O resultado foi pior do que sem orientação.

Outra limitação importante: desenvolvimento guiado cria bottleneck no fluxo de entrega. Nós estimamos que uma mudança complexa passa de duas horas para cerca de quarenta minutos de design, mais cerca de sessenta minutos de implementação, totalizando cerca de duas horas no lugar das quatro que levaria com correções pós-lançamento. O ganho não é velocidade, é qualidade. Se você está começando, a recomendação é não adotar desenvolvimento guiado de uma vez. Nós começamos com mudanças de alta criticidade só: deploy de novas funcionalidades que afetavam o core do produto. Depois de três meses, expandimos para todas as mudanças que tocavam infraestrutura. Isso reduziu incidentes em produção em cerca de sessenta por cento, dependendo do setup inicial.

Não existe template perfeito. O design ticket que funcionou pra mim tinha exatamente essas três seções, nada mais, nada menos. Qualquer coisa além disso virava burocracia. Desenvolvedores começavam a encher linguiça nas seções de alternativas consideradas só para parecerem completos. Eu precisei revisar pessoalmente os primeiros vinte tickets para calibrar o nível de detalhe. O desenvolvimento guiado é uma ferramenta, não uma solução mágica. Se a equipe não tem vontade de aprender, nada disso funciona. Eu vi times inteiros adotarem o processo mecanicamente, preenchendo tickets sem pensar, esperando o orientador aprovar sem questionar. O resultado foi pior do que code review sem dono do problema.