Growing Agile guidance for cyber-physical system builders
Many organizations applying SAFe build large systems that include hardware. Yet there is little guidance on how DevOps’ software-centric practices can be used by the people who build significant cyber-physical systems, those containing computers, mechanical devices, electronics, optics, fluidics, motors, propulsion, and more. I wanted to update everyone on two activities underway that are helping to address this need.
The first is the Industrial DevOps work going on at IT Revolutions within their DevOps Enterprise Forum. The Forum is a 3-day event that brings together thought leaders from many fields to select topics and produce papers advancing DevOps knowledge. For the past 3 years, Dean, Steve, and I have participated as part of the Industrial DevOps team. In 2018, the team published a first paper describing eight recommended practices for applying DevOps outside software:
- Visualize and organize around the value stream
- Apply 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
These should look very familiar to SAFe aficionados! The follow-on paper in 2019 applied these practices to an autonomous vehicle through two Epics, one requiring only software changes and the other requiring changes to both hardware and software. You can find both papers at IT Revolutions’ site here.
In 2020, the group is advancing these ideas to include culture. The latest paper is structured as a hero’s journey (similar to The Goal and The Phoenix Project) where Nole, a senior systems engineer at the Alset automotive company, sees initial success applying Industrial DevOps technical practices, but still encounters failures due to cultural issues. This paper will be available later this year.
The second activity I want to discuss is Agile for Hardware Engineers. We have less guidance in the framework on how these hardware engineers build-in quality or create a continuous delivery pipeline (CDP) compared to their software counterparts. To address this gap, we are currently exploring the following ideas:
- Aligning experiments and prototype work to increment the system more frequently
- Keeping options open with variable specifications and set-based design
- Defining smaller batches in the context of hardware development
- Applying Test-Driven Development (TDD) to electrical and mechanical design
- Using models and digital twins to create a CDP for hardware
We tested this new content in an alpha course for Agile Hardware Engineering this last month. There were 32 attendees that included 12 hardware engineers with no prior agile courses and 10 SPCTs. It was well received. It appears we have good demand from those applying agile in a hardware context and from coaches embedded in those types of organizations. We will keep you updated as this course comes closer to GA.
The learnings from both these activities, Industrial DevOps and Agile for Hardware Engineers, are creating additional guidance that we can offer to cyber-physical system builders. We are actively looking for ways to integrate them into SAFe.
Your input is always welcome and appreciated. Please post any thoughts or ideas you may have here or feel free to contact me directly.
Thanks all and be SAFe!