While estimating work using story points, a point value is assigned to each item. The values of story point are insignificant; the most significant part of story points is the relative ratio of values. A story with 2 story points should require twice as the work effort as a story with one story point. A story with 2 story points should also require two-thirds the work effort as compared to a story with 3 story points.
Values can be arbitrary such as 1, 2, 3 or 100, 200, 300. However, the ratios should be consistent.
I prefer using Fibonacci or Fibonacci-like numbers for assigning story points since Fibonacci numbers are nonlinear and the value of a Fibonacci sequence is derived from the sum of previous two. This sequence includes 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.
Other sequences used to assign values to story points include Fibonacci-Like Sequence, Power of Two, and Currency Sequence.
While developing the Phonora Photo Gallery software. I used Fibonacci-like sequence for values to assign to the story points. I soon figured out that when assigning story points, it is not just the amount of work that should be accounted for but also everything that goes along with development of the story including Research Regarding the Story, Amount of Effort, Complexity of Work, and Risks and Uncertainty.
Any research effort required to develop a User Story should be accounted for in the story points. For example, the requirement includes building an anonymous employee survey with three fields: Department, Employee Satisfaction Level with values (Terrible, Poor, Neutral, Good, Excellent), and Store Locator with values populated from list of all stores the company owns. The developer might need to contact the database team to find out whether there is a list of all stores available to use in development effort and how to access this list.
Work involving higher complexity will obviously have more work effort involved. However, most of the time amount of work effort involved is nonlinear. For example, the stakeholder wants to create two surveys. The first survey only has three fields and the second survey has 30 fields. The second survey with 30 fields are additional simple questions about employees’ satisfaction level and areas of improvement.
The second survey is no more complex as compared to the first survey. There are no additional risks or research involved with the second survey. The only difference between the two surveys is the amount of work involved.
The first survey is assigned 5 story points. The second survey is assigned more story points, however, not 10 times more even though there are 10 times more fields required on the second survey. The work effort involved depends on the scale, which for example would make the second survey only 2 to 3 times more work effort required as the first survey.
Complexity is one of the most important aspects to consider when providing a story point estimate. If the survey has simple 30 questions, the complexity is going to be much lower than a survey with questions that depend on each other. For example, when an employee chooses a department they work for, the manager section should allow the employee to select their manager anonymously. This feature will also provide feedback on manager level by linking the answers of the employees to a specific manager.
Even though there are still 30 fields in the survey, the latter is harder to implement and involves more complexity. Work that is more complex requires more time even though the amount of work seems the same. The addition of complexity should reflect in estimating Story Points.
The amount of risk and uncertainty in a product backlog item should affect the story point estimate assigned to the item. If the stakeholder is requesting a feature, however the team does not fully know how it will affect other aspects of the software, the uncertainty should be reflected in the estimate. If implementing a feature involves changing code shared by other aspects of the software, that risk should reflect in the estimate as well.
Combining these four factors into one number to provide an estimate on Story Points seems challenging. However, it is possible by simply adding work effort required for each factor because effort is a unifying factor. This is why Story Points are based on how much effort will be required to complete a work item in product backlog.
Let’s recap and provide a Story Point estimate on the following two User Stories.
As a HR Manager, I want to have an employee survey with 3 fields, so that I can capture the satisfaction level of the employee categorized by each Store Location.
This User Story will involve assigning 3 points for Research Regarding the Story, 5 points for the Amount of Effort, 0 points for Complexity of Work, and 0 points for Risks and Uncertainty. The total of story points for this User Story is 8 points.
As a HR Manager, I want to have an employee survey with 30 fields, so that I can capture each employees’ satisfaction level categorized by Store Location, Department, and Manager.
This User Story will involve assigning 3 points for Research Regarding the Story, 13 points for the Amount of Effort, 5 points for Complexity of Work, and 0 points for Risks and Uncertainty. The total of story points for this User Story is 21 points.
It is challenging to start assigning story points from a Fibonacci scale. In order to do that each team would have to find a baseline story. The User Story does not have to be the simplest one but the one that everyone can relate. Once the baseline is set, estimation of all the user stories should be initiated by comparing them against the baseline and then adding point for each one of the four factor mentioned above.