Iteration Planning

Overview: Iteration planning is a key Scrum event where Agile teams commit to a set of User Stories and Tasks they will complete during the upcoming iteration. This guide covers the planning process, best practices, and tools for effective iteration planning.

What is Iteration Planning?

Iteration planning is a collaborative planning meeting where the Agile team selects User Stories from the Team Backlog and commits to completing them during the upcoming iteration (typically 2 weeks). The team also breaks down User Stories into Tasks and estimates the effort required.

Key Objectives

  • Sprint Goal: Define a clear objective for the iteration
  • Scope Definition: Select appropriate User Stories based on team capacity
  • Task Breakdown: Decompose User Stories into implementable Tasks
  • Commitment: Team commits to delivering the selected work
  • Risk Identification: Surface and address potential impediments

Iteration Planning Process

Pre-Planning Preparation

1. Backlog Refinement: Ensure User Stories are well-defined and sized
2. Capacity Planning: Determine team availability for the iteration
3. Dependency Review: Identify any external dependencies
4. Previous Iteration Review: Review velocity and lessons learned

Planning Meeting Structure

Phase Duration Activities Participants
Opening 15 minutes Review iteration goals, team capacity, previous iteration results Full team
Story Selection 45 minutes Select User Stories, discuss acceptance criteria, identify risks Full team + PO
Task Breakdown 60 minutes Break stories into tasks, estimate effort, assign ownership Development team
Commitment 15 minutes Final commitment, risk mitigation planning Full team

Team Capacity Planning

Factors Affecting Capacity

  • Team Member Availability: Planned time off, holidays, other commitments
  • Non-Development Work: Meetings, support, training, documentation
  • Technical Debt: Time allocated for addressing technical debt
  • Innovation Time: Dedicated time for learning and experimentation
  • Buffer for Unknowns: Reserve capacity for unexpected work

Capacity Calculation Example

Total Team Hours = 5 developers × 10 days × 8 hours = 400 hours Adjustments: - Meetings and ceremonies: -80 hours (20%) - Planned time off: -40 hours (10%) - Support and maintenance: -40 hours (10%) - Buffer for unknowns: -40 hours (10%) Available Development Capacity = 200 hours (50% of total)

User Story Selection Criteria

Story Readiness Checklist

  • Definition of Ready: Story meets team's definition of ready
  • Acceptance Criteria: Clear, testable acceptance criteria defined
  • Size Appropriateness: Story can be completed within the iteration
  • Dependencies: No blocking dependencies or dependencies are resolved
  • Business Value: Clear business value and priority established

Selection Process

  1. Priority Order: Start with highest priority stories from the backlog
  2. Capacity Check: Ensure story fits within remaining team capacity
  3. Dependency Validation: Confirm no blocking dependencies exist
  4. Risk Assessment: Evaluate and discuss potential risks
  5. Team Agreement: Ensure team understands and agrees to the story

Task Breakdown and Estimation

Task Identification Guidelines

  • Granular Tasks: Break work into tasks of 1-8 hours
  • Skill-Based Tasks: Consider different skill sets required
  • Testing Tasks: Include unit testing, integration testing
  • Documentation Tasks: Technical documentation, user guides
  • Review Tasks: Code review, design review activities

Common Task Categories

Category Examples Typical Duration
Development Implement feature, create UI component, database changes 2-8 hours
Testing Write unit tests, integration testing, manual testing 1-4 hours
Review Code review, design review, peer testing 1-2 hours
Documentation API documentation, user guides, technical specs 1-4 hours
Integration System integration, deployment preparation 2-6 hours

Risk Management in Planning

Common Iteration Risks

  • Technical Risks: Unknown technical challenges, integration complexity
  • Dependency Risks: External team delays, infrastructure dependencies
  • Resource Risks: Team member unavailability, skill gaps
  • Scope Risks: Requirement changes, scope creep
  • Quality Risks: Technical debt, insufficient testing time

Risk Mitigation Strategies

Important: For each identified risk, develop a specific mitigation plan and assign ownership for monitoring and response.
Risk Type Mitigation Strategy Contingency Plan
Technical Complexity Spike stories, proof of concepts Reduce scope, defer complex features
External Dependencies Early communication, backup plans Implement workarounds, reschedule
Team Capacity Conservative estimates, buffer time Prioritize critical features

Using SafeDevOps for Iteration Planning

Planning Workflow in SafeDevOps

  1. Access Iteration: Navigate to the team's current iteration
  2. Review Backlog: View prioritized User Stories in the team backlog
  3. Add Stories: Select and add User Stories to the iteration
  4. Create Tasks: Break down User Stories into specific Tasks
  5. Estimate Effort: Add time estimates to Tasks
  6. Assign Ownership: Assign Tasks to team members
  7. Track Capacity: Monitor team capacity utilization
Pro Tip: Use the iteration planning view to see real-time capacity utilization as you add stories and tasks to the iteration.

Best Practices

For Scrum Masters

  • Facilitate, don't dictate - let the team make decisions
  • Keep the meeting timeboxed and focused
  • Ensure all voices are heard during planning
  • Help the team identify and address impediments
  • Protect the team from over-commitment

For Product Owners

  • Ensure stories are well-prepared and prioritized
  • Be available to clarify requirements and acceptance criteria
  • Respect the team's capacity and technical constraints
  • Focus on business value and user outcomes
  • Be flexible on scope while maintaining iteration goals

For Development Teams

  • Ask questions to fully understand requirements
  • Break down work into manageable tasks
  • Be realistic about estimates and capacity
  • Consider dependencies and integration points
  • Commit as a team to the iteration goals

Common Anti-Patterns to Avoid

Planning Pitfalls

  • Over-commitment: Taking on more work than team capacity allows
  • Under-prepared Stories: Planning with poorly defined requirements
  • Ignoring Dependencies: Not accounting for external dependencies
  • Individual Assignments: Assigning work to individuals instead of the team
  • Gold Plating: Adding unnecessary features or over-engineering
  • Skipping Estimation: Not properly estimating task effort

Metrics and Continuous Improvement

Key Planning Metrics

  • Planning Accuracy: Percentage of committed work completed
  • Velocity Trends: Team velocity over multiple iterations
  • Scope Changes: Frequency and impact of mid-iteration changes
  • Estimation Accuracy: Actual vs. estimated effort for tasks
  • Cycle Time: Time from story start to completion

Retrospective Questions

  • Did we commit to the right amount of work?
  • Were our estimates accurate?
  • What impediments affected our delivery?
  • How can we improve our planning process?
  • What did we learn that will help future planning?
SAFe® and Scaled Agile Framework® are registered trademarks of Scaled Agile, Inc.