"We want to do Agile, but also want to plan."
I fully understand this desire.
Tired of requirements changing every sprint, but don't want to go back to Waterfall either.
Good news. You can do both.
Today, I'll show you step-by-step how to actually apply WBS + Agile hybrid methodology.
Level-Based Approach: Upper Fixed, Lower Flexible
The key is applying different flexibility by level.
Level 1: Project (Fixed)
└── Level 2: Release (Quarterly Adjustment)
└── Level 3: Epic (Monthly Adjustment)
└── Level 4: Sprint (2 weeks fixed)
└── Level 5: Story (Daily adjustment)
└── Level 6: Task (Hourly)
Flexibility: Upper ← [Low ━━━━━━ High] → Lower
Visibility: Upper ← [High ━━━━━━ Low] → Lower
Higher up is more stable, lower down is more flexible.
CEO looks at Level 1-2, PM manages Level 3-4, developers focus on Level 5-6.
Practical Example: E-commerce Platform Build
Let's apply hybrid methodology to an actual project.
Phase 1: Establish Overall Structure (WBS)
E-commerce Platform (6 months)
├── 1. Basic Shopping Mall (2 months)
│ ├── 1.1 Product Management
│ ├── 1.2 Shopping Cart
│ └── 1.3 Order Processing
├── 2. Payment System (1 month)
│ ├── 2.1 PG Integration
│ └── 2.2 Settlement System
└── 3. Admin System (3 months)
├── 3.1 Product Management
├── 3.2 Order Management
└── 3.3 Member Management
This structure doesn't change much over 6 months.
Phase 2: First Release Plan (Hybrid)
release_1 = {
"goal": "MVP Launch",
"duration": "2 months",
"fixed": ["Product List", "Shopping Cart", "Order"], # Cannot change
"flexible": ["Design", "Additional Features"], # Can adjust
"sprints": [
{
"sprint_1": ["Product List API", "Basic UI"],
"sprint_2": ["Shopping Cart Feature"],
"sprint_3": ["Order Process"],
"sprint_4": ["Integration Test", "Bug Fixes"]
}
]
}
Phase 3: Sprint Execution (Agile)
// Sprint 1 Detailed Plan
const sprint_1 = {
commitment: [
'Product List API', // Fixed
'Basic UI', // Fixed
],
stretch_goals: [
'Search Feature', // If time allows
'Filtering', // Bonus
],
daily_execution: 'Scrum',
};
// Every morning
function daily_standup() {
check_yesterday();
plan_today();
identify_blockers();
// Don't touch WBS
}
5 Principles of Hybrid
1. Don't Change the Big Picture
def can_change(item_level):
"""Change possibility by level"""
rules = {
1: "CEO approval needed", # Project
2: "C-Level approval", # Release
3: "PM decision", # Epic
4: "Team consensus", # Sprint
5: "Freely", # Story
6: "Hourly" # Task
}
return rules[item_level]
2. Manage Buffer Explicitly
Sprint Planning:
Committed Work: 70% # Must complete
Buffer: 20% # For urgent response
Innovation: 10% # Experimentation and improvement
# Buffer enables Agile
3. Differentiate Feedback Loops
feedback_cycles = {
Task: 'Immediate', // Fix right away
Story: 'Daily', // Daily standup
Sprint: '2 weeks', // Sprint review
Epic: 'Monthly', // Monthly check
Release: 'Quarterly', // Quarterly review
};
4. Provide Role-Specific Views
CEO Dashboard:
Project Progress: 45%
Next Release: 2025.03.01
Major Risks: Payment Module Delay
PM Dashboard:
Current Sprint: Sprint 7
Burndown: ████░░░░
Blockers: 3
Velocity: 45 points/sprint
Developer View:
Today's Tasks:
- [ ] Implement API Endpoint
- [ ] Write Unit Tests
- [ ] PR Review
5. Change Management Process
def handle_change_request(change, level):
"""Handle change by level"""
if level <= 2: # Project/Release
return "Change committee review"
elif level == 3: # Epic
if change.impact < "1 week":
return "Proceed with PM approval"
else:
return "Stakeholder meeting"
else: # Sprint/Story/Task
return "Team autonomous decision"
Real Application Case: Fintech Startup B
Situation
- Regulatory requirements (Fixed)
- Fast market changes (Need flexibility)
- Team size: 20 people
Application Method
Level 1-2: Regulatory Requirements (Waterfall)
├── KYC System (Cannot change)
├── AML Monitoring (Legal requirement)
└── Security Audit (Mandatory)
Level 3-4: Business Features (Hybrid)
├── Remittance Feature (Priority adjustable)
├── Investment Products (Adjust based on market response)
└── UI/UX (A/B Testing)
Level 5-6: Development Tasks (Agile)
├── Daily Standup
├── Pair Programming
└── Continuous Deployment
Results
- Regulatory Compliance: 100% achieved
- Launch Time: 2 weeks ahead of schedule
- Team Satisfaction: 8.5/10
- Change Request Processing: Average 3 days
Tool Setup Guide
Jira + Plexo Combination
// Jira: Sprint Execution
const jira_config = {
boards: 'Scrum board',
sprints: '2-week units',
ceremonies: ['standup', 'review', 'retro'],
};
// Plexo: WBS Management
const plexo_config = {
structure: 'Hierarchical WBS',
visualization: 'Gantt + Board',
sync_with: 'Jira API',
};
Integrated Dashboard
def create_hybrid_dashboard():
"""Configure hybrid dashboard"""
return {
"top": wbs_progress(), # WBS progress
"middle": sprint_burndown(), # Sprint burndown
"bottom": kanban_board(), # Kanban board
"side": risk_matrix() # Risk matrix
}
Transition Roadmap: 6-Week Plan
Week 1-2: Preparation
- [ ] Analyze current process
- [ ] Team training
- [ ] Tool selection
- [ ] Select pilot project
Week 3-4: Pilot
- [ ] Start with small project
- [ ] Create WBS structure
- [ ] Execute first sprint
- [ ] Collect daily feedback
Week 5-6: Expansion
- [ ] Organize lessons learned
- [ ] Improve process
- [ ] Apply to entire team
- [ ] Build continuous improvement system
Anti-Patterns: Traps to Avoid
1. Scrumfall (Worst)
❌ Don't do this:
- 3-month detailed planning
- Change plan daily
- Waterfall documents, Agile execution
- Result: Worst combination
2. Fake Agile
❌ Don't do this:
- Mini Waterfall named Sprint
- Sprints without retrospectives
- Ignore customer feedback
- Result: Slow Waterfall
3. WBS Overload
❌ Don't do this:
- 10-level deep WBS
- Plan down to hourly
- Update entire WBS daily
- Result: Management hell
Success Metrics
Metrics to check if hybrid is working well:
success_metrics = {
"prediction_accuracy": "> 80%", # Actual vs plan
"change_response_time": "< 3 days", # Request to reflection
"team_velocity_variance": "< 20%", # Velocity difference by sprint
"stakeholder_satisfaction": "> 4/5", # Survey score
"technical_debt": "< 15%" # vs total work
}
Conclusion: The Art of Balance
Hybrid methodology is the art of balance.
Too rigid becomes Waterfall,
Too flexible becomes chaos.
Keys to Success:
- Differentiate flexibility by level
- Clear change process
- Role-specific custom views
- Continuous improvement
"Agile without planning" and
"WBS without flexibility" are not answers.
The real answer is wise combination.
Find the golden ratio that fits your project.
Need perfect hybrid management of WBS and Agile? Check out Plexo.

Top comments (0)