Agile Methodology

PRODUCT RELEASE PLAN

The product release plan is a high-level integrated release plan for various product features. In real-time scenarios, this is rolled up from plans for various Scrum Teams. However, at the inception of product development, the business team may lay down a high-level understanding of the order in which various product features are required to satisfy market needs, compliance requirements, or to build product demand. The product release plan focuses on discussing business priorities and decides which main features will be developed for each release. On a time line scale, the product release plan is prepared for the duration of final product delivery.
 

SCRUM RELEASE PLAN

There could be more than one Scrum Team working toward developing a solution. In product development situations where the scope at a high level is known, Scrum Teams have visibility into product features they would work on. In such scenarios, each Scrum Team manages its own product backlog while working toward goals dictated by the product release plan. Each Scrum Team takes a list of prioritised features from the product release plan and prepares a Scrum release plan for developing product increments by their team. They consider business priorities, technical priorities, estimated team capacity, and estimated team velocity while developing a Scrum release plan. To refine their respective plans while meeting goals defined by the product release plan, each Scrum Team on a product interlocks with other Scrum Teams to check interdependencies and constraints. Planning at this level might change the product release plan.
 

SPRINT PLAN

The sprint plan is prepared for the two- to four-week sprint agreed by the product Scrum Teams. The sprint plan is prepared for prioritised and refined user stories in the product backlog by Scrum Team members. The objective is to make a detail plan to meet sprint goals that were derived from the Scrum release plan. The product owner prioritises the scope of work for the iteration during discussions with the team. The plan is prepared by the team, considering available capacity, the sprint team's velocity, and planned interruptions. For the first iteration plan, the team may use past experience or execute a couple of initial iterations to measure sprint velocity. The planning at the sprint level may further provide inputs for revision to the Scrum release plan and to the product release plan.
 

DAILY PLANNING

The objective of daily planning is to ensure that we are progressing well on the iteration plan and to also identify and remove any impediments to successfully meet the iteration goals. The daily plan is prepared by each member on the team. A self-organised team collaborates for the removal of impediments or to progress well for sprint goals. To review their velocity for upcoming sprints, team members who are tracking progress daily provide a basis for introspecting their performance at the end of the sprint. This is the lowest-level plan that may trigger changes in all the subsequent plans.

EXTREME PROGRAMMING

Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, courage, and respect. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.