In any project planning, estimation is important step which involves forecasting of a particular resource by following set procedure. Usually estimations are done for below three resources for the given project work or requirement – Time, Budget, Effort. These three estimations in turn determine quality of a project.
In this article, we will explore on the Time estimation part in Scrum framework.
Scrum Time Estimation Technique
Scrum is an Agile framework and follows Empirical principle. For performing time estimation for a given user story, experience based judgment is made. Learnings of earlier sprint work help in doing sprint time estimation during Sprint Planning. Estimation activity also gets improvised in every sprint work and is important factor affecting Velocity or Productivity of a Scrum Team.
Time estimation in Scrum framework is a comparative rather than absolute process. Complexity codes or Numbers are assigned to Sprint backlog user stories. These codes are assigned based on story complexity level considering past sprint work. These codes or unit less figures are called Story Point.
Story Point is not time unit, it is just a representation of story item complexity.
Development team performs Story Point assignment task for user stories after selecting Sprint Backlog.
Product Owner and Scrum Master are also involved in this estimation work as an adviser & facilitator respectively.
Few widely used coding scales for Story Point assignment are –
a. Fibonacci Number
In this Fibonacci number sequence is used as Story Point like 1, 2, 3, 5, 8, and 13
b. Sequential Number
Simple sequential numbers like 1,2,3,4 are used as Story Point.
c. T-shirt size Numbering
Codes like S, M, L, and XL are used to denote the complexity of a story item.
Different techniques can be adopted for performing time estimation.
The sequence of steps in Story Point assignment is as below –
- User Story is selected from the prepared Sprint Backlog based on priority by Development Team for estimation. The feature requirements are studied and discussed. Product Owner is available to help the development team to understand the business and system need in the story item.
- Based on individual experience, assumption and feelings, everyone in the development team assigns Story Point to the user story. Story Point of each other in the team is not disclosed and is displayed all at a time to make the estimation unbiased and a collective team effort.
- Everybody discusses his reason of assigning Story Point to the team. This makes the team to explore the user story more and study in depth. There can be differences in the Story Point assigned by team members.
- The above steps are repeated until team agrees on one Story Point. As more sprint works are performed, Story Point determination becomes more fast and accurate. This shows team’s learning experience and evolution in scrum process.
- For the decided Story Point, time unit is assigned in hour or days. This is from the past experience of working on similar sort of user story. Availability & expertise of present team members are also considered while mapping time unit.
- As per the estimation done, selected sprint backlog items and Sprint period, product backlog gets updated or refined. There are chances of Sprint backlog refinement also as during estimation a user story is divided into further smaller user stories.
Qualities of Story Time Estimation
1. Estimation is judged rather than imposed
Development team makes the estimation as a team and is not imposed on them. They take decision and responsibility of completion of the work within the decided timeline for a sprint.
2. Estimation is talked in depth
During estimation, development team members discuss with expertise among themselves and re estimate until agree on a single story point value. Thus, a refined estimation figure is obtained with thorough planning and talk.
3. Estimation keeps improving
Learning and improving way of scrum adds to scrum estimation also where development team judges with their prior experience of sprint work. Comparative analysis helps to get better estimation and estimation work gets refined in every sprint work.
4. Manageable Estimation
For smaller chunk of user story (usually of 2-3 day work), doing estimation is comparatively easy and manageable than doing big project estimate at a time.
5. Estimation as a measuring tool
Scrum team progress can be measured & compared as their Velocity from the Story Points completed in a Sprint.
Thus, the Scrum Time Estimation process is a very efficient means of taking work by the development team as per their capacity and watch & improve on team performance.