We all know that scrum projects work in Sprints or Iterations and continue to deliver incremental features on the product at the end of each Iteration. In real life, how many of us have worked on a sprint project where the team was actually able to deliver something shippable at the end of the 1st Iteration? The answer to this question would be very small for a very simple reason. During the first sprint, there are too many unknowns, the backlog isn’t ready or the team isn’t assembled yet and so on.
So, if you want the team to deliver from Iteration 1, what should we do?
The answer is – Iteration 0…
What is Iteration 0?
If you are someone who has worked on Agile Projects before you already know that we need to assemble the team, get the preliminary product backlog ready, establish team roles and responsibilities and complete many other activities before actual development work can start. Right?
Considering all this, it is inevitable that the first sprint is usually spent finding our more information and doing all of the aforementioned activities which means the iterations output of shippable product features is mostly negligible or non-existent. When we publish the Sprint or Iteration Plan for my projects, I always start with Iteration 0 where we get all the prerequisites ready and then the team can start delivering from Iteration 1.
Is this Right or Is this Wrong?
According to Scrum principles, every Iteration should produce an increment of product features that can be shipped to the customer. If we take this principle as a hard reference, we shouldn't have a Iteration 0. Instead, we should be able to do all this in the first sprint and also deliver an increment which is very unlikely.
At the same time, Scrum advocates the inspect and adapt methodology which gives the scrum team enough freedom to inspect on their processes and adapt/make changes as required to make their functioning better. So, if we apply this principle then doing an Iteration 0 to get things ready is right.
Unfortunately, I cant give you a concrete Right or Wrong answer to your question. It is up to you as the Scrum Master to discuss with your team and if you think the goal is to start delivering incremental features from iteration 1, then it makes sense to have an Iteration 0 to make things easier for the team.
Real life Trivia:
Sometimes, teams may not have the luxury of a 2 or 3 week break between Major Product Version releases and usually get started on Iteration 1 of the next major release right away. In such situations having an Iteration 0 is just not feasible. If I am faced with such a situation, I usually work with the product owner and maybe one of the senior scrum team members to get the prerequisites going 2-3 weeks prior to the current release deadline so that when the next release development iterations start, my team has enough info to start delivering…
What do you think about this idea of an Iteration 0?