There is a good dialogue on the topic of Scrum's Sprint Zero going on at Scrumdevelopment@yahoogroups.com. If you follow the group you will surely learn something about Agility. It will just seep into your pores. Go right ahead - click the link and join up... I'll wait here.
The "raging" debate in the Scrum world for years is - should a Scrum team have a Sprint Zero? A sprint in which they get setup for doing real work. A sprint for installing all that infrastructure (DB, Version Control System, App Server, build a few [sarcasm] frameworks). [Hint: when a developer says they just need to build a framework - it is geek-code for I don't have any idea how to use The Google to find a tool to do that job - so I will have to forge my own special handmade tool - check back with me after I reinvent the wheel.]
I think perhaps the wise and wonderful man behind the curtain - Ron Jeffries - captures the best thinking on the topic:
So the debate - and I think it is much more a debate - than a productive dialogue, is over something at the very beginning of a long learning process. The transition from predictive to emergent behaviors of development. Is the debate over - what to call an increment of time? Or is it over our starting point: Zero vs One? Or is it over the principle of - do we really have to deliver something this first iteration - what could we possibly do AND do all this setup work? Do we have to do ALL this setup work? Now we are going down the right path.
And the abstraction of that path is that we learn to count with the infinite goal in mind - not the beginning. We learn to count: Zero, One, Many.
If you have only ONE sprint called Zero - I'm fine with that - it is a failure if it delivers no potentially shippable software. But hey, I'm OK with failure. And if you fail once and learn something - like how to get back up, dust yourself off and start delivering working software in one sprint, well then HEY I'm good with whatever you call it.
You see, I'm focusing on the goal - getting to reliably delivering software in Sprint-N, each and every Sprint-N. And if you need training wheels on your first bicycle - then I'm all for getting training wheels - it is a very reliable learning technique. Just don't put them on your Harley.
See Also:
InfoQ: What is Sprint Zero? Why was it Introduced?
An alternative view: Why do you need Sprint 0
Scrum Alliance article: What is Sprint Zero
Mountain Goat SW: Sprint Zero: A Good Idea or Not?
The Invention of Zero: How Ancient Mesopotamia Created the Mathematical Concept of Nought and Ancient India Gave It Symbolic Form
“If you look at zero you see nothing; but look through it and you will see the world.”
On a slightly different topic: School House Rock - Zero - You're my Hero
Sung and written by Bob Dorough
The "raging" debate in the Scrum world for years is - should a Scrum team have a Sprint Zero? A sprint in which they get setup for doing real work. A sprint for installing all that infrastructure (DB, Version Control System, App Server, build a few [sarcasm] frameworks). [Hint: when a developer says they just need to build a framework - it is geek-code for I don't have any idea how to use The Google to find a tool to do that job - so I will have to forge my own special handmade tool - check back with me after I reinvent the wheel.]
I think perhaps the wise and wonderful man behind the curtain - Ron Jeffries - captures the best thinking on the topic:
I do, however, object to calling those activities Sprint Zero. Here is my reason:-- Ron Jeffries
It is a core principle of Scrum that every Sprint must produce an increment of potentially shippable software.
Therefore, an interval of time which does not produce an increment of potentially shippable software is not a Sprint.
Therefore such a time interval should not be called a Sprint. It doesn't do what a Sprint does.
So the debate - and I think it is much more a debate - than a productive dialogue, is over something at the very beginning of a long learning process. The transition from predictive to emergent behaviors of development. Is the debate over - what to call an increment of time? Or is it over our starting point: Zero vs One? Or is it over the principle of - do we really have to deliver something this first iteration - what could we possibly do AND do all this setup work? Do we have to do ALL this setup work? Now we are going down the right path.
And the abstraction of that path is that we learn to count with the infinite goal in mind - not the beginning. We learn to count: Zero, One, Many.
If you have only ONE sprint called Zero - I'm fine with that - it is a failure if it delivers no potentially shippable software. But hey, I'm OK with failure. And if you fail once and learn something - like how to get back up, dust yourself off and start delivering working software in one sprint, well then HEY I'm good with whatever you call it.
You see, I'm focusing on the goal - getting to reliably delivering software in Sprint-N, each and every Sprint-N. And if you need training wheels on your first bicycle - then I'm all for getting training wheels - it is a very reliable learning technique. Just don't put them on your Harley.
See Also:
InfoQ: What is Sprint Zero? Why was it Introduced?
An alternative view: Why do you need Sprint 0
Scrum Alliance article: What is Sprint Zero
Mountain Goat SW: Sprint Zero: A Good Idea or Not?
The Invention of Zero: How Ancient Mesopotamia Created the Mathematical Concept of Nought and Ancient India Gave It Symbolic Form
“If you look at zero you see nothing; but look through it and you will see the world.”
On a slightly different topic: School House Rock - Zero - You're my Hero
Sung and written by Bob Dorough
Comments
Great to "see" you again! I think this is an orthogonal question (I hope it is), but it's related and I would love to know your perspective on it. How much preparation and planning do you picture teams doing to get set up to start sprint 1?
I will own up to the limitations of my own experience, but what I've seen work well is several phases before sprint 1: inception (team + PO + key SMEs) to get on the same page about what to build, and do an initial release plan. Then "sprint 0," which is a time period during which tech provisioning occurs and initial stories are investigated further so that the developers can hit the ground running in sprint 1. What have you seen, and what do you recommend?
I'm fine with not counting the work before you start development, but I hope you still think you should do some!
*ducking to avoid the vegetables*
Elena