Applying Agile and Continuous Delivery to Significant Cyber-Physical Systems
As Agile and DevOps continue to challenge the status quo and improve business outcomes, large companies need to identify how to scale these practices across large, complex systems composed of hardware, firmware, and software. The ability to iterate and deploy faster allows companies to adapt to changing needs, reduce cycle time for delivery, increase value for money, improve transparency, and leverage innovations. An industry-wide misconception is that this form of rapid iteration is only for software or small applications and systems. For large cyber-physical solutions, software is only one part of the value stream leading us to consider the implication and the application of DevOps principles across the entire end-to-end flow from idea to delivery. In a previously published DevOps Enterprise Forum paper from 2018, Industrial DevOps: Applying DevOps and Continuous Delivery to Significant Cyber-Physical Systems, we described a set of principles that development organizations can use to bring the power of DevOps to the build and maintenance of large-scale, cyber-physical systems such as vehicles, robots, complex medical devices, defense weaponry, and others. We introduced the term “Industrial DevOps” to expand the definition of DevOps in order to enable significant, cyber-physical system development programs to be more responsive to changing needs while also reducing lead times. This guidance has helped to establish the feasibility of using DevOps practices to more efficiently build, deploy, and maintain some of the world’s most important—and most complex—systems.
In this presentation, we take the original guidance concept of Industrial DevOps, eight supporting principles, and the subsequent definitions one step further, by applying the principles in the context of a hypothetical example using autonomous cars and then relating it back to those governing principles. Our intent is to help readers better understand the applicability and need for Industrial DevOps in different solutions, beyond those that are strictly software. The bodies of knowledge that inform Industrial DevOps principles and practices include DevOps, Lean manufacturing, Lean product development, Lean startup, systems thinking, and scaled Agile development. We’ll describe guiding practices that can be used to leverage the learnings from DevOps and scaled Agile developments to address the challenge of building these complex cyber-physical systems in a more efficient and more effective manner.
Outline/Structure of the Talk
We will discuss each of the 8 principles using an autonomous vehicle scenario
- Visualize and organize around the value stream.
- Multiple horizons of planning.
- Base decisions on objective evidence of system state and performance.
- Architect for scale, modularity, and serviceability.
- Iterate and reduce batch size.
- Establish cadence and synchronization.
- Employ “continu-ish” integration.
- Be test-driven.
- To apply systems thinking when applying Agile principles to large solutions
- To expand the foundations of Agile principles to different types of systems including those with safety requirements
- To understand the importance of looking at the entire value stream when adopting Agile principles and how to build collaboration across teams of Agile teams
Experience agile practitioners interested in applying agile principles to large system solutions and lookng beyond software
Prerequisites for Attendees
An understanding of foundational Agile principles and practices