DEV Community

전규현 (Jeon gyuhyeon)
전규현 (Jeon gyuhyeon)

Posted on

Hybrid Methodology Practice: The Golden Ratio of Mixing WBS and Agile

"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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"]
        }
    ]
}
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

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]
Enter fullscreen mode Exit fullscreen mode

2. Manage Buffer Explicitly

Sprint Planning:
  Committed Work: 70% # Must complete
  Buffer: 20% # For urgent response
  Innovation: 10% # Experimentation and improvement

  # Buffer enables Agile
Enter fullscreen mode Exit fullscreen mode

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
};
Enter fullscreen mode Exit fullscreen mode

4. Provide Role-Specific Views

CEO Dashboard:

Project Progress: 45%
Next Release: 2025.03.01
Major Risks: Payment Module Delay
Enter fullscreen mode Exit fullscreen mode

PM Dashboard:

Current Sprint: Sprint 7
Burndown: ████░░░░
Blockers: 3
Velocity: 45 points/sprint
Enter fullscreen mode Exit fullscreen mode

Developer View:

Today's Tasks:
- [ ] Implement API Endpoint
- [ ] Write Unit Tests
- [ ] PR Review
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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',
};
Enter fullscreen mode Exit fullscreen mode

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
    }
Enter fullscreen mode Exit fullscreen mode

Transition Roadmap: 6-Week Plan

Week 1-2: Preparation

- [ ] Analyze current process
- [ ] Team training
- [ ] Tool selection
- [ ] Select pilot project
Enter fullscreen mode Exit fullscreen mode

Week 3-4: Pilot

- [ ] Start with small project
- [ ] Create WBS structure
- [ ] Execute first sprint
- [ ] Collect daily feedback
Enter fullscreen mode Exit fullscreen mode

Week 5-6: Expansion

- [ ] Organize lessons learned
- [ ] Improve process
- [ ] Apply to entire team
- [ ] Build continuous improvement system
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

2. Fake Agile

❌ Don't do this:
- Mini Waterfall named Sprint
- Sprints without retrospectives
- Ignore customer feedback
- Result: Slow Waterfall
Enter fullscreen mode Exit fullscreen mode

3. WBS Overload

❌ Don't do this:
- 10-level deep WBS
- Plan down to hourly
- Update entire WBS daily
- Result: Management hell
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

Conclusion: The Art of Balance

Hybrid methodology is the art of balance.

Too rigid becomes Waterfall,
Too flexible becomes chaos.

Keys to Success:

  1. Differentiate flexibility by level
  2. Clear change process
  3. Role-specific custom views
  4. 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)