About Sprint 0/Sprint Zero/Iteration 0/Iteration Zero/Inception in Scrum/Agile Product Development
Scrum Guide do not define Sprint 0. However, some organizations refer to a short time frame of getting ready for Sprint 1 as Sprint 0 or Inception. Sprint 1 will follow immediately after this period. During this period, The Scrum team along with other stakeholder will do just enough planning to get started.
Sprint 0 should involve the entire Scrum team, including the Product Owner, Scrum Master, and Development Team and likely Stakeholders and other subject matter experts. The main objective of this time frame is to ensure that Scrum Team and everyone else are aligned on the the Vision and Goal of the product development. They work together to create a shared understanding of the Product by engaging in activities such as product visioning, identifying and prioritizing initial set of features, and creating an initial product backlog. They may also create a Product Road map. The Scrum Team also need to make sure that they are equipped with the necessary tools and knowledge to begin work on the first sprint. The Development Team will to ensure that the the items on the top of the product backlog are well understood and ready for Sprint Planning for Sprint 1.
This will be also a good time for Scrum team establish a Definition of Done, team norms, and communication protocols for the Scrum team and everyone else. The development team may consider setting up the development environment. In general, this is a time to do all those things that help you start your product development.
One common pitfall of Sprint 0 or inception is to spend too much time on planning and not enough time on actually doing work. Another pitfall is to get bogged down in discussions around technical details or individual features, rather than focusing on the big picture and overall product vision. It's also important to avoid making assumptions or decisions in isolation, without consulting the rest of the team or stakeholders. To make time spent on Sprint 0 as effective time, make the time frame shorter and and even try to deliver a small features. Working on actual product development, however small it may be, help the team see the capability of the lack there of of the environment they have.
Further Reading: Avoiding Iteration Zero , Article written by George Dinwiddie