Caso real: duas linhas de requisito, quatorze decisões escondidas
Acompanhar um pedido comum de exportação em PDF virar uma lista de decisões — e ver quais delas custam caro quando alguém decide sozinho.
O requisito chegou assim: "Exportar o relatório de vendas em PDF. O usuário clica no botão e baixa." Duas linhas. Estimativa da reunião: meio dia.
- Ver na prática quantas decisões cabem num requisito curto.
- Usar a IA como analista crítico em vez de gerador de código.
- Separar o que é dúvida técnica do que é decisão de produto.
Quem implementa direto entrega em meio dia — e descobre o resto ao longo de três semanas de correções. O caminho mais rápido de verdade é gastar quinze minutos fazendo as decisões aparecerem antes.
Repare no papel do assistente aqui: ele não conhece o seu produto e não pode decidir nada. O que ele faz bem é lembrar de perguntas que você faria se tivesse tempo e memória infinitos.
Não implemente nada. Você é um analista técnico cético. Requisito recebido: "Exportar o relatório de vendas em PDF. O usuário clica no botão e baixa." Contexto: [cole o CONTEXT.md] Devolva: 1) Ambiguidades — trechos que admitem mais de uma leitura 2) Decisões de produto que alguém precisa tomar (e quem seria) 3) Casos de borda e de erro 4) Requisitos não funcionais implícitos (volume, tempo, privacidade) 5) Perguntas objetivas para quem pediu, no máximo 8 Não proponha solução. Não preencha lacuna com suposição — marque como PENDENTE.
As duas últimas linhas são o que impede a resposta de virar um plano de implementação prematuro.
[prompt acima]
AMBIGUIDADES - "relatório de vendas": qual recorte? O que está na tela agora, com os filtros aplicados, ou o relatório completo? - "o usuário": qualquer usuário autenticado, ou só perfis com permissão de ver valores? - "baixa": download síncrono no clique, ou geração assíncrona com aviso? DECISÕES DE PRODUTO (PENDENTE) - Período máximo exportável - O PDF inclui os gráficos da tela ou só a tabela? - Valores aparecem por usuário ou consolidados? - Precisa de marca d'água ou identificação de quem exportou? CASOS DE BORDA - Resultado vazio - Resultado com 1 linha × com 200 mil linhas - Filtro que cruza virada de mês/ano - Usuário perde permissão entre a geração e o download - Dois cliques seguidos no botão NÃO FUNCIONAIS IMPLÍCITOS - Tempo aceitável até o download começar (PENDENTE) - Acentuação e fonte no PDF (pt-BR quebra em fonte padrão de várias libs) - Fuso: "vendas de hoje" depende do fuso de quem lê - Retenção: o arquivo gerado fica salvo em algum lugar? Por quanto tempo? - LGPD: o PDF conterá dado pessoal de cliente?
- Nada aqui é genial — é checklist. E é exatamente isso que se perde numa reunião de vinte minutos.
- A observação sobre acentuação é o tipo de detalhe que só aparece depois de queimar um dia: várias bibliotecas de PDF usam por padrão uma fonte sem os glifos acentuados, e o "Relatório de São Paulo" vira "Relatrio de So Paulo".
- O item de fuso conecta com o caso do módulo 4 — é a mesma família de bug.
- Tudo que é decisão de produto veio marcado como PENDENTE, não resolvido. Foi o que o prompt exigiu.
O que virou lista de trabalho
| # | Decisão | Quem decide | Custo de errar |
|---|---|---|---|
| 1 | Recorte: filtros da tela ou relatório inteiro | Produto | Alto — refazer a consulta |
| 2 | Quem pode exportar valores | Produto + segurança | Alto — exposição de dado |
| 3 | Síncrono ou assíncrono | Técnico | Alto — muda a arquitetura |
| 4 | Período máximo permitido | Produto | Médio — timeout em produção |
| 5 | Inclui gráficos | Produto | Médio — muda a biblioteca |
| 6 | Identificação de quem exportou | Compliance | Médio — auditoria |
| 7 | Comportamento com resultado vazio | Técnico | Baixo |
| 8 | Limite de linhas e paginação do PDF | Técnico | Alto — memória |
| 9 | Virada de mês/ano nos filtros | Técnico | Médio — número errado |
| 10 | Permissão revogada durante a geração | Técnico + segurança | Alto — vazamento |
| 11 | Duplo clique / geração concorrente | Técnico | Médio — custo e travamento |
| 12 | Fonte com acentuação pt-BR | Técnico | Baixo, mas embaraçoso |
| 13 | Fuso horário do recorte de datas | Técnico | Alto — número errado |
| 14 | Retenção do arquivo gerado | Compliance | Alto — LGPD |
Cinco itens têm custo alto de errar. Nenhum deles estava nas duas linhas do requisito, e quatro são decisão de outra pessoa — não sua.
Chegar com uma lista de quatorze itens numa conversa de produto costuma travar tudo. A lista é insumo seu, não pauta.
O que funciona: decidir sozinho o que é técnico (itens 3, 7, 8, 9, 11, 12, 13), levar as decisões de produto agrupadas em três ou quatro perguntas de verdade, e explicitar o custo de cada caminho.
Como perceber: Se a resposta da reunião for "faz do jeito que você achar melhor" para um item de custo alto, escreva a decisão que você tomou e mande por escrito. É o que protege os dois lados.
Com as decisões na mesa, a estimativa virou dois dias — não porque o trabalho cresceu, mas porque ele apareceu. E os itens 3 e 8 (assíncrono e limite de linhas) mudaram a solução antes de existir código, que é a hora barata de mudar.
- A IA não decide o seu produto; ela impede que decisões passem despercebidas por falta de tempo.
Comentários e dúvidas
Inscreva-se grátis para comentar, tirar dúvidas, marcar seu progresso e emitir o certificado ao fim do curso.
Inscrever-se grátis com GoogleAinda não há comentários nesta aula.