Base milestones on objective evaluation of working systems.
—Lean-Agile Principle #5
System Demo
The System Demo provides stakeholders an integrated view of new features for the most recent iteration delivered by all the teams on the ART. Each demo provides an objective measure of progress and the opportunity to give feedback.
A system demo is a critical event. It’s the method for assessing the Solution’s current state and gathering immediate, Agile Release Train-level feedback from the people doing the work and critical feedback from Business Owners, sponsors, stakeholders, and Customers. The demo is the one objective measure of value, velocity, and progress of the fully integrated work across all the teams.
Planning for and presenting a useful system demo requires work and preparation by the teams. But it’s the only way to get the fast feedback needed to build the right solution.
Details
The system demo tests and evaluates the complete solution in a production-like context (often a staging environment) to receive feedback from stakeholders. These stakeholders include Business Owners, executive sponsors, other Agile Teams, development management, and customers (and their proxies) who provide input on the fitness for purpose for the solution under development. The feedback is critical, as only they can guide the ART to stay on course or make adjustments.
The system demo occurs at the end of every Iteration. It provides an integrated, comprehensive view of the new Features delivered by the ART over the past iteration. The system demo offers the ART a fact-based measure of current, system-level progress within the PI. It’s the true measure of ART velocity and progress. Achieving this requires implementing the scalable engineering practices necessary to support Continuous Integration across the ART.
At the end of each PI, the ART holds a final PI system demo that shows all the features developed over the last PI. Since its scope is larger, the audience may be broader and include customers, Portfolio representatives, and other additional stakeholders. This demo is usually part of the Inspect and Adapt (I&A) event, which feeds into the retrospective and various PI progress metrics, including the ‘ART Predictability Measure’ (see Measure and Grow).
In large Solution Trains, the system demo feeds into the Solution Demo.
The Timing of the System Demo
The system demo takes place as close to the end of the iteration as possible—ideally, the next day. While that is the goal, some complications can make that timing impractical. Immature continuous integration and Built-in Quality practices can delay the ART’s ability to integrate frequently. Also, each new increment may require extensions to the demo environment, including new interfaces, third-party components, simulation tools, and other environmental assets. While the System Team strives to provide the proper demo environment at the end of each iteration, the integration may lag.
The system demo must occur within the time bounds of the following iteration. ARTs must make all the necessary investments to allow the system demo to happen in a timely cadence. A lagging system demo is often an indicator of larger problems within the ART, such as continuous integration maturity or System Team capacity.
Balancing Integration Effort and Feedback
The goal of the system demo is to learn from the most recent development experience and adjust the course of action. However, due to costs or availability, some components don’t lend themselves to continuous integration – hardware, mechanical systems, supplier-provided components, and scarce components. Continuous integration may not be economical or practical in such environments.
However, deferred integration, or none at all, is far worse. It significantly inhibits learning and creates a false sense of security and velocity. Therefore, if this is not practical, it’s critical to find the right balance and continuously improve integration and testing automation to lower the cost of future integrations. Figure 2 shows a ‘u-curve’ cost optimization for integration efforts.
When full integration at every iteration is too costly, the teams should consider the following:
- Using Test Doubles to speed integration and testing by substituting slow or expensive components with faster, cheaper proxies
- Integrating a subset of Capabilities, components, or subsystems
- Integrating to illustrate a particular feature, capability, or Nonfunctional Requirement (NFR)
- Partial integration with the support of prototypes and mock-ups in place of scarce or expensive components
- Less frequent integration (for example, every other iteration) until it’s feasible to do it more often
It’s also important to remember that continuous integration represents a natural challenge for groups still transitioning to Lean and Agile methods. That’s normal and should not be an excuse to reduce the scope or extent of integration. Most of the challenges should disappear as the ART matures.
Continuous integration validated by the system demo contributes to the ability of the enterprise to achieve faster time-to-market through a more continuous flow of value to its customers as outlined in the Agile Product Delivery competency.
System Demo Attendees
Attendees typically include:
- Product Managers and Product Owners, who are usually responsible for running the demo
- One or more members of the System Team, who often help set up the demo in the staging environment
- Business Owners, executive sponsors, customers, and customer proxies
- System Architect, IT operations, and other development participants
- ART Agile team members attend whenever possible
Event Agenda
Having a set agenda and fixed timebox helps lower the transaction costs of the system demo. A sample agenda follows:
- Briefly review the business context and the PI Objectives
- Briefly describe each new feature before demoing
- Demo each new feature in an end-to-end use case
- Identify current risks and impediments
- Open discussion of questions and feedback
- Wrap up by summarizing progress, feedback, and action items
Guidelines
Here are a few tips for a successful demo:
- Timebox the demo to no more than one hour. A short timebox is critical to keep key stakeholders’ continuous, biweekly involvement. It also illustrates team professionalism and system readiness.
- Share demo responsibilities among the team leads, Product Owners, and even team members who have new features to demo
- Demo from the staging environment
- Minimize demo preparation. Demo the working, tested capabilities, not slideware.
- Minimize demo presentation time. Demo screen snapshots and pictures where appropriate
- Discuss the impact of the current solution on NFRs
Learn More
[1] Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011. [2] Leffingwell, Dean. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley, 2007.
Last update: 6 December 2022