We are continuing our cycle of articles about the internal Scrum trainings conducted at our company. By this article we invite our readers to get familiar with the next practical training session that belongs to a series of investigative trainings for the following Scrum artifacts: Sprints, Daily Stand-ups, and Demo meetings.
The 3rd training in our team training series for the Agile software development methodology within the Scrum framework was one about product development, based on an existing Product Backlog, utilizing the Scrum framework artefacts such as Sprint, Daily Stand-up meeting and Product Increment demo.
During the training, team members were invited to do the following:
- Select items for the 1st, 2nd & 3rd Sprint backlog, based on the existing Product Backlog;
- Set Definition of Done (DoD) for the Sprint Backlog items;
- Produce a Product Increment within the scope of Sprint Backlog items;
- Demonstrate the developed Products to one another between teams.
Conduct of the training
Team members remained in the same teams as for the previous training (Training 2: “Project backlog filling and estimation”). The Product Owners & Scrum Masters kept their own roles.
For the Product Backlog, we took Backlogs created by both teams at the previous training: making a multipurpose chair in accordance with requirements prepared by each team.
The agenda was planned for 3 “two-day” Sprints with the duration of 15 minutes each, plus 5 minutes for Daily Stand-up meetings held by both teams at the same time. After each Sprint, the teams held their respective Demo meetings for all participants of the training: 5 minutes for each team.
Specifying the Definition of Done
The 1st stage of the training concluded to draw up Definition of Done for Sprint Backlog items in both teams. The development of multipurpose chair consequently implies the following Definition of Done:
- Result data analysis for problem investigation;
- Availability of visual implementation to assess results for each item in the Backlog;
- Possibility to sit down in the resulting product.
In both teams, product development was conducted as follows:
- Teams concurrently planned the 1st Sprint using the existing Product Backlog (5 minutes spent);
- Main period for product development : 15 minutes counted as “day 1”, then a 5-minute Stand-up, and 15 minutes for “day 2”;
- Demo meeting and planning of the 2nd Sprint (5 minutes per team);
- Making a Backlog for the 2nd Sprint.
The teams based their development efforts on children’s assembly kits of various types. It was also allowed to use improvised means such as paper, cardboard, stickers, scissors, screwdrivers, etc.
Upon completion of each Sprint, the teams obtained a Product Increment, which met the requirements specified in the Sprint Backlog earlier, at the planning stage. Each requirement was worked out in detail in order to answer the specification written in the Definition of Done. Based on the above, the Products became ready to be demonstrated and used within the framework of the given requirements.
Both teams by turns watched the demonstration of each Product: one was in the role of Development Team (Sprint team), whereas the other acted as the Product Customer (Stakeholders).
The display of Product was conducted by the Product Owner in each team. In the course of the demo, each Development Team voiced the Sprint Goal chosen by them, as well as the Product Backlog items selected for the current development Sprint so that to achieve the Sprint Goal down to the limit.
Further, the Product Owners demonstrated how the teams had achieved compliance to individual Sprint Backlog requirements along with possible use cases of the Product according to its intended purpose.
Following the Product Demo for the current Sprint, the Product Owner and the entire Development Team answered questions asked by the Customer team, as well as clarified the rest of Product Requirements and collected new requirements to plan the next Sprint.
Having the 1st Sprint Increment displayed, both teams planned the 2nd Sprint, whose items were also developed counting on the “two-day” program. The 2nd Sprint also came to the Product Increment demonstration in both teams.
Even though there were items remaining in the Product Backlog, the development process was discontinued after the 2nd Sprint. That had been done with the aim to demonstrate the instability of “entangled” environment in the Cynefin framework used by most software development teams.
Items remaining in the Product Backlog were reviewed to analyze the correctness of prioritization for ones that would be used in the initial Sprints.
Main patterns of training
- The teams get acquainted with product development driven by the Scrum framework events: Sprints, Daily Stand-ups, Demo.
- Sprint Backlog items are to be grouped as much as possible, with a certain direction in mind, to maximize the Sprint Goal output.
- Prompt demonstration of Product and feedback control, which are necessary to update product requirements just in time.
- Any Sprint anytime may turn out to be the last one for the given Product due to various circumstances: underfunding, changing priorities by the customer, etc. Teams should be ready for this.