Who is involved?
Release planning is a collaborative effort involving these roles:
- Scrum master – Facilitates the meeting
- Product owner – Represents a general view of the product backlog
- Delivery team or agile team – Provide insights into technical feasibility and dependencies
- Stakeholders – Act as trusted advisors as decisions are made around the release plan
Before the planning meeting
Before getting started, release planning needs:
- A ranked product backlog managed by the product owner
- Input from the team about overall capabilities, known velocity, and technical impacts
- High-level vision, market, and business objectives
- An acknowledgment of whether new product backlog items may be needed
Release planning checklist
- Where is your product owner?
Make sure the person responsible for making priority decisions about big features is available, whether it is an analyst, product manager, or executive.
- Do you have a ranked backlog?
Five to fifteen high-level features the product owner hopes to include in this release. Write each one on an index card.
- How will you size your items?
Establish a common baseline for sizing. Consider bringing a broad group of individuals representing various teams together and have them size a dozen or more product backlog items.
- Who is coming?
Everyone who is impacted by the release needs to be in this meeting to help develop the plan, identify dependencies, and commit to the release.
- Plan for logistics.
Create an agenda in advance. Consider room size. Review the agenda beforehand with scrum masters or team leads. Provision for breakout rooms, flip charts and sticky notes, and refreshments.
- What about multiple or distributed teams?
Consider plane tickets if planning is only four times per year. Alternatively, assign a scribe for each distributed team to enter planning information from the whiteboard into your Agile project management tool. Use breakout rooms for each team if they are all onsite.
- Do I need help?
This is an expensive and potentially large meeting. If you haven't facilitated large group meetings before, especially when multiple teams are involved, consider bringing in an experienced facilitator to help.
- Posted purpose and agenda
- Organizing tools: Working agreements, parking lot, communication and logistics plan, issues and concerns, dependencies and assumptions, decisions
- High touch: Flip chart or whiteboard and markers
- High tech: Projector, computer that can access needed data and tools, and a way for the computer to be shared
- Planning data (see below)
- Results of previous iterations and releases
- Feedback from stakeholders on the product, market situation, and deadlines
- Action plans and SMART goals from prior release and retrospective
- Items and defects to consider
- Development and architecture information
- Velocity from previous iterations or estimated
- Organizational and personal calendars
- Input from other teams and subject matter experts to manage dependencies
- Release plan and commitment
- Issues, concerns, dependencies, and assumptions to be monitored
- Any new items for the release backlog
- Suggestions to improve future planning meetings
Welcome, review purpose and agenda, organizing tools, and business sponsor's introduction. Along with a typical opening, it is helpful for the business sponsor to share a few words on the importance of this release and the team's upcoming work.
- Product vision and roadmap
Remind the team of the larger picture.
- Development status, state of architecture, results of previous iterations in the prior release
Discuss any new information that may impact the plan.
- Release name and theme
Inspect current status as it relates to your roadmap themes and collaboratively decide on adjustments to the name and theme to achieve a specific, current business goal for the release.
- Velocity in previous releases and iterations, or your estimated velocity
Present the velocity (if available) to be used for this release.
- Release schedule and number of iterations
Review key milestones and special events followed by a collaborative decision on timeboxes for the release and iterations within the release.
- Issues and concerns
Check in on any known issues and concerns and record as appropriate.
- Review and update the definition of Done
Review the definition of Done and make any appropriate updates based on technology, skill, or changes in team membership since the last release.
- Stories and items from the backlog to consider
Present proposed backlog items to be considered for scheduling into this release.
- Determine sizing values
Agree upon sizing values to be used in the release planning if velocity is unknown.
- Coarse sizing of stories intended for the release
Delivery team determines the size of items under consideration for the release and splits items too large for iterations in the release. Product owner and subject matter experts answer clarifying questions and elaborate acceptance criteria and proper story splits. Scrum master facilitates collaboration.
- Map stories to iterations in the release
Delivery team and product owner move items in to iterations based on size and velocity. Scrum master facilitates.
- New issues and concerns
Check in again on any new issues and concerns based on the previous work and record as appropriate.
- Dependencies and assumptions
Check in on any dependencies or assumptions determined during planning and record.
Scrum master calls for fist of five on the plan. Delivery team and product owner signal if this is the best plan they can make given what they know right now and commit to moving to the next level of planning—iterations.
- Communication and logistics plan
Review and update the communication and logistics plan for this release.
- Parking lot
Process the parking lot—all items should either be resolved or turned into action items.
- Action items and action plan
Process the action plan—distribute action items to owners.
- Retrospect the meeting
Because we want these meetings to be useful for everyone, we solicit feedback on the meeting itself.
Celebrate a successful planning session!