Showing posts with label backlog grooming. Show all posts
Showing posts with label backlog grooming. Show all posts

Thursday 3 April 2014

The Purpose And Goals Of Carrying Out Product Backlog Refinement In Scrum

The official scrum guide mentions about carrying out routine maintenance activities to update the product backlog, or to carry out the product backlog refinement. The exact time to be invested in the grooming activity depends upon the management, and how scrum is to be implemented in the project. A rule-of-the-thumb followed is to put in approximately 10% of the time utilized during the sprint activity, into the grooming activity. It is important to be clear regarding some of the aspects associated with product backlog refinement.

Purpose and goals of carrying out the refinement
The primary reason why the product backlog should be refined is to update or rebuild the backlog so that it remains consistent with the requirements provided by the stakeholders with regards the new features and functionalities to be included in the project. Another reason is to review existing user stories or product backlog items and decide whether they are still useful or pertinent from the development point of view, and to update the acceptance criterion and the explanation detailed in each PBI. 

It is recommended to use the “DEEP” method - detailed appropriately, estimated, emergent, and properly ordered – while prioritizing the user stories within the backlog. Larger stories or epics should be systematically broken down in to more manageable smaller ones, proper estimation by assigning relevant story points to the PBIs should be carried out,  user stories should be rearranged as per the new priorities,  and the queries regarding the development of user stories during the sprint should be effectively answered by the product owner. Whenever a meeting is planned to refine the PBIs, the objective should be to carry out enough refinement work so that it lasts for at least three future sprints.

scrum
Product Backlog Grooming In Scrum

Duration and frequency of the grooming activity 
Each activity and meeting is time boxed in scrum. Following the same principle, the product backlog refining or grooming activity should be time boxed too. However, in practice, there is no pre-designated activity or a meeting for planning and carrying out the product backlog refinement activity in the same manner as the sprint planning meeting and the sprint retrospective meeting is held. Backlog grooming is carried out more as a routine activity than anything else in scrum, and the guide does not exactly specify how much time or efforts should be invested in the activity. Perhaps a possible reason could be that the product development and creation of product backlogs vary from project to project, and it is difficult to standardize how the grooming activity should be carried out since the size and nature of the product backlog cannot be adjudged.

In practice, ideally time equivalent to 10% of the total time spent during the sprint activity should be allotted for the product refinement. For a two week sprint consisting of a total of 6 working hours per day and 14 sprint days per sprint, the time to be allotted should be approximately 10% of 6 hours x 14 days  = 8.4 hours (10% of 6 hours x 14 days = 84 hours). This could be rounded up to one working day. Since the refinement activity is to be carried out on a consistent basis, investing additional time could lead to decreased productivity and an extended product release date – something that should be avoided.  In actual practice, this rule suffices to a great extent.
 
Who should participate in the grooming activity?
Besides the product owner, the grooming sessions should be attended by the development team members and the scrum master. The stakeholders can participate in the sessions too, but their participation should be a passive one, and they should not volunteer opinions, or try to disturb the sessions in any way or manner. Moreover, the product owner should try to limit their numbers during the sessions so it does not become overcrowded and difficult to hold the meeting.

Maintaining a proper approach
It is important to remain focused, and the product owner should be clear whether a particular product backlog item should be estimated again, or it ought to be detailed in greater depth, and additional explanation provided regarding its acceptance criteria. The team members should remain focused upon understanding the PBIs and if required they should demand explanations regarding the acceptance criteria and how the development should be carried out during the sprint activity.

Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

Reasons For Carrying Out The Product Backlog Grooming Activity

What is product backlog grooming?
The main objective of the backlog grooming session is to improve the product backlog and rearrange the user stories or the product backlog items in accordance to the new priorities determined by the stakeholders or the team members. Grooming sessions can also be held to verify the product backlog items whether they have the information necessary to develop the user stories in a more efficient manner. The scrum guide does not try to define what a backlog grooming session actually is because the “grooming” activity may vary from project to project. It is difficult to standardize the process so that it can suit all types of projects. The grooming session are generally held to:
  • Write or rewrite the product backlog items or user stories if they are not properly stated or described
  • Reschedule or re-prioritize the product backlog items based upon the recent updates provided by the stakeholders
  • Segregate epics or large user stories into smaller and more manageable ones
  • Re-estimate the story points linked with the user stories
  • Update or add new acceptance criteria to the user stories
  • Analyze the product backlog for planning purposes
 
scrum
Product Backlog Grooming In Scrum

Different reasons why the product backlog is refined
The product backlog can be rescheduled or refined for a number of reasons depending upon the changes occurring in the market conditions or new features demanded by the end users. At times, it becomes necessary to weed out less important tasks and replace them with effective ones. The product owner may decide to reprioritize the backlog if he or she feels some of the user stories need to be developed on a priority basis. Usually, the product backlog grooming activity or product refinement is carried out because of three main reasons:
 
