Sprint 0: An Oxymoron or Necessary
richardknaster 060000XKSX Comments (3) Visits (2601)
As software engineers, we are used to counting starting with zero. If the first iteration starts at zero, but valuable work is only scheduled to start on the first Sprint, then we get an extra "free" iteration to work with -- "Iteration/Sprint 0". Any way you look at it, the first iteration is the first iteration, regardless of the number assigned to it and regardless of the word games used to fool outsiders to the team.
Iteration/Sprint 0 is all too often nothing but more than setting up collaboration tools such as a source code repository server, a continuous integration server, distributed build and test agents, as well as documentation tools like wikis. It's also used to configure developer workstations and team members' tools in preparation for everyone starting work. If you choose to have a plan with "Sprint 0", the plan should clearly state "Deliver something customer valued in Iteration 0". Which, consequently, is not an invitation to insert an "Iteration -1" at the start of the plan. The practice of using Iteration 0 encourages the delivery of zero value. The average teams spends over 4 weeks in Iteration/Sprint 0. Tools like Rational Team Concert, an Agile ALM, can drastically reduce the time teams spend on the geeky stuff.
I've also observed teams make Iteration/Sprint 0 to be 3-6 weeks in duration and then change the rhythm to 2 weeks. This is an incredibly bad practice. Getting the team on a consistent rhythm at the start is an important part of getting the team gelled and delivering valuable increments on a predictable basis. I favor a more disciplined approach, like IBM's Disciplined Agile Delivery (DAD) framework that uses clear language with clear goals. All iterations are not created equal and having an activity like Inception with specific goals helps the team "begin with the end in mind" and accomplish the following objectives:
Disciplined Agile Delivery (DAD) is an evolutionary (iterative and incremental) approach which regularly produces high quality solutions in a cost effective and timely manner via a risk and value driven life cycle. It is performed in a highly collaborative, disciplined, and self-organizing manner within an appropriate governance framework, with active stakeholder participation to ensure that the team understands and addresses the changing needs of its stakeholders to maximize business value provided. Disciplined agile delivery teams provide repeatable results by adopting just the right amount of ceremony for the situation which they face. For more information, download our free whitepaper.
Chief Methodologist, Agile & Lean, IBM SWG