The Truth About Sprint Zero (and why Ken hates it)
If you've heard of Scrum, you've likely heard of Sprint zero. This article explains what Sprint zero is and how it is used in Scrum. I'll also explain why the phrase 'Sprint zero' annoys Ken Schwaber, one of the co-creators of Scrum.
What is Sprint Zero?
The truth? Sprint zero is a term commonly used to describe pre-sprint activities. It is an ad-hoc activity that has no formal guidance or content. The Scrum Guide is silent on the topic and leaves it to practitioners to decide what must be done.
How does Scrum use Sprint Zero?
Scrum benefits from some pre-sprinting activities and decisions. These activities and decisions are unique for each implementation of Scrum. Below, I have listed some steps that I use as part of that:
For the first step, I often address these items for a software product. This happens before team formation:
- The programming language we'll use
- The database we'll use
- The infrastructure we need
- The product vision
- The outline design
- The skills we need to create the product, so we can form a Scrum Team
You'll note the last item in the list that gathers the information needed to form a Scrum Team with the required skills.
You'll see the mention of outline planning and design. Scrum teams don't do big design up-front. They do a minimal, but responsible, amount of planning and design. For creating outline designs, I'll often advise the use of the Lean Canvas and possibly the Value Proposition canvas as great starting points.
A formed Scrum Team might then address the following points:
- Our Sprint duration
- The definition of done
- A definition of value within the context of our product
- A working agreement
- Any requested revisions to decisions made in Step 1
The last item is especially important. The decision on programming language and database in step 1 was necessary to help us to choose the right Developers for the Scrum Team. However, the Developers are the technical element of the Scrum Team and it would be wise to take their advice should they suggest reviewing those decisions. We might then re-form the Scrum Team to include the extra skills needed.
We're almost ready to go now. Time to consider some major topics:
- Do we need any Scrum training?
- Do we need any technical training?
These are the final things I consider prior to sprinting:
- Discuss and agree on the metrics we'll use to assess our progress and success
- Measure where we currently are (if necessary)
- Create the initial draft of the Product Backlog
The draft of the Product Backlog need not be complete. As long as we have enough work to get going, that's fine because we'll be refining it during development.
These steps and activities are not exhaustive. As always with Scrum, there is no silver bullet and you need to adapt to the circumstances as they exist.
Why Does Sprint Zero Annoy Ken Schwaber?
The purpose of a Sprint is to turn a selection of work into an Increment of value. As described above, Sprint zero does not do this and it explains why Scrum does not recognize the term. I'm not sure where the term came from, or who coined it. But I do know that Ken is not a fan. Here's an excerpt from a Yahoo Groups discussion in 2008
Sprint 0 has become a phrase misused to describe the planning that occurs prior to the first sprintKen Schwaber in a discussion with Alistair Cockburn on the Yahoo Groups
Sprint Zero is a term commonly used to describe pre-sprinting activities. Pre-sprint activities are not prescribed, formalised or codified. The Scrum Guide says nothing about pre-Sprint activities and leaves it to Scrum Teams to decide what to do.
The steps I have provided above are one way that you might approach pre-Sprint activities. Ultimately though, what you do is down to you. Additionally, your teams experience of Scrum and the your organisation's approach to agility may factor into your chosen approach.
Finally, it's up to you to decide what to call pre-Sprint activities. Some teams call it pre-game. Others call it pre-sprinting. While some continue to call it Sprint zero.