7 min leitura • Guide 539 of 877
Gerenciando Streams de Desenvolvimento Paralelos
Streams de desenvolvimento paralelas para features, releases e hotfixes criam desafios de coordenação e conflitos de merge. O rastreamento branch-aware, gestão de releases e visibilidade multi-stream do GitScrum ajudam times a coordenar streams de trabalho paralelas enquanto mantêm qualidade de código e evitam conflitos custosos.
Tipos de Stream de Desenvolvimento
| Stream | Propósito | Prioridade | Merge Target |
|---|---|---|---|
| Main | Features do próximo release | Normal | branch de release |
| Maintenance | Fixes do release atual | Alta | current + main |
| Hotfix | Emergências de produção | Crítica | produção + todos |
| Experimental | R&D, spikes | Baixa | main quando pronto |
Gestão de Streams Paralelas
ESTRATÉGIA DE BRANCHING
GIT FLOW PARA STREAMS PARALELAS:
┌─────────────────────────────────────────────────┐
│ │
│ production ──●──●──●────────●─────●─────────── │
│ │ ↑ ↑ ↑ │
│ │ │ │ │ │
│ hotfix-1 ────┴─────┘ │ │ │
│ │ │ │
│ release/2.0 ──●──●──●──●─────┘ │ │
│ ↑↑↑↑ │ │
│ ││││ │ │
│ main ──●──●──●──●──●──●──●──●──●───┼──●──●──── │
│ ↑ ↑ ↑ ↑ │ │
│ │ │ │ │ │ │
│ feat-A ─┴──┘ │ │ │ │
│ │ │ │ │
│ feat-B ─────────────┴───┘ │ │
│ │ │
│ release/2.1 ───────────────────────┴─────────── │
│ │
└─────────────────────────────────────────────────┘
DEFINIÇÕES DE STREAM:
┌─────────────────────────────────────────────────┐
│ production: Código de produção atual │
│ └── Apenas hotfixes fazem merge aqui direto │
│ │
│ release/X.X: Estabilização de release │
│ └── Apenas bug fixes e polish │
│ │
│ main: Branch de integração │
│ └── Todas features fazem merge aqui │
│ │
│ feature/*: Desenvolvimento de features │
│ └── Merges regulares do main │
│ │
│ hotfix/*: Fixes emergenciais de produção │
│ └── Merge para produção, depois para main │
└─────────────────────────────────────────────────┘
Organização de Board
VISUALIZAÇÕES DE BOARD POR STREAM PARALELA
VISÃO 1: POR STREAM DE RELEASE
┌─────────────────────────────────────────────────┐
│ v2.0 Release (Atual) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ A Fazer │ Em Prog │ Review │ Feito │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ [BUG] │ [BUG] │ [FEAT] │ [BUG] │ │
│ │ │ [DOC] │ │ [FEAT] │ │
│ └─────────┴──────────┴──────────┴────────┘ │
│ │
│ v2.1 Release (Próximo) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ A Fazer │ Em Prog │ Review │ Feito │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ [FEAT] │ [FEAT] │ [FEAT] │ │ │
│ │ [FEAT] │ [FEAT] │ │ │ │
│ │ [TECH] │ │ │ │ │
│ └─────────┴──────────┴──────────┴────────┘ │
│ │
│ Hotfix (Emergência) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ A Fazer │ Em Prog │ Review │ Feito │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ │ [HOT] │ │ [HOT] │ │
│ └─────────┴──────────┴──────────┴────────┘ │
└─────────────────────────────────────────────────┘
LABELS PARA RASTREAMENTO DE STREAM:
┌─────────────────────────────────────────────────┐
│ [stream:v2.0] - Trabalho do release atual │
│ [stream:v2.1] - Trabalho do próximo release │
│ [stream:hotfix] - Emergência de produção │
│ [stream:experimental] - Trabalho de R&D │
└─────────────────────────────────────────────────┘
Alocação de Capacidade
CAPACIDADE DO TIME POR STREAM
DIVISÃO DE CAPACIDADE DO SPRINT:
┌─────────────────────────────────────────────────┐
│ Time: 6 desenvolvedores │
│ Capacidade do sprint: 60 pontos │
│ │
│ Alocação: │
│ ├── Features v2.1: 40 pts (67%) │
│ │ Devs: @alex, @jordan, @sam, @taylor │
│ │ │
│ ├── Manutenção v2.0: 15 pts (25%) │
│ │ Devs: @casey │
│ │ │
│ └── Hotfix buffer: 5 pts (8%) │
│ Devs: @riley (on-call) │
│ │
│ REGRA: Interromper para hotfix apenas se: │
│ • Impacto crítico em produção │
│ • Não pode esperar fim do sprint │
│ • Aprovação de @tech-lead │
└─────────────────────────────────────────────────┘
DEVELOPER ASSIGNMENT:
┌─────────────────────────────────────────────────┐
│ Developer │ Stream Principal │ Backup │
│──────────────┼──────────────────┼─────────────│
│ @alex │ v2.1 Features │ - │
│ @jordan │ v2.1 Features │ v2.0 bugs │
│ @sam │ v2.1 Features │ - │
│ @taylor │ v2.1 Features │ - │
│ @casey │ v2.0 Maintenance │ v2.1 bugs │
│ @riley │ Hotfix on-call │ v2.0 maint. │
└─────────────────────────────────────────────────┘
Prevenção de Conflitos de Merge
Estratégias de Integração
MINIMIZANDO CONFLITOS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ INTEGRAÇÃO FREQUENTE: │
│ ───────────────────── │
│ Feature branches: │
│ • Merge main → feature diariamente │
│ • Não deixar branch divergir por >3 dias │
│ • Resolver conflitos cedo é mais fácil │
│ │
│ MUDANÇAS PEQUENAS E FOCADAS: │
│ ──────────────────────────── │
│ • PRs pequenos (<400 linhas) │
│ • Uma coisa por PR │
│ • Merge rápido, não deixar PR aberto │
│ │
│ COMUNICAÇÃO SOBRE CÓDIGO COMPARTILHADO: │
│ ─────────────────────────────────────── │
│ Slack/Teams: #code-changes │
│ │
│ "@time heads up: refatorando módulo de auth, │
│ se estão tocando auth.js, me avisem pra coordenar" │
│ │
│ FEATURE FLAGS: │
│ ────────────── │
│ • Nova funcionalidade desabilitada em produção │
│ • Código pode estar em main sem afetar usuários │
│ • Permite trunk-based development │
│ │
└─────────────────────────────────────────────────────────────┘
Processo de Hotfix
FLUXO DE HOTFIX:
┌─────────────────────────────────────────────────────────────┐
│ │
│ 1. DETECTAR PROBLEMA │
│ └── Alerta/relatório de produção │
│ │
│ 2. AVALIAR SEVERIDADE │
│ ☐ Crítico: Afeta >50% dos usuários │
│ ☐ Crítico: Dados corrompidos │
│ ☐ Crítico: Security breach │
│ └── Se crítico → Hotfix. Senão → v2.0 maintenance │
│ │
│ 3. CRIAR BRANCH DE HOTFIX │
│ git checkout -b hotfix/issue-123 production │
│ │
│ 4. IMPLEMENTAR FIX │
│ • Fix mínimo (não melhorias) │
│ • Testes cobrindo o bug │
│ • Code review expedito │
│ │
│ 5. DEPLOY EM PRODUÇÃO │
│ git checkout production │
│ git merge hotfix/issue-123 │
│ # Deploy imediato │
│ │
│ 6. PROPAGAR PARA OUTRAS BRANCHES │
│ git checkout main │
│ git merge hotfix/issue-123 │
│ │
│ git checkout release/2.0 │
│ git merge hotfix/issue-123 │
│ │
│ 7. CLEANUP │
│ git branch -d hotfix/issue-123 │
│ │
└─────────────────────────────────────────────────────────────┘
Melhores Práticas
Checklist de Implementação
CHECKLIST DE STREAMS PARALELAS
══════════════════════════════
ESTRATÉGIA DE BRANCHING:
☐ Git flow ou trunk-based definido
☐ Convenção de nomes de branch
☐ Políticas de proteção de branch
☐ Integração frequente planejada
RASTREAMENTO:
☐ Labels de stream configurados
☐ Board views por stream
☐ Tarefas rotuladas corretamente
☐ Visibilidade cross-stream
CAPACIDADE:
☐ Alocação por stream definida
☐ Buffer para hotfixes mantido
☐ Desenvolvedores atribuídos a streams
☐ Escalation path para interrupções
COORDENAÇÃO:
☐ Comunicação sobre código compartilhado
☐ Timing de merge coordenado
☐ Release sync meetings
☐ Conflitos resolvidos rapidamente
DEPLOYMENT:
☐ Pipelines por stream configurados
☐ Feature flags implementados
☐ Rollback testado
☐ Monitoramento ativo
Streams paralelas bem gerenciadas maximizam throughput sem caos - cada linha de trabalho progride sem bloquear as outras.