8 min leitura • Guide 802 of 877
Rastreamento de Dívida Técnica
Dívida técnica desacelera equipes ao longo do tempo. O GitScrum ajuda a rastrear itens de dívida e balanceá-los contra trabalho de features para manter a saúde da codebase.
Entendendo Tech Debt
Tipos de Dívida
TIPOS DE DÍVIDA TÉCNICA:
┌─────────────────────────────────────────────────────────────┐
│ │
│ DÍVIDA DELIBERADA: │
│ ────────────────── │
│ "Sabemos que é rápido e sujo, mas precisamos entregar" │
│ Trade-off consciente, documentado │
│ Plano para corrigir depois │
│ │
│ DÍVIDA ACIDENTAL: │
│ ───────────────── │
│ "Não sabíamos que havia forma melhor" │
│ Aprendemos melhores práticas depois │
│ Padrões desatualizados │
│ │
│ BIT ROT (deterioração): │
│ ────────────────────── │
│ "Funcionava bem até..." │
│ Dependências desatualizadas │
│ Requisitos mudaram │
│ Ambiente evoluiu │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ EXEMPLOS: │
│ │
│ CÓDIGO: │
│ • Lógica duplicada │
│ • Testes faltando │
│ • Funções complexas (muito longas) │
│ • Nomeação ruim │
│ • Código morto │
│ │
│ ARQUITETURA: │
│ • Monolito que deveria ser dividido │
│ • Estrutura de dados errada │
│ • Acoplamento forte │
│ • Camada de abstração faltando │
│ │
│ INFRAESTRUTURA: │
│ • Deploys manuais │
│ • Dependências desatualizadas │
│ • Monitoramento faltando │
│ • Configurações inseguras │
│ │
│ DOCUMENTAÇÃO: │
│ • Docs desatualizadas │
│ • READMEs faltando │
│ • Comentários incorretos │
└─────────────────────────────────────────────────────────────┘
Custo da Dívida
IMPACTO DA DÍVIDA TÉCNICA:
┌─────────────────────────────────────────────────────────────┐
│ │
│ VELOCIDADE AO LONGO DO TEMPO: │
│ │
│ Velocidade │
│ de Feature │
│ │ │
│ │ ████ │
│ │ ████ ████ │
│ │ ████ ████ ███ │
│ │ ████ ████ ███ ██ │
│ │ ████ ████ ███ ██ █ │
│ └──────────────────────────→ Tempo │
│ │
│ Sem gestão de dívida, velocidade diminui │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SINTOMAS DE ALTA DÍVIDA: │
│ ──────────────────────── │
│ • "Mudanças simples levam uma eternidade" │
│ • Bugs frequentes em certas áreas │
│ • Medo de mudar código legado │
│ • Novos membros demoram para fazer onboarding │
│ • Mesmos bugs continuam reaparecendo │
│ • "Ninguém sabe como isso funciona" │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ O EFEITO COMPOSTO: │
│ ───────────────── │
│ │
│ Sprint 1: Correção rápida (economiza 2 dias) │
│ Sprint 5: Contornando (perde 1 dia) │
│ Sprint 10: Bug do hack (perde 3 dias) │
│ Sprint 15: Refatoração maior necessária (perde 1 semana) │
│ │
│ "Economia" inicial de 2 dias custou 2+ semanas │
│ │
│ Juros se acumulam se não abordado. │
└─────────────────────────────────────────────────────────────┘
Rastreando Dívida
Inventário de Dívida
RASTREAMENTO DE DÍVIDA TÉCNICA:
┌─────────────────────────────────────────────────────────────┐
│ │
│ CRIAR REGISTRO DE DÍVIDA: │
│ │
│ Para cada item de dívida, capture: │
│ │
│ • NOME: Descrição clara e concisa │
│ • TIPO: Código/Arquitetura/Infra/Docs/Dependência │
│ • LOCALIZAÇÃO: Arquivos/módulos afetados │
│ • IMPACTO: Como desacelera a equipe (1-5) │
│ • ESFORÇO: Quanto para corrigir (1-5) │
│ • RISCO: O que pode dar errado se ignorado (1-5) │
│ • PRIORIDADE: Score calculado │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ EXEMPLO DE REGISTRO: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ID │ Nome │ Tipo │ Impacto │ Esforço ││
│ │───────────────────────────────────────────────────────││
│ │ D-001 │ Auth legado │ Arq │ 5 │ 4 ││
│ │ D-002 │ Sem CI/CD │ Infra│ 4 │ 2 ││
│ │ D-003 │ Testes faltando │ Teste│ 3 │ 3 ││
│ │ D-004 │ React desatualiz. │ Dep │ 2 │ 2 ││
│ │ D-005 │ Docs API │ Doc │ 2 │ 1 ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
Priorizando Dívida
FRAMEWORK DE PRIORIZAÇÃO:
┌─────────────────────────────────────────────────────────────┐
│ │
│ FÓRMULA: │
│ Score = (Impacto × Risco) / Esforço │
│ │
│ EXEMPLO: │
│ │
│ D-002: Sem CI/CD │
│ Impacto: 4 (desacelera todo deploy) │
│ Risco: 4 (erros em produção mais prováveis) │
│ Esforço: 2 (poucos dias de trabalho) │
│ Score: (4 × 4) / 2 = 8 ← ALTA PRIORIDADE │
│ │
│ D-001: Auth legado │
│ Impacto: 5 (bloqueia features de segurança) │
│ Risco: 5 (vulnerabilidades potenciais) │
│ Esforço: 4 (múltiplos sprints) │
│ Score: (5 × 5) / 4 = 6.25 │
│ │
│ D-005: Docs API │
│ Impacto: 2 (onboarding mais lento) │
│ Risco: 1 (sem risco real) │
│ Esforço: 1 (rápido de fazer) │
│ Score: (2 × 1) / 1 = 2 ← Quick win │
│ │
│ RESULTADO: │
│ 1º: D-002 (score 8) - fazer agora │
│ 2º: D-001 (score 6.25) - planejar │
│ Quick win: D-005 - fazer quando conveniente │
└─────────────────────────────────────────────────────────────┘
Rastreando no GitScrum
Configurando Rastreamento
DÍVIDA NO GITSCRUM:
┌─────────────────────────────────────────────────────────────┐
│ │
│ OPÇÃO 1: EPIC DEDICADO │
│ ───────────────────── │
│ │
│ EPIC: Dívida Técnica │
│ ├── DEBT-001: Migrar sistema auth │
│ ├── DEBT-002: Setup CI/CD │
│ ├── DEBT-003: Cobertura de testes │
│ └── DEBT-004: Atualizar dependências │
│ │
│ OPÇÃO 2: LABELS EM TAREFAS NORMAIS │
│ ────────────────────────────────── │
│ │
│ Toda tarefa de dívida recebe: │
│ • Label: #tech-debt │
│ • Label de severidade: #debt-high, #debt-medium, #debt-low│
│ • Label de tipo: #debt-code, #debt-arch, #debt-infra │
│ │
│ OPÇÃO 3: CAMPO CUSTOMIZADO │
│ ───────────────────────── │
│ │
│ Campo "Tipo de Trabalho": │
│ • Feature │
│ • Bug │
│ • Tech Debt ← filtrar por isso │
│ • Manutenção │
└─────────────────────────────────────────────────────────────┘
Métricas de Dívida
| Métrica | O que Mede | Meta |
|---|---|---|
| Total de itens | Volume de dívida | Diminuir |
| % resolvido por Q | Progresso | 20-30% |
| Idade média | Quanto tempo sem resolver | < 6 meses |
| Score de risco | Exposição | Diminuir |
Estratégias de Pagamento
Alocando Tempo
ESTRATÉGIAS DE ALOCAÇÃO:
┌─────────────────────────────────────────────────────────────┐
│ │
│ 1. PERCENTUAL FIXO: │
│ 10-20% de cada sprint para tech debt │
│ │
│ Sprint de 40 pts: │
│ ├── Features: 32-36 pts │
│ └── Tech debt: 4-8 pts │
│ │
│ 2. SPRINT DEDICADO: │
│ 1 sprint por trimestre focado em dívida │
│ │
│ 3. REGRA BOY SCOUT: │
│ "Deixe código melhor do que encontrou" │
│ Melhorias incrementais durante trabalho normal │
│ │
│ 4. HÍBRIDO (recomendado): │
│ 10% contínuo + sprint trimestral + boy scout │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ AJUSTE BASEADO EM SEVERIDADE: │
│ │
│ Dívida baixa: 10% por sprint │
│ Dívida moderada: 15-20% por sprint │
│ Dívida alta: 25-30% + sprints focados │
│ Crise: Pausar features, focar em dívida │
└─────────────────────────────────────────────────────────────┘
Dashboard de Dívida
Visualização
DASHBOARD DE DÍVIDA TÉCNICA:
┌─────────────────────────────────────────────────────────────┐
│ │
│ RESUMO Q1 2025: │
│ ─────────────── │
│ │
│ Total de itens: 23 │
│ ├── Críticos: 2 │
│ ├── Altos: 5 │
│ ├── Médios: 9 │
│ └── Baixos: 7 │
│ │
│ Resolvidos este Q: 8 (35%) │
│ Novos adicionados: 5 │
│ Net change: -3 ↓ (melhorando!) │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ TENDÊNCIA DE DÍVIDA: │
│ │
│ 30 │ ████ │
│ │ ████████ │
│ 20 │ ████████████ │
│ │ ████████████████ │
│ 10 │ ████████████████████ │
│ │ ████████████████████████ │
│ 0 └──────────────────────────→ │
│ Q1 Q2 Q3 Q4 Q1 │
│ 2024 2025 │
│ │
│ INVESTIMENTO VS RESULTADOS: │
│ │
│ Horas investidas em debt: 120h │
│ Velocidade antes: 35 pts/sprint │
│ Velocidade depois: 42 pts/sprint (+20%) │
│ ROI: 7 pts/sprint recuperados │
└─────────────────────────────────────────────────────────────┘