InfoQ

News

What is Sprint Zero? Why was it Introduced?

Posted by Mark Levison on Sep 25, 2008 12:48 PM

Community
Agile
Topics
Methodologies ,
Agile Techniques
Tags
Planning ,
Scrum

Some teams use a Sprint 0 to prepare their product backlog, the infrastructure (development environment, CI server), ... .Is this part of Scrum? Is it useful?

Dan Rawsthorne, a Senior Coach with Danube, uses Sprint 0, as a way of getting a team started:

The idea is simple: take an initial sprint (called Sprint Zero, Iteration Zero, Inception Sprint, etc) that has the following three goals:

  1. Get some quality items on the Product Backlog,
  2. Provide a minimal environment that enables the writing of quality code, and
  3. Write a piece of real code, no matter how small.

And, of course, make this Sprint Zero as short as possible. In my experience, this sprint can be as short as one week, which is what I recommend.

Mark Woyna, uses Iteration Zero as a spike:

The planning team is responsible for producing 3 deliverables by the end of the planning iteration:

  1. A list of all prioritized features/stories with estimates
  2. A release plan that assigns each feature/story to an iteration/sprint
  3. A high-level application architecture, i.e. how the features will likely be implemented

With one team, Peter Stevens, an Agile Coach in Switzerland, used a Zero Sprint to estimate the most important features, agree on a definition of done and rebuild confidence with the customer. Like the others he set the iteration length to be shorter than normal for the team.

So Is this Scrum? The iteration is a different length than the teams norm and the result is not to produce working, tested software. Is it useful?

Alistair Cockburn, author of Agile Software Development (The Cooperative Game) chimes in with:

I have a sneaking feeling that someone was pressed about his use of Scrum when he did something that had no obvious business value at the start, and he invented "Oh, that was Sprint Zero!" to get the peasants with the pickaxes away from his doorstep.

Ken Schawber, co-creator of Scrum agrees: "Sprint 0 has become a phrase misused to describe the planning that occurs prior to the first sprint".

Michael James, also of Danube, finishes the conversation by asking why isn't this Sprint 1? And then Sprint 2? ... With each sprint producing a potentially releasable product and refining the backlog?

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.

13 comments

Watch Thread Reply

