Pular para o conteudo principal

Como pensar em trade-offs

Um jeito mais honesto de decidir quando nenhuma opção é perfeita e você ainda precisa defender uma escolha.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O problema

Muita decisão ruim nasce da tentativa de encontrar uma opcao perfeita dentro de um contexto cheio de limite.

No mundo real, quase nunca existe caminho sem custo.

Existe só o custo mais aceitavel para aquele contexto.

O problema e que muita gente trata trade-off de dois jeitos ruins:

  • como desculpa para qualquer decisão fraca
  • como sinal de que ainda faltou “pensar melhor”

Nenhum dos dois ajuda.

Trade-off não e fracasso da decisão.

Trade-off e o formato real da decisão quando prazo, risco, dinheiro, performance e simplicidade puxam para lados diferentes.

Modelo mental

Trade-off não e defeito da decisão.

Trade-off e a fisica da decisão.

Em vez de perguntar “qual e a melhor opcao?”, a pergunta mais honesta e:

“Que custo eu estou aceitando aqui e que custo o negócio não pode bancar?”

Isso tira a conversa da teoria e leva para a realidade.

Outra pergunta útil e esta:

“Se eu escolher esse caminho, o que melhora agora e o que vai ficar mais caro depois?”

Quando você enxerga a decisão assim, o debate deixa de ser gosto pessoal e começa a virar critério.

Quebrando o problema

Uma forma madura de organizar a escolha e esta:

  1. Diga qual objetivo de negócio precisa ser protegido.
  2. Nomeie a restrição mais dura.
  3. Liste opcoes realistas e ignore as ideais demais.
  4. Diga o custo de cada uma.
  5. Escolha pelo impacto, não pela elegancia.

Esse formato mata discussão abstrata e força a equipe a decidir no mundo real.

1. Comece pelo que não pode quebrar

Se você não disser o que esta protegendo, a conversa vira disputa de opiniao.

Pode ser:

  • prazo de entrega
  • margem de erro aceitavel
  • experiência principal do usuário
  • custo de operação
  • capacidade do time manter a solução

Sem isso, qualquer opcao consegue parecer boa por alguns minutos.

2. Restrição de verdade muda a decisão

Restrição real não e “eu preferia fazer diferente”.

Restrição real e algo como:

  • mobile já esta em release e não atualiza na hora
  • prazo e fixo por causa de campanha
  • serviço terceiro tem limite de custo
  • time não tem capacidade de operar algo mais complexo agora

Quando a restrição fica explicita, você para de debater solução ideal e passa a discutir solução viavel.

3. Compare custos, não só beneficios

Muita defesa técnica fala só do lado bonito da própria proposta.

Só que decisão madura também fala do que ela piora.

Exemplo:

  • caminho A entrega mais rápido, mas aumenta retrabalho depois
  • caminho B reduz risco de longo prazo, mas não cabe no prazo atual
  • caminho C deixa arquitetura mais limpa, mas adiciona operação demais para um time pequeno

Quando você nomeia o custo, a conversa fica adulta.

4. Não use trade-off como desculpa para qualquer coisa

Tem gente que aprendeu a palavra e passou a usar assim:

“Tudo e trade-off, entao tanto faz.”

Não e isso.

Trade-off bom não apaga qualidade de julgamento.

Ele melhora a precisao da escolha.

Exemplo simples

Imagine isto:

“O time precisa entregar uma busca nova esta semana, mas a versão completa não cabe no prazo.”

Uma resposta ruim seria tentar entregar tudo correndo.

Uma resposta madura seria organizar assim:

  • objetivo: colocar busca funcional em produção sem quebrar a experiência principal
  • restrição: prazo curto e time pequeno
  • opcao 1: entregar tudo correndo e aceitar mais bug e mais risco de rollback
  • opcao 2: cortar filtros avancados e cache, entregar só a busca principal com qualidade
  • opcao 3: atrasar um mes para fazer a versão completa

Em muitos contextos, a opcao 2 e a melhor. Não porque e perfeita, mas porque gerencia a restrição de forma honesta.

Agora imagine outro contexto:

  • prazo não e fixo
  • a busca vai virar base de várias jornadas
  • o time já sabe que sem filtros certos o recurso nasce torto

Talvez a decisão mude.

Esse e o ponto.

Trade-off não e receita pronta.

E leitura de contexto.

Erros comuns

  • Discutir solução sem dizer quais custos estao em conflito.
  • Tratar corte de escopo como fracasso pessoal.
  • Esconder custo para fazer sua opcao favorita parecer obvia.
  • Defender arquitetura sofisticada mesmo quando ela quebra o prazo.
  • Falar “depende” sem dizer de que exatamente depende.

Como um senior pensa

Quem tem mais experiência não vende certeza falsa para gestao.

Explicita o que esta protegendo e o que esta sacrificando.

O tom costuma ser:

“Se o prazo e fixo, eu prefiro cortar escopo do que derrubar qualidade. O importante e deixar explícito qual custo estamos aceitando.”

Isso melhora a qualidade da decisão e da conversa.

O que o entrevistador quer ver

Em entrevista de system design, esse enquadramento mostra maturidade operacional.

  • Você entender que escolha técnica também e escolha de negócio.
  • Você articular custo e impacto para pessoas não técnicas.
  • Você não confundir complexidade academica com qualidade de produto.
  • Você deixar claro o que esta protegendo e o que aceitou perder.

Uma resposta forte costuma soar assim:

“Eu tento começar pelo objetivo e pela restrição que mais manda no problema. Depois comparo opcoes pelo custo que cada uma traz. Se o prazo e fixo, talvez eu corte escopo. Se o risco operacional e o principal problema, talvez eu aceite entregar menos para não comprometer confiabilidade.”

Decisão boa não e a que evita custo. E a que aceita o custo certo com clareza.

Resumo rápido

O que vale manter na cabeça

Checklist de pratica

Use isto ao responder

Você concluiu este artigo

Próximo artigo Escrever Código que Gente Consegue Entender Artigo anterior Como quebrar problemas

Continue explorando

Artigos relacionados