InfoQ

Interview

Nils Haugen on Planning Poker

Interview with Nils Haugen on Jul 27, 2007 12:34 PM

Community
Agile
Topics
Collaboration ,
Agile Techniques
Tags
Planning ,
Collaborative Technologies
Summary
In this short InfoQ interview, Nils Haugen spoke with Floyd Marinescu about the "Planning Poker" technique he relies on to improve team estimates. Having consciously experimented with it for a while, he described this simple practice and why it works: by making space for team members to each contribute their own perspective. In this way, it's good for estimates and for teambuilding.

Bio
Nils Haugen is an agile developer and coach with Objectnet in Norway. He's worked with large distributed o-o apps in various industries since 1998. Nils worked with with XP/Agile teams at ThoughtWorks, and is an experienced conference speaker on topics in Java and Agile software development. He holds a MEng degree in Computer Science from the Norwegian University of Science and Technology.
This is Floyd Marinescu from INFOQ at the Java Conference. We are here with Nils Haugen who is known to be quite a poker player and has a system for planning a perfect poker game. Nils, can you tell us a bit about yourself and about your system?
So how does planning poker work?
And what is an "anchoring effect"?
You have described how to plan one user story, so how do you put all this together into a wider planning session?
Anything else to say about planning poker?
How do you deal with the "alpha male" developer, the one who is far more experienced , and people tend to want to do whatever he says because it's safer to believe and on the other hand how do you deal with the beginner, who might tend to over-budget everything?
What existing agile techniques does this replace?
What is your favorite agile methodology and why is that the best one?
show all  show all

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
Is poker a team sport? by Steven Devijver Posted Jul 27, 2007 1:45 AM
Re: Is poker a team sport? by Deborah Hartmann Posted Jul 27, 2007 6:06 AM
Is this confusing estimating with planning? by Jim Leonardo Posted Jul 27, 2007 11:22 AM
Re: Is this confusing estimating with planning? by Amr Elssamadisy Posted Jul 27, 2007 8:13 PM
Re: Is this confusing estimating with planning? by Barre Dijkstra Posted Jul 30, 2007 12:59 AM
Re: Is this confusing estimating with planning? by Deborah Hartmann Posted Jul 30, 2007 10:21 AM
Re: Is this confusing estimating with planning? by Manfred Lange Posted Feb 9, 2008 12:59 PM
Re: Is this confusing estimating with planning? by Michael James Posted Jul 30, 2007 3:16 PM
Planning Craps by Deborah Hartmann Posted Aug 17, 2007 9:42 PM
  1. Back to top

    Is poker a team sport?

    Jul 27, 2007 1:45 AM by Steven Devijver

    I thought this game is about bluffing and not trusting what the others are saying/doing. I think this planning game is not for shy people.

  2. Back to top

    Re: Is poker a team sport?

    Jul 27, 2007 6:06 AM by Deborah Hartmann

    > I think this planning game is not for shy people. I can see why you'd say that - similarly, you could say Agile itself is not for shy people. However, I've seen shy people happily embrace Agile... the key is to remove judgement from the process. So, in planning poker, if everyone says "4" and the shy person says "2" they will be invited to share what they know. Perhaps it turns out they see a different way to do it, which is great!. Without freedom to speak freely, this person may not have contributed this idea. But with planning poker, there is a way for them to do so without having to "butt in" to the conversation. There is an explicit invitation to speak in planning poler, which I think helps shy people learn to trust their team mates. Conversely, it teaches more outgoing team members to listen to this quiet person, to value their input. It is important that the person with the different estimate is valued for bringing different information to the team, rather than ridiculed for "not getting it". If, in fact, it turns out they didn't "get it", they will realize it naturally as the team discusses their idea, there is no blame involved. The discussion is about ideas, not individuals - this builds trust, which is essential to the function of an Agile team. Without trust, yes, the shy people on a team will remain silent and real teamwork is thwarted. But many Agile disciplines are specifically designed to build trust.

  3. Back to top

    Is this confusing estimating with planning?

    Jul 27, 2007 11:22 AM by Jim Leonardo

    Pet peeve: Estimating and Planning are different. This is estimating. To be hideously short about it: Estimate= How Much; Plan= How Long. I think its critical to know which you are doing when for the same reasons that we care about abstraction in code.

  4. Back to top

    Re: Is this confusing estimating with planning?

    Jul 27, 2007 8:13 PM by Amr Elssamadisy

    yes - but wouldn't you agree that estimation is one of the important pieces of information to plan effectively?

  5. Back to top

    Re: Is this confusing estimating with planning?

    Jul 30, 2007 12:59 AM by Barre Dijkstra

    I have used planning poker myself as well as introduced it with clients. I totally agree that it is about estimating (complexity) but I disagree that it is not planning. The way I see planning poker is that it is for estimating complexity and thus in the end iteration planning. When you know your teams velocity, in terms of complexity points per iteration, you can get a clear view what can be done in an iteration; thus the iteration planning. My personal experience is that, after a baseline on complexity and velocity, estimations get more and more accurate and the in the end the estimations are way more accurate then any kind of "expert opinion estimations".

  6. Back to top

    Re: Is this confusing estimating with planning?

    Jul 30, 2007 10:21 AM by Deborah Hartmann

    > planning poker is ... for estimating complexity and thus in the end iteration planning. I agree. Estimates are a key factor in iteration planning. Teams typically also go into iteration planning knowing a) their real-to-ideal ratio (ex: takes real two days to do one ideal day's work) and b) their availability (who's on vacation, taking training, etc.). So when the team reaches the iteration planning meeting, the only thing missing to create a plan is the estimate. That's where planning poker provides the "ideal time" estimates to complete the equation. In addition, there is a need for longer-term planning (done with a high degree of uncertainty, in Agile). I call this "release planning" and it's a different thing from iteration planning.

  7. Back to top

    Re: Is this confusing estimating with planning?

    Jul 30, 2007 3:16 PM by Michael James

    Jim's point is well taken. It would be more accurate to call this game (which I use and love, BTW) "estimation poker." Estimation informs planning, but someone else (in Scrum it's the Product Owner) still has to make a call on prioritization. "Estimation poker" doesn't have the nice alliterative ring that "planning poker" has though. --mj

  8. Back to top

    Planning Craps

    Aug 17, 2007 9:42 PM by Deborah Hartmann

    I got this really cool die at Agile2007 - flashy and electronic, does the usual "dice" thing - give you a random number. Perfect for Release Planning Craps!! :-D

  9. Back to top

    Re: Is this confusing estimating with planning?

    Feb 9, 2008 12:59 PM by Manfred Lange

    Yes I agree, planning and estimating are two different activities. Here is how we do it in our projects. Planning poker (we call it Agile Auction) is a tool or technique. It's outcome is a relative size for a task (can also be for a non-software project) in comparison to other known tasks. A release (= 3 months) consists of a set of iterations. Before we start a release we do a release planning. It is based on high-level stories and high-level estimates. We know that we need to adapt as we go but we still spend enough effort to get a full backlog to which the team can commit. And the team is cross-functional so there are more than just developers. At the beginning of each iteration (= 1 week) we use Agile Auction (aka Planning Poker) to confirm the estimates of the stories in the release backlog. By monitoring how many stories are completed in each week we can track the progress of the project. We can also determine the actual velocity of the team and we gain an indication of how much of the desired scope will actually get delivered. So estimating with cards is more about 'size' while the actual planning is more about the 'when'. Planning should also consider factors such as availability of specialists, change in size of stories if they are done in specific orders, business value of each story from a market or customer perspective, marketing value, and many more. In summary we found that Agile Auction (aka Planning Poker) substantially helps to improve the accuracy of the estimate (still not predictions, though!), collaboration and team learning. One question we are often asked is where to get the cards from. In the article one source is already mentioned. If you are looking for a free template to print and create the cards yourself you can also download it at no cost from http://www.agileutilities.com/products/AgileAuction Kind regards, Manfred.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.