Quite often Scrum projects and teams assume that they can start developing as from day 1 of the project.
This is only partially true and depends on your definition of ‘Start of the project’.
If ‘Start of the project’ for you is defined as “we have our team ready, give me the prioritized backlog, we’ll estimate so we can start developing”, then you can indeed start developing immediately.
However in most of the cases, you don’t have a backlog, a team... ready when the GO for a project is given. In these cases you need to do a ‘Sprint 0’.
During Sprint 0, you need to do the set-up of your project and prepare the necessary deliverables to get started. Typically you’ll have these stories on your “Sprint 0” sprint backlog:
1. Who is or will be involved in the project?
Find out all stakeholders, project board member, Core Team members.
2. How will the project be organized?
Define your approach, communication plan, basic set-up …
3. What are the main risks & constraints, and assumptions
Clarify your risks, constraint and main assumptions (in time boxed sessions).
4. What is the purpose and scope of the project (vision)
High level vision of expected outcome and implementation.
5. What do I want to develop?
Gather the business requirements and prepare the product backlog.
6. Who do I need to produce the product?
Get your team or teams together.
7. By When do we need to deliver something (first release, full project?)
Develop a high level schedule in planned burn-down chart and target velocity.
8. How are we going to build it?
(if applicable, mostly for larger projects) Document a high level architecture overview with impacted applications and their data-flow.
9. How much money do we need?
Estimate the required budget to get your project delivered.
10. Is the technical set-up ready or available?
Prepare your development, test, deployment, CI frameworks and environments.
A typical “Definition of Done” for a Sprint 0 could be:
- Project Charter ready (containing vision, stakeholders, approach, …)
- Product Backlog ready ( prioritized and estimated requirements)
- Team ready (who is going to work on the project)
- Architecture Overview done (applications and data/communication flow)
- High level schedule / burn-down chart ready
- High level business case ready
These are, according to me, the required steps to take to a controlled start of your project.
Do you have others in mind?