6 min read • Guide 539 of 877
Managing Parallel Development Streams
Parallel development streams for features, releases, and hotfixes create coordination challenges and merge conflicts. GitScrum's branch-aware tracking, release management, and multi-stream visibility help teams coordinate parallel work streams while maintaining code quality and avoiding costly conflicts.
Development Stream Types
| Stream | Purpose | Priority | Merge Target |
|---|---|---|---|
| Main | Next release features | Normal | release branch |
| Maintenance | Current release fixes | High | current + main |
| Hotfix | Production emergencies | Critical | production + all |
| Experimental | R&D, spikes | Low | main when ready |
Parallel Stream Management
BRANCHING STRATEGY
GIT FLOW FOR PARALLEL STREAMS:
┌─────────────────────────────────────────────────┐
│ │
│ production ──●──●──●────────●─────●─────────── │
│ │ ↑ ↑ ↑ │
│ │ │ │ │ │
│ hotfix-1 ────┴─────┘ │ │ │
│ │ │ │
│ release/2.0 ──●──●──●──●─────┘ │ │
│ ↑↑↑↑ │ │
│ ││││ │ │
│ main ──●──●──●──●──●──●──●──●──●───┼──●──●──── │
│ ↑ ↑ ↑ ↑ │ │
│ │ │ │ │ │ │
│ feat-A ─┴──┘ │ │ │ │
│ │ │ │ │
│ feat-B ─────────────┴───┘ │ │
│ │ │
│ release/2.1 ───────────────────────┴─────────── │
│ │
└─────────────────────────────────────────────────┘
STREAM DEFINITIONS:
┌─────────────────────────────────────────────────┐
│ production: Current production code │
│ └── Only hotfixes merge here directly │
│ │
│ release/X.X: Release stabilization │
│ └── Bug fixes and polish only │
│ │
│ main: Integration branch │
│ └── All features merge here │
│ │
│ feature/*: Feature development │
│ └── Regular merges from main │
│ │
│ hotfix/*: Emergency production fixes │
│ └── Merge to production, then back to main │
└─────────────────────────────────────────────────┘
Board Organization
PARALLEL STREAM BOARD VIEWS
VIEW 1: BY RELEASE STREAM
┌─────────────────────────────────────────────────┐
│ v2.0 Release (Current) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ To Do │ In Prog │ Review │ Done │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ [BUG] │ [BUG] │ [FEAT] │ [BUG] │ │
│ │ │ [DOC] │ │ [FEAT] │ │
│ └─────────┴──────────┴──────────┴────────┘ │
│ │
│ v2.1 Release (Next) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ To Do │ In Prog │ Review │ Done │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ [FEAT] │ [FEAT] │ [FEAT] │ │ │
│ │ [FEAT] │ [FEAT] │ │ │ │
│ │ [TECH] │ │ │ │ │
│ └─────────┴──────────┴──────────┴────────┘ │
│ │
│ Hotfix (Emergency) │
│ ┌─────────┬──────────┬──────────┬────────┐ │
│ │ To Do │ In Prog │ Review │ Done │ │
│ ├─────────┼──────────┼──────────┼────────┤ │
│ │ │ [HOT] │ │ [HOT] │ │
│ └─────────┴──────────┴──────────┴────────┘ │
└─────────────────────────────────────────────────┘
LABELS FOR STREAM TRACKING:
┌─────────────────────────────────────────────────┐
│ [stream:v2.0] - Current release work │
│ [stream:v2.1] - Next release work │
│ [stream:hotfix] - Production emergency │
│ [stream:experimental] - R&D work │
└─────────────────────────────────────────────────┘
Capacity Allocation
TEAM CAPACITY BY STREAM
SPRINT CAPACITY SPLIT:
┌─────────────────────────────────────────────────┐
│ Team: 6 developers │
│ Sprint capacity: 60 points │
│ │
│ Allocation: │
│ ├── v2.1 Features: 40 pts (67%) │
│ │ Developers: @alex, @jordan, @sam, @taylor │
│ │ │
│ ├── v2.0 Maintenance: 15 pts (25%) │
│ │ Developers: @casey, @riley │
│ │ │
│ └── Hotfix Buffer: 5 pts (8%) │
│ Developers: Rotating │
└─────────────────────────────────────────────────┘
STREAM PRIORITY RULES:
┌─────────────────────────────────────────────────┐
│ 1. Hotfix: Drop current work │
│ 2. v2.0 Critical: May pull from v2.1 capacity │
│ 3. v2.1 Features: Normal priority │
│ 4. Experimental: Only if capacity available │
└─────────────────────────────────────────────────┘
Merge Coordination
MERGE TIMING COORDINATION
MERGE SCHEDULE:
┌─────────────────────────────────────────────────┐
│ Daily: │
│ ├── Feature branches sync FROM main │
│ └── Hotfixes merge to production immediately │
│ │
│ Sprint End: │
│ ├── Features merge TO main │
│ ├── Release branch syncs from main │
│ └── Cherry-picks to release if needed │
│ │
│ Release: │
│ ├── Release branch merges to production │
│ └── Production merges back to main │
└─────────────────────────────────────────────────┘
CONFLICT PREVENTION:
┌─────────────────────────────────────────────────┐
│ Practices: │
│ ├── Sync from main daily │
│ ├── Small, focused PRs │
│ ├── Communicate on shared file changes │
│ ├── Feature flags for incomplete work │
│ └── Resolve conflicts promptly │
│ │
│ When changing shared code: │
│ 1. Announce in #dev channel │
│ 2. Coordinate timing with affected streams │
│ 3. Merge to main first │
│ 4. Other streams sync │
└─────────────────────────────────────────────────┘
Task Workflow
TASK LIFECYCLE IN PARALLEL STREAMS
FEATURE FOR NEXT RELEASE:
┌─────────────────────────────────────────────────┐
│ 1. Task created with [stream:v2.1] label │
│ 2. Developer creates feature/TASK-123 branch │
│ 3. Regular merges from main during development │
│ 4. PR to main when complete │
│ 5. Task closed, ready for v2.1 release │
└─────────────────────────────────────────────────┘
BUG FIX FOR CURRENT RELEASE:
┌─────────────────────────────────────────────────┐
│ 1. Task created with [stream:v2.0] label │
│ 2. Developer creates fix/TASK-456 branch │
│ 3. Branch from release/2.0 │
│ 4. PR to release/2.0 │
│ 5. Cherry-pick to main if applicable │
│ 6. Task closed │
└─────────────────────────────────────────────────┘
HOTFIX FOR PRODUCTION:
┌─────────────────────────────────────────────────┐
│ 1. Task created with [stream:hotfix] label │
│ 2. [URGENT] Drop current work │
│ 3. Branch from production │
│ 4. PR to production (expedited review) │
│ 5. Deploy immediately │
│ 6. Merge back to main and release branches │
│ 7. Task closed │
└─────────────────────────────────────────────────┘
Best Practices
- Clear stream definitions with documented rules
- Label tasks by stream for visibility
- Regular syncs from main to prevent drift
- Dedicated capacity per stream
- Communicate shared changes proactively
- Small PRs merge more easily
- Feature flags for work-in-progress
- Automate merges where possible
Anti-Patterns
✗ Long-lived branches without syncing
✗ Large PRs with many conflicts
✗ No stream labels on tasks
✗ Unclear which stream gets priority
✗ Everyone working on all streams
✗ Hotfixes not back-merged