At the end of each Sprint/Iteration, a Demo meeting is held where the Team shows what they accomplished during the past 2 weeks. Given that Agile is an empirical process, and the goal of every Sprint is to product Potentially Shippable Software, only work that meets the Definition of DONE is demonstrated at the end of the Sprint. The Demo usually consists of the development team, the Scrum Master, the Product Owner, but is essentially an open meeting, and all stakeholders, leaders, and interested parties are invited and encouraged to join to observe the team’s progress.
The Demo serves many purposes, as follows
- A celebration point – this is what we accomplished!
- An opportunity to demonstrate the growing system, get feedback, and validate that it is in fact, what is expected and desired
- A measurement point for where we stand with regards to the overall goals
- A final opportunity to accept any User Stories that weren’t accepted during the Sprint
The last bullet is key, and if often misunderstood. The intention of the Demo is NOT to get your stories Accepted, that’s why they call it a “Demo”, and not an “Acceptance Meeting.” Teams should look to have their stories accepted by the Product Owner as soon as they are completed, with the preference being as early as possible. Teams that wait until the Demo to get their stories accepted won’t have time to respond to any feedback or issues that may arise since the Demo takes place at the end of the Sprint.
Demos should be kept fairly informal and involve minimal preparation, the evolving system is the star here, so there’s no sense in people wasting their time with fancy decks. Cookies and other snacks are encouraged, however.