|
![]() |
Description/Features
The agile toolkit will eventually contain a set of plugins that support agile techniques like Planning Poker.
Planning Poker
Planning Poker (tm) is a trademark of Mountain Goat Software. The term is used by permission of Mike Cohn.
Installation
This is available through the Plugin Repository:
Usage
Planning Poker Macro
Planning poker is a technique to help teams estimate. Each card has a face value. Each player in the game chooses one of the cards from his/her hand based on how big he or she thinks the whole task is (not just his/her part) and puts it down on the table. When ready, all the cards are revealed and the team discusses the results.
The game is interesting when the estimates are highly divergent. Diverse estimates are an indicator that the team doesn't understand the requirement in the same way, so this is an opportunity to discuss/ask questions/delve into the requirement. Then, try another round and see if the estimates start converging.
| The number on the card should not represent any unit of time or cost. These estimates are purposely about size relative to other requirements in the project. We discourage the use of time-based terms like "hours", "days", "seasons of Firefly." |
There are three roles for the participants and three states for the game. If the game is not closed, a viewer of the page will be shown a link to join the game. At this point, the poker table is set up and the user is and observer. Since observers do not participate in the estimation process (they are not committed), they are called chickens. A chicken can select the link to become a player (we could call this a pig, I guess). Players are dealt a hand with a selection of estimate cards. While the dealer has the game open for playing, each player will select a card that represents a relative size of the effort in his/her opinion. All players can see when the other players have chosen cards, but not the value of the cards. The dealer can choose to reveal all of the cards at once, at which point, players cannot choose a new card. This is the flop state. After discussion, the dealer can deal again (which puts the game back into the open state) or record a consensus estimate in the page (which puts the game in the closed state).
When a game is closed, only the dealer is provided with a join the game link so that he or she can join the game and choose to re-deal, which pust the game in the open state.
An advantage of using the wiki for the Planning Poker game is that you can gather and evolve your requirements (tasks, whatever) using the wiki format in whatever form you desire. The wiki allows for collaboration during the requirement creation and allows for easy editing, version tracking, and commenting. All of this can be done ahead of the game to help refine the item under estimation. In addition, the estimation exercise can be performed in sync or over a period of time. The underlying mechanism of not revealing the card choices until the dealer calls for it helps to ensure the independence of the estimation process either way. Of course, nothing replaces that conversation that happens when are one or two outlying estimates in a game, though there is the comment stream.
Planning Poker Summary Macro
If you arrange the pages that you want to conduct sizing exercises for as a tree under one page, you can put the Planning Poker Summary macro on that parent page. It will provide a summary of the status of all the games placed on children (and further descendant) pages under the summary page.
Examples
Planning Poker
The Planning Poker macro has one required parameter: dealer
{planning-poker:dealer=taleswapper}
or
{planning-poker:taleswapper}
The dealer controls the state of the game, determining when player card choices are visible to others and saving the result of the game.
Planning Poker Summary
The Planning Poker summary macro has no parameters:
{planning-poker-summary}
It reports on the state of each game on a descendant page under the current one. If a game has recorded an estimate, the estimate and the players involved in contributing to that estimate are also displayed.
Do not embed this in the same page as a Planning Poker game. It will only report on the games of its children and further descendants.
Version History
| Version | Date | Comment | ||
|---|---|---|---|---|
| 0.6 | 30 April 2008 | First release for the contest. Open to comments! | ||
| 0.7 | 04 May 2008 | Updated macro names, modified db storage, and added page links to games at summary macro.
|
||
| 0.8 | 09 May 2008 | Saves to page as table when the estimate is saved, so the version of the page is updated and notifications can occur. |


Comments (16)
Apr 30
Bob Swift says:
Very impressive! We have tried poker before but this has the potential to make i...Very impressive! We have tried poker before but this has the potential to make it easier to accomplish and document the results. I will get small team together to try it out and give you some more feedback. Here are some immediate observations based on just reading and a quick trial I did.
My report didn't list any players. It is a good idea have the player list!worked ok in team test.May 01
john martin says:
Thanks, Bob\! I'll make a bunch of separate responses in case they engender disc...Thanks, Bob! I'll make a bunch of separate responses in case they engender discussion (and since I haven't gotten a JIRA account to redirect some of these to).
I really appreciate you looking at this thing.
May 01
john martin says:
I'll consider 1 and 2, they should be straightforward changes. Need to do this b...I'll consider 1 and 2, they should be straightforward changes. Need to do this before too many people use the thing, I guess.
May 01
Bob Swift says:
Yes for 1. 2 should be compatible by leaving dealer as is. Explicit dealer shoul...Yes for 1. 2 should be compatible by leaving dealer as is. Explicit dealer should override paramater 0 setting.
May 04
john martin says:
These are both incorporated into 0.7.These are both incorporated into 0.7.
May 01
john martin says:
For 3, I made some changes to the wording of the summary macro description and e...For 3, I made some changes to the wording of the summary macro description and example.
May 01
john martin says:
For 4: Consider making it possible to have multiple games on a single page (coul...For 4: Consider making it possible to have multiple games on a single page (could be related estimating items).
This will have to be a future one. I don't think I can change the data structure before the end of the contest. Right now, each game uses its page's id as an identifier.
May 04
john martin says:
I have changed the design so that the each game is saved as an xml representatio...I have changed the design so that the each game is saved as an xml representation of the object in a single key (page id + .1). The .1 is so that eventually we could have multiples on one page, but I'm not sure how to allow that. Even if it could figure out that more than one were on a page, I don't see how it would remember which one was which (because they could get moved around).
May 01
john martin says:
For 7: It would be nice to have a bit of a report on the poker page too. For exa...For 7: It would be nice to have a bit of a report on the poker page too. For example, after the close of the game to show who were the last participants.
When you closed the game, did you not get the list of players on the page? The expected result is that when you come to a page where an estimate was saved in the past, it shows the players and the estimate.
May 01
Bob Swift says:
Yes, I see that now :).Yes, I see that now
.
May 01
john martin says:
For 5: On the report page, please make the poker page a link to the page Gosh, ...For 5: On the report page, please make the poker page a link to the page
Gosh, how did I miss that? Definitely in the next sprint.
May 04
john martin says:
This is done in 0.7This is done in 0.7
May 01
john martin says:
For 8: Is the data stored as metadata and, therefore, available via the reportin...For 8: Is the data stored as metadata and, therefore, available via the reporting plugin? If not, this would help people customize their own reports.
The data is stored in the database only. I don't yet understand how metadata works, but I'll look into it.
Aug 05
Sasha Zucker says:
I had to upgrade to version 0.8 of the plugin. With version 0.7 of the plugin, I...I had to upgrade to version 0.8 of the plugin. With version 0.7 of the plugin, I got a Java exception whenever I tried to save and close a game. I using Confluence 2.6.0.
Aug 05
john martin says:
Oh, dang forgot to update this page. It was locked when we pushed out 0.8. I'll ...Oh, dang forgot to update this page. It was locked when we pushed out 0.8. I'll do that.
Aug 05
Sasha Zucker says:
Thanks, I was about to send you a long email begging for help, then I remembered...Thanks, I was about to send you a long e-mail begging for help, then I remembered I should just try upgrading to 0.8.