What is Sprint Zero? Why was it Introduced? by Rody Middelkoop Posted Sep 25, 2008 4:46 PM
Sprint Zero & Business Value by Will Read Posted Sep 25, 2008 5:51 PM
Re: Sprint Zero & Business Value by Ben George Posted Sep 25, 2008 11:00 PM
Re: Sprint Zero & Business Value by Marek Suur Posted Sep 30, 2008 11:32 AM
Re: Sprint Zero & Business Value by Tony Greening Posted Sep 26, 2008 8:06 AM
Re: Sprint Zero & Business Value by Mark Levison Posted Sep 26, 2008 9:58 AM
Re: Sprint Zero & Business Value by Dave Rooney Posted Sep 26, 2008 10:00 AM
Hasn't this all been discussed before? by Jason Yip Posted Sep 26, 2008 3:34 AM
Re: Hasn't this all been discussed before? by Dave Rooney Posted Sep 26, 2008 5:03 AM
Re: Hasn't this all been discussed before? by Mark Levison Posted Sep 26, 2008 9:55 AM
Re: Hasn't this all been discussed before? by Dave Rooney Posted Sep 26, 2008 9:06 PM
Re: Hasn't this all been discussed before? by Mark Levison Posted Sep 26, 2008 9:51 AM
Re: Hasn't this all been discussed before? by Rachel Davies Posted Oct 21, 2008 3:07 PM
  1. Back to top

    What is Sprint Zero? Why was it Introduced?

    Sep 25, 2008 4:46 PM by Rody Middelkoop

    We use Scrum in an educational context to learn bachelor computer science students how to do Java projects in an agile way. We advise our students to do everything that does not directly produces potentially shippable code in the pre-game phase. That includes writing the core requirements, modeling the core use cases, creating a first version of the business object model and preparing tooling like the IDE, continuous integration and wiki. This way, the sprints are used for developing high quality software in equal and repetitive iterations; teamvelocity can be measured and used as input for the next sprint. So, no sprint zero for us, however the pre-game phase is loaded with activities!

  2. Back to top

    Sprint Zero & Business Value

    Sep 25, 2008 5:51 PM by Will Read

    This sounds like a workaround for a team that is agile, working for a company that is only partly agile. A sprint produces a shipable product by definition. The trap that Danuabe may be caught in is that not all of the team's time will produce a shipable product - you have to make internal tools, do some R & D, and help plan releases and the underlying architecture. Business needs to let the devs do this kind of work, but it also needs to be timeboxed. At a very basic level, a sprint is a timeboxed period where the team does work. So if the team always has to be doing work, aka "in a sprint", then 'Sprint 0' is a great work around. To say that a shop isn't agile because the label they use is 'Sprint 0' vs. 'The preparation before the first sprint' is madness. But it probably says that the team is working around something, an impediment, that shouldn't be there in the first place.

  3. Back to top

    Re: Sprint Zero & Business Value

    Sep 25, 2008 11:00 PM by Ben George

    Its a good idea to do an 'iteration zero', but with the smallest team on the ground as possible. Our current project made a BIG mistake of having the full team on hand for iteration zero. There is no point having 4 devs, BA, QA and project manager all involved in setting up pcs, installing ide's, organising servers, proxies, firewalls, databases, ci, fiddling with build lights etc etc.

  4. Back to top

    Hasn't this all been discussed before?

    Sep 26, 2008 3:34 AM by Jason Yip

    The concept of "Iteration Zero" has been around as far as I can remember in XP but I don't remember where the first reference would be... I'm guessing it would be one of the early Addison-Wesley books as I can't find it on WikiWiki. Iteration zero describes the activities that occur prior to the first iteration. The phrase, "Sprint Zero" is a translation of the phrase "Iteration Zero" to fit within the Scrum branding ecosystem.

  5. Back to top

    Re: Hasn't this all been discussed before?

    Sep 26, 2008 5:03 AM by Dave Rooney

    I remember talking about Iteration 0 at least back in 2003 at a client.

    ...the Scrum branding ecosystem.
    Nice! :)

    Dave Rooney
    Mayford Technologies

  6. Back to top

    Re: Sprint Zero & Business Value

    Sep 26, 2008 8:06 AM by Tony Greening

    We are a fully agile company and use Iteration 0 to get the environment setup, the backlog groomed, and prototypes done. Calling it a part of Agile or not is truly madness. This is work that needs to get done. Getting this work done in Iteration 0 ensures in Iteration 1 that the entire team is dedicated to business stories and delivering value. It's about expectation setting with the business. Iteration 0 should be short and with deliverables outlined. Some are getting too dogmatic as to what is in and out of Agile. Show me where the manifesto says this practice is not Agile. (Stepping off soap box now)

  7. Back to top

    Re: Hasn't this all been discussed before?

    Sep 26, 2008 9:51 AM by Mark Levison

    Jason - perhaps it has, but I wasn't familiar with the idea and thought the conversation worth people's attention.

    I don't think there's any Scrum branding going on here. Personally I with Micheal James I don't see how this is really different from any other sprint/iteration (I don't care about the language).

    If you have to do pre-game planning, great - but don't pretend its Scrum. The part that seems very strange is to have an 'iteration' that is of different length than your normal iterations. Doesn't seem much like an iteration to me.

    Final note, I not a fanatic - if iteration zero works for you by all means use it.

  8. Back to top

    Re: Hasn't this all been discussed before?

    Sep 26, 2008 9:55 AM by Mark Levison

    I remember talking about Iteration 0 at least back in 2003 at a client.


    Dave - in internet years that makes you how old?

  9. Back to top

    Re: Sprint Zero & Business Value

    Sep 26, 2008 9:58 AM by Mark Levison

    Some are getting too dogmatic as to what is in and out of Agile. Show me where the manifesto says this practice is not Agile.

    Although I've called Ken dogmatic in the past - I would this time. He's simply stating that Scrum as he and Jeff conceived it didn't include Iteration 0.

    As I said above personally I have trouble with an iteration that is a different length than all the others, but to each their own.

  10. Back to top

    Re: Sprint Zero & Business Value

    Sep 26, 2008 10:00 AM by Dave Rooney

    Calling it a part of Agile or not is truly madness. This is work that needs to get done.
    ...and...
    Some are getting too dogmatic as to what is in and out of Agile. Show me where the manifesto says this practice is not Agile.
    Yes, absolutely! Being "Agile" doesn't mean that you give up thinking.

    I guess my only tweak would be that rather than just assuming that there will an Iteration 0 that doesn't deliver visible business value, you should look for a way to incorporate some business-facing work. One way to do this is to schedule Stories for the first iteration (either 0 or 1 based!), but the story estimates will be higher because of the bootstrap tasks to be completed. If the Customer is part of Release Planning, this is clearly explained to them. You can make it their choice at that point.

    Having said that, sometimes you just have to bite the bullet and have an Iteration 0 to do the setup work. In short, use common sense and be pragmatic about it. But if you can ship some value... ;)

    Dave Rooney
    Mayford Technologies

  11. Back to top

    Re: Hasn't this all been discussed before?

    Sep 26, 2008 9:06 PM by Dave Rooney

    Dave - in internet years that makes you how old?
    Not quite this old and not quite as old as Ron Jeffries, but still "up there"! :)

    Dave Rooney
    Mayford Technologies

  12. Back to top

    Re: Sprint Zero & Business Value

    Sep 30, 2008 11:32 AM by Marek Suur

    Its a good idea to do an 'iteration zero', but with the smallest team on the ground as possible. Our current project made a BIG mistake of having the full team on hand for iteration zero. There is no point having 4 devs, BA, QA and project manager all involved in setting up pcs, installing ide's, organising servers, proxies, firewalls, databases, ci, fiddling with build lights etc etc.
    I don't want to sound dogmatic, but I really fail to see your point here. So, what are you actually doing in this Sprint Zero? Setting up PCs and IDE's - are you saying some developers don't need them? And exactly for how long can you do this? Firewalls, databases, servers - why, you don't need them for very first stories. Creating good user stories for next iteration - so you need PO more than ever to be included. Keeping the Sprint Zero really small - why, if you can have a normal length sprint with some business value produced at the end.

  13. Back to top

    Re: Hasn't this all been discussed before?

    Oct 21, 2008 3:07 PM by Rachel Davies

    Iteration Zero evolved from something called a ZFR ("ziffer") - Zero Feature Release. According to Bill Wake in XP Explored it was Mike Hill who came up with the idea in one of the early XP Immersion classes around 2000. In Scrum it's a good way of timeboxing the creation of an initial Product Backlog. And it's run as a short sprint with tasks on the board and daily scrum to synchronize activities rather than some vague period for mulling things over.

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.