Iteration Planning Workflow
Purpose: Ensure that the right amount of clear and important issues are assigned to each contributor for the next iteration and to decrease time spent on iteration planning in meetings
Audience: Project managers, product managers, issue refiners
Status: Draft
Rationale
Iteration planning is a critical process that ensures team members have appropriate workloads and clear tasks for each iteration. Without a structured workflow, iteration planning can become time-consuming in meetings or we would have contradicting assignments with unbalanced workload distribution. This workflow establishes a systematic approach to prepare iteration assignments before meetings, allowing meeting time to focus on bringing everyone up-to-date rather than administrative chore.
Quick Reference
Weekly Timeline:
- Ongoing: Project Manager triages issues, Issue Refiner refines issues
- Friday Morning: Project Manager completes iteration planning
- Before Monday Meeting: Product Manager reviews board
- Start of Week: Iteration Reflection during meeting
Key Principles:
- We plan 2 iterations ahead
- Balance workload based on capacity and calendar
- Ensure all assigned issues have clear descriptions
- Follow up early on issues without progress
Workflow Steps
1. Issue Triage
Who: Project Manager
When: during current iteration (ongoing)
Actions:
- Review and triage issues for the next iteration using the triage workflow
- Ensure issues are properly labeled
- Add
status::refinelabel if they need additional work - Identify which issues are ready for assignment in the upcoming iteration
Result: Issues are triaged and routed appropriately for refinement or assignment
2. Issue Refinement
Who: Issue Refiner
When: during current iteration (ongoing)
Actions:
- Review the refinement board and go through all issues with
status::refinelabel using the refinement workflow - Ensure issues are properly described with clear acceptance criteria
- Clarify requirements and implementation details with stakeholders if needed
- Mark issues as
status::readywhen they are fully refined and ready for assignment
Result: A pool of well-defined, ready-to-assign issues for the next iteration
3. Iteration Planning
Who: Project Manager
When: Friday morning (before the weekly meeting)
Actions:
review meeting statistics:
- Review the meeting MR with iteration statistics to understand the progress of the current iteration
- Analyze velocity and completion rates from previous iterations
- Identify patterns in task completion and blockers
handle incomplete issues:
- Move incomplete issues from the previous iteration back to
Openstatus - For each incomplete issue, assess whether it should remain assigned or be re-evaluated
- Document reasons for incompletion if patterns emerge
follow up on progress:
- Send reminders to assignees who haven't provided progress updates by Friday
- For issues with progress:
- Verify that the assignee has given a short update on the current status as a comment
- If not done by Friday, reach out to the respective contributors and remind them to do so
- For issues without progress:
- Read through and ensure that the description is clear and sufficient to start working on it
- Ping the assignee to make sure they are aware of the issue and ask if they have any questions or need help
- For issues in review:
- Look over the MR and remind the reviewers to review it
- Check if reviews are blocking progress
document required actions:
- Document required actions per team member in the iteration planning issue
- Add detailed notes in comments for any specific follow-ups needed
- Track any blockers or concerns that need discussion
execute iteration workflow for each team member:
- Look through each contributor and assess if they currently have too many/too few assigned issues for the next 2 iterations
for the next iteration:
- base assessment on:
- their working hours and capacity
- previous iteration outcomes and velocity
- time marked on calendar (vacations, meetings, other commitments)
- In case of too many assigned issues:
- Look through their issues and identify tasks with low priority or that are not time-critical
- Move lower priority issues back to the backlog
- Discuss with assignee if workload reduction is needed
- In case of too few assigned issues:
- Look through the issue pool and assign them new issues from the backlog (starting from
status::ready) - Prioritize issues based on milestone goals, dependencies, and contributor skills
- Look through the issue pool and assign them new issues from the backlog (starting from
for in 2 iterations:
-
assign a more flexible stream of new incoming issues to be verified
-
focus on ensuring issues are ready and refined rather than strict capacity matching
-
prioritize issues based on milestone goals and upcoming priorities
-
Review and confirm issue assignments with each team member if needed
-
Add confirmed issues to the appropriate iterations
verify distribution:
- Sort issues by assignee name to get a clear overview
- Verify that workload distribution is balanced across the team
- Check that no team member is over or under-allocated
- Ensure dependencies between team members are identified
trigger next steps:
- @mention Product Manager in the iteration planning issue to trigger board review
- @mention Refiner if any assigned issues need additional refinement or clarification
Result: Each team member has an appropriate number of clear, well-defined issues assigned for the next iteration
4. Development Board Review
Who: Product Manager
When: before meeting on Monday
Actions:
- Review development board status to understand the current state of all issues
- Review newly assigned or triaged issues from the iteration planning
- Check for any blockers, dependencies, or risks that need attention
- Assess whether the planned work for the iteration supports milestone objectives
- Identify any issues that may need re-prioritization or additional clarification
trigger next step:
- @mention Project Manager in the iteration planning issue if feedback or adjustments are needed
- Provide specific comments on any issues that need re-prioritization, clarification, or discussion
- Highlight any concerns about resource allocation or timeline
Result: Confirmation that the iteration plan aligns with product goals, or specific feedback for adjustments
5. Iteration Reflection
Who: Project Manager & Issue Refiner
When: start of week (during the weekly meeting)
Actions:
- reflect on process improvements:
- What went well in the last iteration?
- What challenges did we face?
- What can we do differently next time?
- Are there patterns in incomplete issues or blockers?
- document action items:
- Create follow-up issues for process improvements if needed
- Update workflows or templates based on learnings
- Assign owners and deadlines for improvement actions
- brief discussion to address concerns:
- Allow team members to raise concerns or suggestions
- Ensure all voices are heard
- Make decisions on process changes if needed
- For additional meeting details, see the meeting workflow
Result: Documented learnings and action items to continuously improve the iteration reflection process
Special Cases
Team Member on Vacation
When a team member will be on vacation during the next iteration:
- Consider their vacation days when assessing capacity
- Reassign time-critical issues to other team members
- Plan ahead for the iteration after their return
Urgent Issues During Iteration
When urgent issues don't have progress during an iteration:
- Assess impact on current assignments
- Document the change in the iteration planning issue
Examples
Example 1: Balanced Iteration Planning
Step 1: Review shows Developer A completed 3/4 issues last iteration
Step 2: Developer A has 1 incomplete issue (moved back to Open)
Step 3: Based on 20h/week capacity and no vacation, assign 6 new issues
Step 4: Total: 3 issues assigned for next iteration, 3 issues for in 2 iterations
Result: Balanced workload based on historical velocity for next 2 iterations
Example 2: Overloaded Developer
Step 1: Developer B has 6 issues assigned across next 2 iterations but only works 10h/week
Step 2: Review past iterations - Developer B typically completes 2 issues/iteration
Step 3: Remove 2 lower-priority issues, move back to backlog
Step 4: Keep 4 issues total (2 for next iteration, 2 for in 2 iterations) aligned with milestone goals
Result: Developer B has realistic workload for their capacity across next 2 iterations
Example 3: Underutilized Developer
Step 1: Developer C has 1 issue assigned, works 30h/week
Step 2: Review shows Developer C typically completes 4-5 issues/iteration
Step 3: Assign 8 additional issues from status::ready pool
Step 4: Prioritize issues on critical path for milestone (4 for next iteration, 5 for in 2 iterations)
Result: Developer C has sufficient work across next 2 iterations to maintain productivity
Related Resources
- Iteration Planning Issue Template (../../.gitlab/issue_templates/Iteration_Planning.md) - Use this template to create weekly iteration planning issues
- Meeting Workflow - Details about weekly meeting structure
- Triage Workflow - How issues are triaged and prepared for assignment
Troubleshooting
Common Issues
Problem: Team members frequently don't complete assigned issues Solution:
- Review capacity estimates - they may be too optimistic.
- Consider reducing the number of issues per iteration and accounting for meetings, reviews, and unexpected tasks.
- Track actual time spent vs. estimated to improve future planning.
Problem: Issues assigned but descriptions are unclear
Solution: Work with Issue Refiner to improve triage process.
Don't assign issues that aren't marked as status::ready.
Consider adding refinement step before assignment.
Problem: Iteration planning takes too long Solution: Ensure Issue Refiner has completed triage before Friday. Review each contributor's workload throughout the week, not just on Friday. Use the 2-iteration ahead strategy to smooth out planning.
Problem: Product Manager feedback comes too late Solution: Send the @mention to Product Manager on Friday so they have the weekend if needed. Set clear expectations for review timing. Consider moving the review deadline earlier.
Problem: Team members don't provide progress updates Solution: Send reminders earlier in the week (Wednesday/Thursday). Make progress updates a standard expectation. Consider adding progress updates as agenda item in stand-ups or check-ins.
Open Points
- Consider automating velocity tracking and capacity calculations
- Explore integration with time tracking tools for more accurate capacity assessment
Notes
- This workflow assumes a weekly iteration cycle; adjust timing if using different iteration lengths
- Capacity assessment should account for all work including meetings, reviews, and administrative tasks, not just coding time
- The 2-iteration ahead planning strategy helps smooth out workload fluctuations and reduces last-minute assignments:
- The next iteration is planned based on hours/calendar and capacity assessment
- The iteration in 2 iterations is planned as a more flexible stream of new incoming issues to be verified