Today I was introduced to a interesting tool called Planning Poker. Planning poker was developed by Mountain Goat Software and can best be described as an online collaborative estimation game. Even though the tool is targeted towards Agile development teams, it can really be used no matter what your programming methodology is.
For example, if I am a Lead Developer on a project which requires me to migrate data from a legacy database into a new schema I would start a new poker game. Creating a game, simply means that I enter in some metadata about the task or milestone that I want to accomplish. Once the game is established I can invite others to join in and we would each be presented with a screen like the one shown to the left. Each player then picks a card that best represents the effort associated with the task. When a player picks a card, the card is not immediately shown to the other players. Instead you wait until all the estimates are in. This is great because people are forced to think on their own without being influenced by others. For some tasks you may run into the situation where one person estimates a 1, two people estimate a 5 and the final person estimates a 40. At this point you would probably ask the individual who estimated a 40 why he thinks the task would require so much work. On the flipside you would also ask the person who estimated a 1 about why he thought it would be so easy. Sometimes the person making the high estimate will have encountered a situation on a previous project that added significant time to the task. On the other hand, the person who estimated a 1 may have found a way to automate the task and can share this information with the other people on the team.
In any case, Planning Poker is a fun and interesting way to develop estimates. In addition to getting some numbers, you can drive discussion and promote team building. I really wish I would have thought of the idea first! Kudos, to the team at Mountain Goat Software!