Testar grátis
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

StreamPropósitoPrioridadeMerge Target
MainFeatures do próximo releaseNormalbranch de release
MaintenanceFixes do release atualAltacurrent + main
HotfixEmergências de produçãoCríticaprodução + todos
ExperimentalR&D, spikesBaixamain 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.

Soluções Relacionadas