One of the questions that are often presented to a Product Owner is “When will a feature XYZ be ready for the customer?”. In this article I will walk through the process of planning and estimating a feature release in an Agile software development process.
Let’s assume the Agile team is working on a customer lifecycle management product. The next increment for the product is to support a new communication channel like SMS. The business stakeholders identified this feature as a key differentiator from the competitors. According to the business stakeholders the release of this feature is time sensitive and consequently they would like to know when the feature will be available for the customers. This time-to-market information will be used to plan marketing campaigns to create awareness of the feature. Therefore as a Product Owner it's very important to plan and estimate a new feature. The following three steps outlines how a product feature release can be planned and estimated:
Step 1: Identify the user stories to complete the feature
The Product Owner and the scrum team must brainstorm the user stories to complete the feature. At the end of this process the Product Owner must have a set of clearly defined user stories in the product backlog. Given that the feature is of high priority these user stories must be stacked at the top of the prioritized product backlog. This will ensure that the Scrum team creates the Sprint backlog with the user stories related with the new feature.
The Product Owner must also collaborate with the Scrum team to estimate the level of effort required to complete each user story. The level of effort can be captured as story points.
The screen shot below describes how the user stories related to the feature is prioritized in the product backlog.
by Beolle.com |
Step 2: Use feature release map to plan and estimate
Let’s assume the Scrum team works in a 2 week sprint and can deliver on average 15 story points per sprint (this is also known as sprint velocity). The Product Owner can map the user stories from the prioritized product backlog as shown below to estimate the number of sprints it may take to complete the feature. The screen shot below describes how the prioritized user stories can be mapped onto future sprints to estimate the feature release. In the example below the Product Owner can estimate 3 sprints (i.e. 6 weeks) to deliver the new communication channel feature.
by Beolle.com |
Step 3: Maintain the feature release map
The Product Owner must update the feature release map at the end of each sprint to reflect any changes to the prioritized product backlog. This may be necessary if the scrum team discovers new information that may result in additional user stories. The Product Owner can then use the feature release map to check the status of the feature development. The feature release map can also be used to collaborate with the scrum team to identify creative approaches to meet the estimated feature release timeline.
In conclusion a feature release map is a very helpful tool for a Product Owner to plan, estimate and manage a new feature release. The map can be created using easily available tools like Microsoft Word, Visio, Lucidchart, etc. However there are dedicated tools like FeatureMap that can also be used to map user stories.
---------------------------------------------------------------------------------------------------------------------
Image credit:
The thumbnail image of this article is by Daria Nepriakhina on Unsplash