Working software in the first sprint
ByWe just finished our first sprint for a new feature. I have noticed that the initial sprint many times is very difficult because you do not have any code with which to start and the new feature is just written on paper.
A goal of Agile is that every sprint delivers working software. I know in the past that has been a real issue in the early sprints. How do you develop working software in three weeks?
The key to developing working software is to do figure out what is the scaffolding that needs to be in place to create a minimum working system. It is critical to understand what are the essential feature that are required for a working system. How much of the “happy path” can you “hard code” to create working software?
Defining what is essential is not easy. You have to take a look at your high level design and determine what is a working system that will be a true initial representation of the final product. What we build in this initial sprint will create the foundation for subsequent sprints.
I have found out that it is critical for the technical development lead to take leadership in this area. He or she, with the help of the team, can create the vision for this first sprint. Once this vision is established the team knows exactly what they are working toward. They can see how all of the pieces fit together to meet the goal of working software.
In the case of this sprint we had to create a vision that was not really a user story but was a overriding goal that we had on the white board in our team room. We could always point back to the vision for the sprint and see how we were doing. All team members agreed to the vision so this became a great unifying theme.
As the result of this vision for the sprint we came up with great sprint demo of a working feature. It provided the product owner and stake holders clear understanding of the functionality and how the feature will evolve in the future sprints.