✓ GOOD: Functional Grouping
Parallel-safe. One team per epic.
Epic A: Core Authentication
User Model
JWT Service
Login Endpoint
Password Reset
W1: User Model
W2: JWT + Login
W3: Password Reset
Epic B: Notification System
Email Templates
Notif Service
Event Handlers
blocks
Wave Execution
Wave 1:
User Model + Email Templates
← parallel
Wave 2:
JWT Service + Notif Service
← parallel
Wave 3:
Remaining (parallel)
3 waves. Maximum parallelism.
✗ BAD: Layer Grouping
Forces serial. Cross-epic spaghetti.
Epic X: Database Layer
User Tbl
Session
Notif Tbl
Epic Y: API Layer
Auth Ctrl
Middleware
Notif Ctrl
Epic Z: Frontend
Login Pg
Dashbrd
Notif Pnl
Wave Execution
Wave 1:
Database Layer only
← blocked
Wave 2:
API Layer (waits for Wave 1)
← blocked
Wave 3:
Frontend (waits for Wave 2)
← blocked
3 waves but ZERO parallelism. Pure serial.