Tomada de Decisão
Visão Geral
Decisões arquiteturais são tomadas com informação insuficiente. Isso não é uma anomalia a corrigir — é a condição normal, e o papel exige operar dentro dela.
esperar mais informação custo invisível: tempo, trabalho travado,
oportunidade
decidir agora custo visível: risco de errar
A assimetria de visibilidade é o que produz o comportamento errado. Um erro de decisão é atribuído a quem decidiu; um mês perdido esperando informação não é atribuído a ninguém.
Por isso o critério útil não é "tenho informação suficiente?" — é "o custo de adiar é maior que o risco de errar?".
Problema
Dois padrões opostos.
Paralisia. A decisão espera por uma análise, que espera por um dado, que espera por um levantamento. Enquanto isso, times seguem com abordagens divergentes, e a decisão que seria fácil em janeiro vira cara em setembro porque três sistemas já foram construídos.
Decisão apressada em coisa irreversível. O oposto: decidir rápido algo que é caro de desfazer, sem a análise que a consequência justificava.
Os dois erros vêm da mesma falha: não distinguir decisões pelo custo de reversão. Aplicar o mesmo rigor a tudo produz lentidão nas decisões pequenas e leviandade nas grandes.
Conceitos Centrais
Reversibilidade decide o rigor
reversível em dias decida rápido, com pouca análise
custosa de reverter analise, e registre a condição de revisão
irreversível na prática analise a fundo, envolva quem responde
pelo risco, e considere um caminho
que preserve a opção
Jeff Bezos chamou as duas pontas de decisões de mão única e de mão dupla. A observação útil não é a taxonomia — é que a maior parte das decisões é de mão dupla e recebe tratamento de mão única.
Ver contexto em ADR.
O custo de adiar é calculável
Ele quase nunca é calculado, e frequentemente é grande:
quantas pessoas estão bloqueadas por esta decisão?
por quanto tempo?
o que está sendo construído enquanto isso, e vai precisar mudar?
qual a janela de mercado, se houver?
o custo de reverter cresce com o tempo?
A última pergunta é a mais importante. Decisões de fronteira arquitetural ficam exponencialmente mais caras de tomar à medida que código é construído sobre a ausência delas.
decidir a fronteira agora uma discussão
decidir em seis meses uma discussão + migrar três sistemas
Declare a informação que decidiria
Quando a decisão é adiada, adiá-la sem critério é o erro:
ruim "vamos esperar ter mais clareza"
bom "vou decidir quando tivermos a medição de latência do
parceiro, que sai em duas semanas. Se ela não sair até
lá, decido pela opção X, que é a mais conservadora."
Isso transforma adiamento em plano. E força a pergunta útil: a informação que falta vai de fato chegar, e ela mudaria a decisão?
Frequentemente a resposta honesta é não — a informação não viria, ou não mudaria nada — e nesse caso o adiamento é evitação.
Decida no nível certo
quem tem o contexto decide melhor
quem tem a consequência precisa concordar
quem tem autoridade não necessariamente deve decidir
Um arquiteto que decide o que um time deveria decidir rouba contexto e cria dependência. Um time que decide o que atravessa times cria divergência.
Ver governança federada.
Registre a condição de revisão
"escolhemos X. Reavaliar se o volume passar de 3 mil por segundo,
ou se o parceiro melhorar a disponibilidade acima de 99,9%."
Isso muda a natureza da decisão: ela deixa de ser permanente e passa a ser condicional. A revisão futura vira verificação de uma condição, e não uma nova discussão.
Ver alternativas em ADR e superação.
Decisões que preservam opção valem mais
Diante de incerteza real, uma decisão que mantém caminhos abertos vale mais que a melhor aposta:
"não sabemos se o volume vai crescer 10× ou ficar estável.
Em vez de escolher a arquitetura para um dos cenários, escolho
a que atende ao cenário atual e não impede o outro — o custo
de manter a opção é baixo, e a informação chega em seis meses."
Isso é diferente de adiar: a decisão é tomada, e ela é escolhida por preservar flexibilidade onde a incerteza é alta. Ver simplicidade vs. flexibilidade.
Não decidir é uma decisão
E ela costuma ser a pior, porque é tomada por omissão:
"não decidimos sobre o padrão de comunicação entre serviços"
resultado: cada time escolheu, e agora existem quatro
O estado que resulta da ausência de decisão raramente é neutro. Reconhecer isso — "se não decidirmos, o que vai acontecer é isto" — frequentemente resolve a paralisia, porque torna visível que a alternativa ao risco de errar não é a segurança, é outro resultado.
Modelo Mental
O custo de adiar é maior que o risco de errar? Se for, decida com o que você tem, declare as premissas e registre a condição que mudaria a decisão.
Quando Usar
- Sempre que houver decisão pendente com pessoas bloqueadas.
- Classificando primeiro por reversibilidade.
- Com a informação que decidiria declarada, quando o adiamento se justificar.
Quando Não Usar
Com o mesmo rigor para tudo.
Adiando sem critério — "quando tivermos clareza" não é plano.
Decidindo o que outro deveria decidir.
Sem condição de revisão.
Ignorando que não decidir produz um resultado.
Alternativas
- Decisão temporária com data — escolher por três meses e reavaliar, quando a incerteza é genuína e o custo de reverter é baixo.
- Piloto — decidir com evidência em vez de com análise.
- Delegar — quando quem tem o contexto pode decidir.
- Decisão de menor arrependimento — a que produz o pior resultado menos ruim, sob incerteza alta.
A última é útil quando os cenários são muito diferentes e nenhum é claramente provável.
Trade-offs
| Decidir cedo | Esperar informação |
|---|---|
| Desbloqueia | Menos risco de erro |
| Risco de errar | Custo invisível de atraso |
| Reversível se pequena | Divergência acumula |
| Rigor alto | Rigor proporcional |
|---|---|
| Menos erro em decisões grandes | Rapidez nas pequenas |
| Lentidão generalizada | Exige classificar |
Modos de Falha
Paralisia. Divergência acumula enquanto se espera.
Rigor uniforme. Lento no pequeno, leviano no grande.
Adiamento sem critério. Evitação disfarçada.
Decisão no nível errado. Contexto ou consequência desalinhados.
Sem condição de revisão. A decisão vira permanente.
Omissão tratada como neutralidade.
Erros Comuns
Não calcular o custo de adiar.
Não perguntar se a informação faltante mudaria a decisão.
Aplicar processo pesado a decisões reversíveis.
Decidir sozinho o que atravessa times.
Não registrar premissas e condição de revisão.
Exemplo Real
Uma empresa de serviços financeiros tinha uma decisão pendente havia sete meses: qual padrão de comunicação assíncrona adotar entre serviços. Três opções técnicas estavam sobre a mesa, e a análise comparativa era refeita a cada dois meses com dados novos.
Enquanto isso:
times que precisavam de comunicação assíncrona 6
que decidiram sozinhos e implementaram 4
tecnologias distintas em produção 3
adaptadores de integração construídos 7
A decisão que seria de uma tecnologia em janeiro virou uma migração de quatro sistemas em agosto.
O que destravou foi uma pergunta feita numa revisão trimestral: "qual informação nós ainda não temos que mudaria a escolha?"
A resposta honesta foi: nenhuma. As três opções tinham sido avaliadas exaustivamente, e a diferença entre elas era pequena comparada ao custo de continuar sem decidir. A análise estava sendo refeita porque decidir parecia arriscado, não porque faltasse informação.
A decisão foi tomada em uma reunião de 40 minutos, com três elementos registrados:
escolha a opção com maior experiência interna, não a
tecnicamente superior por margem estreita
premissas volume abaixo de 20 mil mensagens/s; sem
necessidade de reprocessamento histórico
condição de
revisão reavaliar se o volume passar de 20 mil/s ou se
surgir requisito de reprocessamento
E a migração dos três sistemas divergentes foi financiada centralmente, com prazo de nove meses.
O que a organização mudou no processo de decisão:
Classificação por reversibilidade obrigatória. Decisões reversíveis em dias passaram a ser tomadas pelo time, sem análise formal. As irreversíveis mantiveram o processo completo.
Custo de adiar calculado em toda decisão pendente há mais de 30 dias: quantas pessoas bloqueadas, o que está sendo construído sobre a ausência da decisão, e como o custo de reverter cresce.
A pergunta padrão — "que informação faltante mudaria a escolha?" — incorporada às revisões. Quando a resposta é "nenhuma", a decisão é tomada na mesma reunião.
Decisão temporária permitida. Para casos de incerteza genuína, escolher por um prazo e reavaliar passou a ser uma opção legítima, em vez de adiar.
Dezoito meses depois:
tempo médio de decisões arquiteturais pendentes de 11 semanas para 3
decisões revertidas por terem sido precipitadas 2
custo estimado dessas duas reversões ~R$ 340 mil
custo estimado da paralisia anterior, no caso
da comunicação assíncrona ~R$ 2,1 milhões
O último par de números virou o argumento interno para a mudança: duas decisões erradas custaram um sexto do que uma decisão adiada tinha custado.
A lição registrada: a pergunta "qual informação mudaria a escolha?" é o instrumento mais barato do conjunto. Ela leva segundos e, na maior parte das vezes, a resposta honesta revela que o adiamento não era sobre informação.
Conceitos Relacionados
- Negociação de Trade-offs.
- Gestão de Risco.
- Contexto em ADR — reversibilidade.
- Superação.
Exercício Prático
Liste as decisões arquiteturais pendentes no seu contexto e, para cada uma, responda: quantas pessoas estão bloqueadas, e qual informação faltante mudaria a escolha.
As que não tiverem resposta para a segunda pergunta podem ser decididas hoje.
Perguntas de Entrevista
- Por que o custo de adiar é sistematicamente subestimado?
- Por que a maior parte das decisões recebe rigor de decisão irreversível?
- Por que "não decidir" produz um resultado, e não neutralidade?
Para Aprofundar
- Bezos, Jeff. Carta aos acionistas de 2015 — decisões de mão única e de mão dupla.
- Kahneman, Daniel. Thinking, Fast and Slow. Farrar, Straus and Giroux, 2011.
- Ford, Neal et al. Fundamentals of Software Architecture. O'Reilly, 2020.