What is story point estimation?
Story point estimation involves predicting the level of effort required to complete a development task or Issue. The purpose of agile story points is to compare a task in relation to the sizes of your other tasks. This idea of relative sizing is the fundamental driver in Agile estimation.
Estimation can be challenging. There are many variables and unknowns in most software projects that can make making data-driven and reasonably accurate estimates seem impossible. In fact, researchers at Microsoft found that all estimates are wrong. However, Microsoft’s data did show that there is one approach that works better than others; the least wrong way to estimate is also fast and easy to adopt. They found that estimates done by comparing new work against old work, done by the same group of people were the least wrong. This involves:
- Have the team come together and do some work for a sprint (only the core team members, like the squad or pod)
- Have the team come together once the work is complete
- Have the team pick an issue that would be considered an “average” or “medium” piece of work (in terms of effort)
- This “medium” piece of work becomes your reference point for estimating effort for new tasks or Issues
Agile estimation is a team sport. It’s considered best practice to have multiple people participate in the activity to allow for differing perspectives on a difficulty. During backlog refinement meetings, common activities include reviewing upcoming tasks or Issues, discussing if the top of the backlog is prioritized in line with the team’s objectives, and estimating new pieces of work.
We encourage team members to utilize ZenHub's Planning poker feature when estimating work. Planning poker in ZenHub is a consensus-based technique that allows teams to build more accurate estimates for Issues. Using the feature, product owners/team leads can request estimates from individuals on the team. Multiple perspectives from different team members increases the estimation accuracy.
Benefits of Planning Poker in ZenHub
- Product owners can request estimates from team members: Planning poker allows product owners and Scrum masters to request estimates from individuals prior to sprint planning. This reduces time spent "chasing down” and reminding team members to set estimates prior to the sprint starting.
- Improves team collaboration and communication: Asking the team to participate in planning poker brings everyone together and engages the entire team.
- All team members are given an equal voice: Planning poker requires the knowledge and input of all team members participating. This gives all team members an equal voice and opportunity to justify their estimates
- Increases the accuracy of estimates and reporting: Requesting estimates prior to sprint planning reduces the likeliness of unestimated Issues being added into Sprints. This combined with multiple perspectives from team members results in more accurate reporting and velocity.
Starting planning poker and requesting estimates from team members in ZenHub
Planning poker in ZenHub can be done either a) all at the same time with the team during backlog refinement or b) separately at a time that’s most convenient for your individual team members. During a team-wide refinement session, we encourage all team members to spend time briefly discussing the Issue before pointing. Once the new Issue is discussed and the work is understood by all team members, it's time to begin planning poker in ZenHub!
To request estimates from team members, select to view the Issue in ZenHub. In the Issue sidebar under the Estimatefield, you'll see the option Add members to vote on estimates. From here, choose the team members you'd like to include in planning poker:
Note: Planning poker will not be available if:
- an estimate is already set on the issue (and no poker participants added beforehand)
- the issue is closed (and no poker participants added beforehand)
- it’s a PR
Requesting estimates for multiple Issues
By using multi-action, you can quickly add planning poker participants to multiple Issues. Hover over the avatar for any Issue card on the Board to select the Issue. From here, you can select multiple Issues ( You can also use shift + click for multi-select on the Board). Once you've selected multiple Issues, select Set Estimate where you can start planning poker:
Before team members add their estimated value, it's important to remind and ask everyone "How much effort is this Issue compared to the reference medium Issue we already established?"
Team members voting on estimates for Issues
To vote on an estimate, select to view the Issue. You can submit your estimate from the Estimatefield in the Issue sidebar:
From this view, you will also be able to see the submission status for each team member who is estimating. These statuses will be displayed as:
- A yellow status for team members who have not yet voted on an estimate
- A green status for team members who have voted and selected an estimate
You will not be able to view other team members' estimates until all estimates have been submitted. This is to ensure everyone can estimate as unbiased and honest as possible, ensuring a more accurate outcome. Once all participants have submitted their estimate, all estimate values will be revealed:
Discussing estimates and setting the final estimate
If all team members vote on the same estimate value, ZenHub will automatically apply that value as the final estimate for the Issue. If the estimates submitted by team members vary, we recommend the following:
- Ask the outliers to state their case ( the highest and lowest estimators)
- The outliers discuss the reasons for their estimate - if doing seperately this can be done using your internal communication tool, like Slack
- After this discussion, give all participants the opportunity to reselect an estimate
- Take the average result and move on (as it’s just an ‘estimate’ anyway)
In ZenHub, all team members can remove and modify their estimate after it has been submitted. For example, after the outliers have stated the reasons for their estimate, team members can modify their vote armed with additional information and a further understanding of the work involved:
Once the final estimate has been set, team members are unable to change or remove their vote.
Filtering the ZenHub Board to view Issues assigned for estimation
To quickly view Issues that have been assigned for team estimation, select the Estimates filter option at the top of the Board. From here, choose the option Issues assigned for voting