Refinement carried out by the stakeholders
As the market conditions keep on changing over time and new competitive products are launched, it becomes necessary for the stakeholders to do away with some of the functionalities in the product which have become obsolete and are no longer needed. It is meaningless to spend time and efforts over features which are not likely to score for the product in the market, and which no longer have a selling value. The investors and stakeholders remain in touch with the ongoing market trends, what the end users require, and how the selling value of the product can be increased by introducing new set of features and functionalities while the product is being developed. The stakeholders may decide to “overhaul” the project by removing some of the features and functionalities, and replace them with new ones, which have added market and selling values.
 
Informal product backlog grooming 
One of the important objectives of carrying out the product grooming activity is that the team members too attend the grooming sessions, and it offers an opportunity for the product owner to explain the user stories to the development team. The product owner takes the opportunity to describe and explain the new set of product backlog items to the team members and answer questions regarding the business values of the user stories. It is a great way of understanding what the product eventually focuses to do when it is launched in the market and how it is supposed to behave when fully developed. Generally, the grooming sessions are succeeded by the sprint planning meetings, and the team is able to prepare in advance for the planning meetings in a more meaningful manner. Since the team members become more familiar with the exact functionality associated with the user stories, it becomes easy for them to segregate the user stories into development tasks during the second half of the sprint planning meeting.
 
Periodic refinement carried out by the team members
It is important to carry out “routine maintenance work” and keep the product backlog “in shape” so it becomes easy to plan the sprints. As the sprints progress and development is carried out during the sprinting sessions, some of the tasks are completed and new functionality is developed. At time, the functionality developed can be shared with other resources to be developed, and it is important to identify such resources so duplicate or repetitive development activity can be avoided and time can be saved. While implementing scrum methodology, the grooming session help to weed out the repetitive tasks and get the backlog back into “shape”. It also provides an opportunity to the team members to ask for clarifications and demand explanations for the stories they find it difficult to understand to the product owner. 
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

How To Hold An Effective Backlog Grooming Session

What is backlog grooming?
Also referred to as “Story time” sessions, the main purpose of the backlog grooming session is to make improvements in the product backlog and rearrange the items as per new priorities presented by the stakeholders and the investors. Grooming sessions are also held to recheck the product backlog items or the “PBI”s as to whether they contain the necessary information which can aid in developing the user stories in a perfect manner by the development team. The official scrum guide does not venture to define exactly what a backlog grooming session is since the “grooming” can vary from project to project and management to management. The process cannot be standardized to suit all types of projects and all requirements. However, in a nutshell, the grooming session can be used to:
  • Write the user stories from scratch if they are not properly defined or described in the product backlog
  • Re-prioritize the user stories contained in the product backlog on the basis of recent updates availed from the stakeholders
  • Break down large user stories or “epics” into smaller parts
  • Estimate or update the story points associated with the PBIs
  • Add new or updated acceptance criteria
  • Analyze the backlog for technical planning

scrum
Product Backlog Grooming In Scrum
Why are backlog grooming sessions necessary?
One of the common problems experienced  by team members while scrum is being implemented, and one which often troubles the stakeholders and the management to a large extent is that the sprint planning meetings seem to last forever, and even after investing proper time and efforts, issues and problems still tend to arise and persist during the sprint activity. It can lead to frustrations for the team members since scrum methodology supports time bound functioning of various constituent processes, and a particular activity cannot extend beyond the time allotted for it to function. Scrum advises time boxing of all related processes, especially the sprint activity. One of the commonest causes why problems occur during scrum implementation is because the product backlog is not properly “groomed” to perfection, and the user stories are not correctly defined or prioritized. It is very important to hold grooming sessions to verify and re-validate the product backlog items from time to time so that a true value of ownership is reflected in the user stories, and the project is completed in a cost effective manner. 
 
How to hold effective product backlog grooming sessions? 
A couple of guideline can help you conduct a meaningful and effective product backlog grooming session:
 
Have a clear goal
During the grooming session, the product owner should maintain an attitude which says “This is exactly what I want to accomplish today” and proceed with that attitude during the session. It is very important to be clear as to exactly for what reason the session is to be held, and what needs to be accomplished from it. The goal of holding the grooming session should be clear, not only to the product owner, but also to the team members participating in the session.
 
Explain the user stories and plan for the next sprint
Carry out the grooming session in a manner such that everyone feels involved and becomes clear about the goals associated with the user stories in the product backlog. The product owner should ensure that each team member has a clear understanding regarding the goals linked with the stories, and if any team member needs clarifications, the product owner should provide them as soon as possible. The product owner should also explain the objectives and specify the goals to be achieved in the next sprint to be carried out after the sprint planning meeting. This helps the team members to prepare for the sprint planning meeting to be held after the grooming session.
 
Limit the participation of stakeholders “chicken” in the session
Stakeholders and investors, often colloquially known as “chicken” in scrum have the right to attend the sessions. The product owner should instruct the stakeholders to participate as passive listeners and not volunteer any opinions, or try to influence the session in any way or manner. The person should further limit their numbers to a bare minimum so that enough space is available to conduct the session in a healthy and easy manner without any hindrances from the guests.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!