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?
No comments:
Post a Comment