8 min leitura • Guide 354 of 877
Gestão de Spikes Técnicas
Spikes técnicas são esforços de pesquisa time-boxed para responder perguntas e reduzir risco. Boa gestão de spikes mantém pesquisa focada e traduz descobertas em ação. Má gestão de spikes desperdiça tempo em exploração sem foco.
Características de Spike
| Aspecto | Spike | Feature |
|---|---|---|
| Objetivo | Responder pergunta | Entregar valor |
| Output | Conhecimento | Código funcionando |
| Time-box | Fixo (1-2 dias) | Estimado |
| Pontos | Geralmente 0 ou fixo | Variável |
Quando Fazer Spike
Casos de Uso
QUANDO USAR SPIKES
══════════════════
AVALIAÇÃO DE TECNOLOGIA:
─────────────────────────────────────
Perguntas como:
├── "A biblioteca X faz o que precisamos?"
├── "Isso escala para nossa carga?"
├── "Qual é a curva de aprendizado?"
├── "Como integra?"
├── Avaliar antes de comprometer
└── Escolhas de tecnologia informadas
INCERTEZA DE ESTIMATIVA:
─────────────────────────────────────
Quando não consegue estimar:
├── "Quanto tempo vai levar a migração?"
├── Complexidade desconhecida
├── Nunca feito antes
├── Spike para entender
├── Então estimar com precisão
└── Reduzir incerteza de planejamento
PROTOTIPAGEM:
─────────────────────────────────────
Prova de conceito:
├── "Essa abordagem é viável?"
├── Validação rápida
├── Código descartável
├── Aprender fazendo
├── Antes de comprometer
└── Aprendizado barato
INVESTIGAÇÃO DE BUG:
─────────────────────────────────────
Investigação profunda:
├── "Por que isso está acontecendo?"
├── Análise de causa raiz
├── Reproduzir condições
├── Investigação time-boxed
├── Depois corrigir separadamente
└── Entender antes de corrigir
PESQUISA DE INTEGRAÇÃO:
─────────────────────────────────────
Serviços de terceiros:
├── "Como a API deles funciona?"
├── "Quais são as limitações?"
├── Avaliar fornecedores
├── Documentar descobertas
└── Reduzir risco de integração
Estrutura de Spike
Definição Clara
DEFINIÇÃO DE SPIKE
══════════════════
TEMPLATE DE SPIKE:
─────────────────────────────────────
Título: [Spike] Avaliar Auth0 para autenticação
Pergunta:
Qual é a pergunta principal que esta spike responde?
"Auth0 pode atender nossos requisitos de autenticação
incluindo SSO, MFA e claims customizados?"
Contexto:
Por que precisamos responder isso?
"Precisamos escolher um provedor de auth. Auth0 é
candidato mas não temos certeza sobre complexidade
de integração e cobertura de features."
Time-box:
Quanto tempo? (máximo 2 dias tipicamente)
"2 dias (16 horas)"
Output:
O que será entregue?
├── Recomendação escrita
├── Código protótipo (se aplicável)
├── Análise de prós/contras
├── Esforço estimado para implementação completa
└── Recomendação go/no-go
Critérios de Aceite:
Como sabemos que a spike está completa?
├── ☐ Configurar tenant Auth0 de teste
├── ☐ Implementar fluxo de login básico
├── ☐ Testar SSO com IdP de teste
├── ☐ Testar configuração MFA
├── ☐ Documentar abordagem de integração de API
Tipos de Spike
CATEGORIAS DE SPIKE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ SPIKE TÉCNICA: │
│ ────────────── │
│ Explorar abordagem técnica ou viabilidade │
│ │
│ Exemplos: │
│ • "Podemos usar GraphQL com nossa stack atual?" │
│ • "Como integramos com API do Salesforce?" │
│ • "Qual a melhor estratégia de cache?" │
│ │
│ Output: Documento técnico, protótipo, recomendação │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SPIKE FUNCIONAL: │
│ ──────────────── │
│ Explorar necessidades de usuário ou requisitos │
│ │
│ Exemplos: │
│ • "Como usuários esperam que busca funcione?" │
│ • "Qual workflow faz mais sentido?" │
│ │
│ Output: Mockups, fluxos de usuário, requisitos refinados │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SPIKE DE ESTIMATIVA: │
│ ──────────────────── │
│ Entender escopo para estimar melhor │
│ │
│ Exemplos: │
│ • "Quanto trabalho é migrar o banco?" │
│ • "Qual o esforço para refatorar módulo X?" │
│ │
│ Output: Estimativa refinada, lista de tarefas, riscos │
└─────────────────────────────────────────────────────────────┘
Executando Spikes
Durante a Spike
EXECUÇÃO DE SPIKE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ DIA 1: │
│ ────── │
│ Manhã: │
│ • Revisar pergunta e critérios │
│ • Setup inicial do ambiente │
│ • Pesquisa inicial │
│ │
│ Tarde: │
│ • Experimentação hands-on │
│ • Documentar descobertas enquanto trabalha │
│ • Identificar bloqueios ou surpresas │
│ │
│ DIA 2: │
│ ────── │
│ Manhã: │
│ • Continuar experimentação │
│ • Focar em critérios de aceite pendentes │
│ • Preencher lacunas │
│ │
│ Tarde: │
│ • Consolidar descobertas │
│ • Escrever recomendação │
│ • Preparar apresentação para equipe │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ REGRAS: │
│ ─────── │
│ • Respeitar time-box (pare quando acabar) │
│ • Documentar enquanto trabalha (não depois) │
│ • Foco na pergunta (não rabbit holes) │
│ • "Não sei ainda" é resposta válida │
│ • Código é descartável (não otimize) │
└─────────────────────────────────────────────────────────────┘
Output de Spike
Documentação de Resultados
TEMPLATE DE OUTPUT:
┌─────────────────────────────────────────────────────────────┐
│ │
│ SPIKE REPORT: Avaliação Auth0 │
│ ═════════════════════════════ │
│ │
│ PERGUNTA: │
│ Auth0 atende nossos requisitos de autenticação? │
│ │
│ RECOMENDAÇÃO: │
│ ✅ Sim, recomendamos Auth0 │
│ │
│ DESCOBERTAS: │
│ │
│ SSO: │
│ ✅ Funciona bem com SAML e OIDC │
│ ✅ Setup relativamente simples │
│ ⚠️ Configuração por tenant adiciona complexidade │
│ │
│ MFA: │
│ ✅ Suporte robusto (SMS, TOTP, push) │
│ ✅ Fácil de habilitar │
│ │
│ Custom Claims: │
│ ✅ Rules e Actions permitem customização │
│ ⚠️ Curva de aprendizado para Actions │
│ │
│ PRÓS: │
│ • Documentação excelente │
│ • SDKs para todas nossas stacks │
│ • Tier gratuito para desenvolvimento │
│ • Compliance (SOC2, GDPR) │
│ │
│ CONTRAS: │
│ • Custo escala com MAUs │
│ • Lock-in do fornecedor │
│ • Rate limits no tier básico │
│ │
│ ESFORÇO ESTIMADO: │
│ • Implementação básica: 1 sprint │
│ • SSO completo: 2 sprints │
│ • Total: 3-4 sprints │
│ │
│ PRÓXIMOS PASSOS: │
│ 1. Aprovar orçamento para Auth0 │
│ 2. Criar stories para implementação │
│ 3. Começar com login básico │
└─────────────────────────────────────────────────────────────┘
Anti-padrões
O Que Evitar
ANTI-PADRÕES DE SPIKE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ ❌ SPIKE INFINITA: │
│ "Ainda estou investigando..." (dia 5) │
│ → Sempre time-box, decisão com info disponível │
│ │
│ ❌ SPIKE SEM PERGUNTA: │
│ "Vou pesquisar sobre microserviços" │
│ → Defina pergunta específica a responder │
│ │
│ ❌ POC VIRA PRODUÇÃO: │
│ "Vou só refinar esse código de spike" │
│ → Código de spike é descartável, reescreva │
│ │
│ ❌ SPIKE PARALELA: │
│ "Ah, e também investiguei X, Y e Z" │
│ → Uma spike, uma pergunta │
│ │
│ ❌ SPIKE SEM OUTPUT: │
│ "Terminei a spike" (sem documentação) │
│ → Sempre documente, conhecimento se perde │
│ │
│ ❌ SPIKE PARA TUDO: │
│ "Preciso de spike para essa tarefa simples" │
│ → Spikes para incerteza real, não procrastinação │
└─────────────────────────────────────────────────────────────┘
Rastreando no GitScrum
Gestão de Spikes
| Campo | Valor |
|---|---|
| Tipo | Spike |
| Label | #spike, #research |
| Time-box | 1-2 dias |
| Output | Link para documento |
SPIKE NO GITSCRUM:
┌─────────────────────────────────────────────────────────────┐
│ │
│ TAREFA: │
│ [SPIKE] Avaliar opções de cache │
│ │
│ TIPO: Spike │
│ ESTIMATIVA: 2d (time-box, não estimativa real) │
│ LABELS: #spike #infra │
│ │
│ DESCRIÇÃO: │
│ Pergunta: Qual solução de cache devemos usar? │
│ │
│ Opções: Redis, Memcached, in-memory │
│ │
│ Critérios: │
│ ☐ Benchmark de performance │
│ ☐ Análise de custo │
│ ☐ Recomendação documentada │
│ │
│ SUBTAREFAS: │
│ ☐ Setup Redis local │
│ ☐ Setup Memcached local │
│ ☐ Criar benchmark script │
│ ☐ Executar testes │
│ ☐ Documentar resultado │
│ │
│ RESULTADO: │
│ [Link para documento de spike após completar] │
└─────────────────────────────────────────────────────────────┘