07Sep
Agile Estimations with Planning Poker

Planning Poker is an agile estimating and planning technique widely used by many agile development teams. It is very simple, yet effective and is base on consensus between the estimators.

It is very important that the estimations are done all together. Everybody should be involved; the people most competent in solving a task should estimate it. In addition, it is likely to generate more ideas. Ideas about different ways of solving the problem. Ideas about how to design the solution. And ideas about obstacles that might be encountered.

Each estimator is holding a deck of Planning Poker cards with some values on them The values represent the number of story points, ideal days, or other units in which the team estimates. A very frecquent series of numbers used is the Fibonacci numbering sequence, but it can be anything else, as long as the team agrees on it.

The estimators discuss the feature, asking questions to the product owner as needed. When the feature has been fully discussed, each estimator privately selects one card to represent his or her estimate. All cards are then revealed at the same time.

If all estimators selected the same value, that becomes the estimate. If not, the estimators discuss their estimates. The high and low estimators should especially share their reasons. After further discussion, each estimator reselects an estimate card and all cards are again revealed at the same time.

The Planning Poker process is repeated until consensus is achieved or until the estimators decide that agile estimating and planning of a particular item needs to be deferred until additional information can be acquired.

The key to the success of the technique is the lively dialogue which ensues during poker planning, and estimators are called upon by their peers to justify their estimates. This greatly improves estimate accuracy especially on items with a lot of uncertainty (as is the case for most software projects). Further, being asked to justify estimates has also been shown to result in estimates that better compensate for missing information. This is important on an agile project because the user stories being estimated are often intentionally vague.

Most teams will hold a Planning Poker session shortly after an initial product backlog is written. This session is used to create initial estimates useful in scoping or sizing the project. Usually, before an iteration, the process is repeated if ne user stories have appeared in the backlog or aspects are becoming more clear on some existing user-stories not estimated at that point.