Agile Project Estimating by Playing Poker

February 18, 2008 – 2:43 pm

Planning PokerAn interesting wisdom of crowds like application to estimating software development workload in Agile projects.
Wisdom of crowds designates the process by which decisions and estimations are made as a result of a consensus between participants. Prediction Markets are a good example of consensus type process of estimation. Get people together to estimate and you’ll get a better figure than by relying on experts opinion.
In Agile projects, estimation should be done by the people actually doing the work to produce the software. Agile Planning is done based on knowledge available at the time of planning.
Created by Mike Cohn of Moutain Goat Software, here is a site dedicated to Agile planning using poker.
Basically it works that way. The product owner writes down a few stories of what the software is expected to do. Such as : “As an authenticated user, i would like to change my password“.
Each player is then asked to evaluate the number of hours required to produce the story using cards of values 0, 1, 2, 3, 5, 8, 13, 20, 40, and 100. (A fibonnaci suite which has been slightly modified).
Each player chooses a card and displays it for everyone to see. This first round of play usually shows a large spread in estimation. The moderator then asks the player with the lowest estimation to explain his / her choice. Same thing with the highest estimation.
The game is reset and cards are hidden for another round of estimation. By round 2, estimates should converge.

The process goes on until a general consensus has been found. At the end of each round players can ask questions. However, the pace of the game should be quite fast. The idea is not to obtain the best estimation but a good enough one. The plan will be updated anyway as new information comes along.

What strikes me in this estimating process is the convergence and the integration of information as they are made public. The same kind of information aggregation process forms the basis of Prediction markets.

Question : How then could we use Prediction Markets to estimate software development workload ?
Question : Software production is always decomposed into small blocks of smaller tasks. If one considers the price of each task as a an estimation of the workload by the team, would summing up each task stock price amount to a proper estimation of the complete software workload ?
That would allow, for one thing, the software team to watch the evolution of the plan while the software is produced.

Listen also to the Controlling chaos 032 Agile Estimating podcast with an interview of Mike Cohn

Digg!

Post a Comment

  • I am Alexip on Twitter

    • Twitter bis