Monday, April 14, 2008

Do we need Iteration Planning meeting?

Iteration Planning Meeting (IPM) is becoming a controversial topic. In one side , some people feel IPM is a must. In other side, some people feel IPM is not needed. I have friends and people whom I appreciate in both sides. According to me, I feel IPM is needed (not a must) but in a different form.

These are the activities that usually happens during a typical IPM.

  • Showcasing (Demo to customers)
  • Retrospect
  • Story presentation
  • Story tasking and estimating
  • Planning
  • A little celebration for finishing an iteration.
In those activities I have mentioned above, I am not convinced that some activities should be part of IPM. Let me explain one by one.

Retrospect:

Retrospect is where we collect knowledge to eliminate waste. We can retrospect what things worked and what did not work. The problem I have is why cannot retrospect be an ongoing activity instead of just happening during IPM ? We can have a board where everyone in the team can add things whenever they want that they like or do not like. The board will be always up to day. In daily standups everyone can discuss on issues that are very critical.

Story presentation:

Story presentation is where a analyst will present what a story is all about. Developers can ask questions to understand about what is expected out of that story. This is a very useful activity, but again why it has to happen during IPM. Story presentation should be postponed till some developer is ready to work on it. That way we can use new knowledge that we acquired in the past few days working with other stories.

Story tasking and estimating:

Please look at my other blog, where I have discussed the importance of tasking. Again like 'story presentation' this activity should be done at last possible moment (ie.., when developers are starting to work on that card) instead of being done during IPM.

Planning:

Planning is something that we can never avoid. Planning has to happen. But we should understand that planning is not a commitment. We should be willing to change our plans as we gather new knowledge. Planning for short term should be more towards what is next three stories (keep this number as low as possible) that I wanted my team to work on. Things change so fast and we gather so much more knowledge in a short time. So planning should be a continuous activity rather than being done only during IPM.

Now our new form of IPM will have only these activities,
  • Showcasing (Demo to customers)
  • A little celebration for finishing an iteration.
Ideal situation:

In a ideal situation, customers will be always sitting in your team room. Whenever we have a story done, we can deploy to a demo machine (which is very close to production system ) and demo it to the customer. In this scenario, celebration is the only activity we will doing during IPM.

Reality:

In reality, not all customers will be sitting in team room. So we need a scheduled time to demo the stories you have done to get feedback from them. So we will need IPM , but in new form.

2 comments:

JJ said...

Interesting points Siva. But when I looked at your list of IPM items, I wanted to remove the two things you left in.

I believe showcases to the business are crucial but I don't think they need to be in the IPM. Schedule a meeting with the business, take the PM, lead BA and maybe the tech lead too but the whole team don't need to sit there and watch someone click a mouse. It's great if they can be but there's probably more valuable things they could be doing in that time.

I'm all for celebrations too but not every iteration! That's a lot of cake :) I guess that depends how long your iterations are but I would say celebrate a release because that's when we can realise some business value.

Retrospectives, however, do belong in an IPM I believe. Sure have a suggestion board as well but by taking time to have a quick retrospective (15-30mins max) every iteration you make an important point about how you work. Retrospecting tells the team (esp new joiners) that we truly value improving the way work so we and we are constantly looking to improve.

Siva Jagadeesan said...

Hi JJ:

Thanks for your input.
Yes I accept that showcase does not need to be a part of IPM. In fact IPM in new form is nothing but showcasing to customers. It could happen any time. If customer is sitting in team room well and good, we can showcase whenever our story is done. But in reality most of the time it is difficult to get customers' time. So we can setup every week (or 2 weeks) a particular time with our customers to showcase what we have finished.
I feel celebration is needed in agile projects more than any other project. Agile projects are always running in full throttle, so I feel it is good to have some celebration now and than.
I see some value doing retrospect in some constant frequency. I am not sure that it needs to be in IPM, it could happen every day for 5 mins as a part of stand ups.
Probably we should all start calling IPM as "Showtime" , because nothing else is happening during IPM.