Chris Spagnuolo’s EdgeHopper

Tales from the Edge of Technology

Chris Spagnuolo’s EdgeHopper header image 2

Is Iteration Zero a good idea?

January 15th, 2008 · No Comments · Agile Practices

ITERATION_ZERO As I’ve been contemplating moving agile throughout our entire organization here at Data Transfer Solutions, I’ve been considering the usefulness and effectiveness of an Iteration Zero.  Many agile teams use what’s known as Iteration Zero to put the necessary systems in place to enable the delivery of value to the customer.  It’s essentially the getting started iteration.  It takes place before any development begins.  I think Peter Schuh described Iteration Zero very well in his book Integrating Agile in the Real World.  Peter says:

“An iteration zero does not deliver any functionality to the customer. Instead the project team focuses on the the simple processes that will be required for the adoption and use of most agile practices. From a management point of view iteration zero may include:

  • – Initial list of features identified and prioritized.
  • – Project planning mechanism identified and agreed upon.
  • – Identification of and agreement upon a team customer, essential stakeholders, and business users and the nature of iterative planning process, such as the time of planning meetings and the length of iterations.”

I personally think that the use of an Iteration Zero is very pragmatic and I think that Peter’s idea of what Iteration Zero looks like is very realistic.  I believe that in the real world of software development, customers aren’t really ready to jump right in and start on a sprint from day one.  Many of them don’t entirely understand the Scrum “process”.  Most of them don’t truly understand their requirements.  I think an Iteration Zero can be useful in educating the customer (and coming to an agreement with them) about the agile planning process.  I also think it can be used to develop the initial prioritized backlog for the project.  Now, I’m not advocating heavy up front requirements gathering here, but you do need some time to create effective user stories to start working from. From a management point of view, check out Agile Support’s post on Iteration Zero as it exists within their Agile Contract Engagement Roadmap as seen below:

image

Aside from the project management side of Iteration Zero, I think there can be a good case for the development team to engage in Iteration Zero as well.  I think that as we switch between projects, we also tend to switch technologies or development platforms.  To do so, development teams may need time to stand up a new database server because the new customer uses Oracle and the last customer needed SQL Server.  Hopefully you have both running so you don’t need to worry about things like this, but you get the point.  Sometimes the development team needs some time to get things set up to support the project before they start delivering potentially shippable product increments each sprint.  For a quick idea of what another agile team has done during Iteration Zero, check out Energized Work’s post on their Iteration Zero.

I’d like to know your thoughts on Iteration Zero.  Does your team use an Iteration Zero?  If so, what kinds of tasks do they typically include?  And most importantly, do you find them useful and effective in delivering value to your customers?


© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.

0 comments so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment

Comments may be moderated or held if they appear to be spam.

This may delay your comment from being posted immediately.