If you are practicing Scrum and are applying Agile methodology to your team and doing the Agile transformation at your organization, we will be familiar with setting the rhythm of Scrum ceremonies (Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective). The Sprint itself is an event and time-boxed and when setting up the team’s cadence, we will number the Sprint in the order of an integer sequence from 1 to n.
The question is whether or not Sprint 0, if so, what is Sprint 0? What is the purpose of Sprint 0? If you’ve ever prepared for a certification exam on Scrum.org somewhere, you’ll probably come across a question like the following in the certification exam question bank:
“What happens during Sprint 0?
A) Requirements gathering, version control setup, and continuous integration setup.
B) Base system architecture and design.
C) Overall planning, base system architecture, base design, version control and continuous integration setup.
D) Establish base system architecture and design, install version control and continuous integration setup.
E) There is no such thing as Sprint 0.” – scrum.org
I will not discuss what is the answer to above question. Instead, we will discuss whether Sprint 0 really exists and what its purpose is.
In fact, in the process of Agile transformation, or in applying Agile/Scrum for a new team, we need to consider many factors before a team can practice the new way of working or before a team can proceed with the Sprint 1. Those factors could be:
– Does the team have a long-term vision to be able to work together for a long time?
– Did the team have a feature delivery roadmap to realize that vision?
– Does the team have the necessary resources to perform the task?
– Does the team have the necessary knowledge to practice the new Agile/Scrum way of working?
– Does the functionality which is the team intends to develop have enough description and design ready (at least for the first Sprint)?
– Is the environment for team members to work readiness?
– Is the environment for the development team ready so that the team can deliver the first increment?
These are some questions which is an Agile transformer, an Agile Coach, or a Scrum Master needs to ask before establishing an Agile/Scrum cadence that the team can execute on. If those questions have the answer that everything is ready, then the answer to the question “Whether or not Sprint 0 exist?” will be NO. In the opposite side, we need the Sprint 0. So what is Sprint 0?
What is Sprint 0?
We can consider the process of preparing a team before the team running into a real Agile/Scrum cadence as a Sprint 0. It is a Sprint to ensure as much readiness as possible so that a team can deliver the increment of the Sprint 1 effectively.
The objective of Sprint 0
Unlike Sprints 1, Sprint 2, … Sprint n when targeted increments that can be delivered to customers at the end of a Sprint, Sprint 0 has its own goal, which is to firmly ensure necessary factors for team forming, capacity building for the team to be able to accomplish long-term goals. Therefore, a Sprint 0’s goal should be:
– Team vision: Team vision looks like the southern star, or the compass that guides the team to the destination that the team wants to go for. It helps the team determine what the team wants to achieve and why. When a team has a vision, it will increase the team’s engagement in the working ahead.
– Team roadmap: Team roadmap looks like a map, which is identifying locations on the way to the destination. It not only helps the team determine what steps are necessary to get to the end of the path, but it also helps the team determine the order of priority and the starting point of that journey. If you go into the implementation of Sprint 1 right away without the Team roadmap, it will lead to the team losing a big picture and not knowing what the next destination is.
– High level Backlog: Does the team have a high-level backlog (Epic -> Feature). The team needs to have a preliminary plan of the products that need to be developed to realize the product delivery plan according to the roadmap.
– Release plan: Once the team roadmap has been established and the first release has been determined (MVP), the team needs to define a plan to be able to complete for each release (release plan). This is a more detailed plan to execute and accomplish the first goal, a first destination. With release planning it can be the milestones and deliverables the team needs to achieve by that time or how many Sprints the team can complete a release and what are the increments after each sprint?
– Resource allocation: We need to allocate resources and establish roles for the team to ensure that the team has the necessary skills to accomplish the goal. At least those roles are PO, SM, Development team (with basic skill design, development, testing).
– Team training: A team needs to have basic knowledge of Agile/Scrum before practicing Scrum framework. Therefore, a training course for the team to get a basic understanding of Agile/Scrum is needed.
– Story Ready: To be able to execute for the first Sprint, the team need to make sure that user stories are ready to put into development process. Therefore, in this phase the team needs to prepare for the readiness of the User Stories to be able to execute in at least the next 2 sprints. Development readiness of those Stories might include: description ready, design ready, preliminary technical solution ready….It depends on the agreement between business and technology side to make sure that those stories are ready for development.
– DoR, DoD: To ensure that the Story is ready for development, the team also needs to agree on the DoR (definition of ready) criteria set and agree on the DoD (definition of done) criteria set to ensure that User Stories can be accepted at the end of a Sprint.
– Other: In addition, other factors that can be considered to be able to be implemented in Sprint 0 are: Setting up the development environment, testing environment, deployment environment, deployment process, etc.
To answer the question “Whether or not Sprint 0?” depends on Agile maturity and readiness of a team before the team can perform a first development Sprint. If the team is already familiar with Agile methodology and everything is ready to be able to develop the increment of the first Sprint, we don’t need Sprint 0. On other side, we need a Sprint 0 to ensure that a team can best practice Agile/Scrum methodology to achieve their goals.