A release is a final version of the software that is ready for deployment. It is the culmination of several iterations. Releases can be made before the start or end of iteration.
What is Release train?
The Agile Release Train or ART is a primary value delivery construct in the SAFe framework of Agile. Each release train is a long-term, self-organizing team of Agile that plans, commits and delivers output together.
What is the purpose of Release Planning?
The purpose of release planning is to create a plan to deliver an increment to the product. It is done after every 2 to 3 months.
Who is Involved?
Scrum Master − The scrum master acts as a facilitator for the agile delivery team.
Product Owner − The product owner represents the general view of the product backlog.
Agile Team − Agile delivery team provides insights on the technical feasibilities or any dependencies.
Stakeholders − Stakeholders like customers, program managers, subject matter experts act as advisers as decisions are made around the release planning.
Prerequisites of Planning
The prerequisites of release planning are as follows −
A ranked product backlog, managed by the Product Owner. Generally five to ten features are taken which the product owner feels that can be included in a release
Team's input about capabilities, known velocity or about any technical challenge
Market and Business objective
Acknowledgement whether new product backlog items are needed
The list of materials required for release planning is as follows −
Posted agenda, purpose
Flip charts, whiteboards, markers
Projector, way to share computers having data/tools required during planning meeting
The list of data required to do release planning is as follows −
Previous iterations or release planning results
Feedback from various stakeholders on product, market conditions, and deadlines
Action plans of previous releases / iterations
Features or defects to be considered
Velocity from previous releases/ estimates.
Organizational and personal calendars
Inputs from other teams and subject matter experts to manage any dependencies
The output of a release planning can be the following −
Issues, concerns, dependencies, and assumptions which are to be monitored
Suggestions to improve future release plannings
The agenda of a release planning can be −
Opening ceremony − Welcome message, review purpose and agenda, organizing tools and introduction to business sponsors.
Product Vision, Roadmap − Show the large picture of the product.
Review previous releases − Discussion on any item which can impact the plan.
Release name / theme − Inspect the current status of roadmap themes and do the required adjustments, if any.
Velocity − Present the velocity for the current release and of previous releases.
Release schedule − Review key milestones and decision on time boxes for release and iterations within release.
Issues and concerns − Check any concerns or issue and record them.
Review and Update the Definition of Done − Review the definition of done and make appropriate changes based on technology, skill, or changes in team members since the last iteration / release.
Stories and items to be considered − Present the user stories and features from the product backlog to be considered for scheduling in the current release.
Determine sizing values − If the velocity is unknown, then plan the sizing values to be used in the release planning.
Coarse the size of stories − The delivery team determines the appropriate size of the stories under consideration and splits the stories into multiple iterations if a story is too large. The product owner and the subject matter experts clarify the doubts, elaborate the acceptance criteria, and make proper story splits. The scrum master facilitates the collaboration.
Map stories to iterations − The delivery team and the product owner move the stories/defects in the iterations based on the size and velocity. The scrum master facilitates the collaboration.
New concerns or issues − Check any new issues based on previous experience and record the same.
Dependencies and assumptions − Check any dependencies/assumptions planned during the release planning.
Commit − The scrum master calls for the planning. Delivery team and Product owner signal it as the best plan and then commit to move to the next level of planning, that is, iteration planning.
Communication and logistics planning − Review/Update the communication and logistics planning for the release.
Parking lot − Process parking lot means all items should be either resolved or set as action items.
Distribute Action items and action plans − Distribute the action items among their owners, process the action plan.
Retrospect − Solicit feedback from participants to make the meeting successful.