Base milestones on objective evaluation of working systems.

—Lean-Agile Principle #5

 

System Demo

The System Demo is a significant event that provides an integrated view of new features for the most recent iteration delivered by all the teams in the Agile Release Train (ART). Each demo provides ART stakeholders with an objective measure of progress during a Program Increment (PI.)

The importance of the system demo cannot be overstated. It is the method for gathering immediate, ART-level feedback from the people doing the work—as well as from sponsors, stakeholders, and customers. The one true measure of value, velocity, and progress is the demonstration of the fully-integrated work from all the teams during the prior Iteration.

Planning for and presenting an effective system demo requires some work by the teams. But it’s the only way to get the fast feedback needed to build the right Solution.

Details

The purpose of the System Demo is to test and evaluate the full system in the staging environment that the Agile Release Train is working on, and to get feedback from the primary stakeholders. This includes Business Owners, executive sponsors, other Agile Teams, development management, Customers, and customer proxies who provide input on the efficacy and usability of the Solution under development. This feedback is critical, as only they can provide the guidance (see Figure 1) the train needs to stay on course or take corrective action.

Figure 1. The System Demo

The System Demo occurs at the end of every Iteration. It provides an integrated, comprehensive view of the new Features that have been delivered by all the teams on the train in the most recent iteration. It offers the ART a fact-based measure of current, system-level progress within the Program Increment (PI). It’s only true measure of ART velocity. To achieve this, the teams must implement the scalable engineering practices necessary to support integration and synchronization across the ART.

At the end of each PI, a special PI System Demo is held. It’s a somewhat structured and formal affair, as it demonstrates the accumulation of all the features that have been developed over the course of the PI. This demo is usually held as part of the Inspect and Adapt (I&A) event, which feeds into the retrospective and various PI progress metrics, including the predictability Measure.

Note: To be clear, the system demo is the integrated presentation of the work of all teams on the train done in a staging environment, emulating production as much as possible. In large Solution Trains, the system demo feeds into the aggregate Solution Demo.

Timing of the System Demo

The system demo takes place as close to the end of the iteration as possible—ideally, the next day. There can be a number of complications, however, that can make that timing impractical. These include:

  • Typically, the results of the full integration effort are available only at the end of the iteration. (Of course, the goal is to strive for Continuous Integration across the full stack, but that isn’t always feasible.)
  • In addition, each new increment may require extensions to the demo environment, new interfaces, third-party components, simulation tools, etc. Of course, the System Team and the Agile Teams can plan for that, but some late-breaking items are inevitable.

However, the system demo must occur within the time bounds of the following iteration. Otherwise, feedback to the teams will be delayed, potentially putting the PI at risk. The ART must make all the necessary investments to allow the system demo happen in a timely manner.

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, when the concerns for an ART span software, hardware, mechanical systems, supplier-provided components, etc., integrating all assets every two weeks may consume too much capacity and create an unacceptable transaction cost. Simply, 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 full integration is not practical, it’s critical to find the right balance, and to also continuously improve integration and testing automation to lower the cost of future integrations. Figure 2 shows a U-curve cost optimization for integration efforts.

Figure 2. Integration U-curve cost optimization

When full integration at every iteration is too costly, the teams should consider:

  • Integrating a subset of Capabilities, components, or subsystems
  • Integrating to illustrate a particular feature, capability, or Nonfunctional Requirement (NFR)
  • Integrating with the support of prototypes and mock-ups
  • Integrating every other iteration

It’s also important to remember that frequent 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 train matures—but only if the teams start immediately.

Process and Agenda

Having a set agenda and fixed timebox helps lower the transition costs of the system demo. A sample system demo meeting script follows:

  • Briefly review the business context and the PI Objectives (~5 – 10 mins.).
  • Briefly describe each new feature that will be demonstrated (~5 mins.).
  • Demonstrate each new feature in an end-to-end use case (~20 – 30 mins. total).
  • Open the forum for questions and comments.
  • Identify current risks and impediments.
  • Wrap up by summarizing progress, feedback, and action items

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 are often responsible for staging the demo on the QA or demo environment
  • Business Owners, executive sponsors, Customers, and customer proxies
  • System Architect/Engineering, DevOps, and other development participants

Below are some tips for a successful system demo:

  • Timebox the demo to one hour. This is critical to keep the continuous, biweekly involvement of key stakeholders. It also illustrates team professionalism and solution readiness.
  • Share demo responsibilities among the team leads and product owners who have new features to demonstrate.
  • Minimize PowerPoint slides; demonstrate only working, tested solutions.
  • 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, chapter 9.

[2] Leffingwell, Dean. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley, 2007, chapter 15.

 

Last update: 28 September 2017