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
Planning poker technique
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 planning poker in ZenHub when estimating work. Planning poker is a consensus-based technique that allows teams to build more accurate estimates for issues. Using the technique, product owners/team leads can request estimates from individuals on the team. Many teams experience improved accuracy when using the planning poker format. It allows experts in each area of the team (developers, UX, QA, etc.) to share how complex they think the issue is.
Benefits of planning poker in ZenHub
- Product owners can request estimates from team members: planning poker in ZenHub 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!
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 from planning poker groups
If you're looking to request estimates from the same group of users when using planning poker, you can use planning poker groups. This allows you to quickly request estimates from multiple team members across multiple issues.
We'll remember the three most recent groups you selected as planning poker participants. When you add members to vote, you can quickly select a group to provide their vote:
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?"
Notifying team members to vote on estimates
When adding planning poker participants, you can automatically notify your team via email and let them know their vote is required. When selecting team members to vote, we'll @mention these planning poker participants in the issue comment. Team members will be notified via email when an issue requires their vote.
Note: To receive email notifications for planning poker, team members will have to enable GitHub notifications for the associated repositories. Learn more about configuring GitHub notifications here
Team members will receive an email notification from GitHub, asking them to add their planning poker vote. By clicking the email link, they will be brought directly to ZenHub where they can instantly add their vote:
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 votes, all estimate values will be revealed:
Removing participants from planning poker
You can remove and edit planning poker participants when viewing issues. For example, you may realize that a particular team member is out sick or won't be able to provide an estimate before the sprint begins. Navigate to the Estimate field in the issue sidebar where you can hover over the participant you'd like to remove. Select the x icon to remove them from this issue. You can also select the planning poker+ icon to add additional participants :
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 separately 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
You can share this URL with your team, providing them with a quick and easy way to see what issues they need to provide story points for.
Benefits of estimates for reporting
ZenHub provides two reports that leverage story point estimation data: Velocity Tracking and the Burndown Report. The velocity report displays a team's historical speed of work at a glance. This allows you to see how much value your team can ship each sprint. Using planning poker in ZenHub improves the accuracy of the estimates and ensures no unestimated issues are added to sprints. This helps the team to understand their true velocity, so they don’t overcommit to sprint work or miss important project deadlines.