DiaTones: Sight-Sing Sheet Music to Win; DevOps in Embedded Software: Uncovering Skepticism and Resistance

Author:
Tessier, Peter, School of Engineering and Applied Science, University of Virginia
Advisors:
Murray, Sean, EN-Engineering and Society, University of Virginia
Sherriff, Mark, EN-Comp Science Dept, University of Virginia
Reiss, Charles, EN-Comp Science Dept, University of Virginia
Foley, Rider, University of Virginia
Abstract:

For over 15 years, the software development industry has heralded DevOps as the ideal set of practices for producing software. Indeed, by automating as much of the release process as possible - including testing, integration, and deployment - software can be put in the hands of users with enhanced speed and security. However, establishing DevOps in the workflows of embedded software faces unique challenges which stem from its tight dependence on specialized hardware. I attempted to mitigate this difficulty in adopting DevOps in the embedded world from both a technical and socio-technical perspective.

From the technical perspective, I created an end-to-end pipeline to automate the testing and release process of a particular embedded product. Not only did this pave the way for DevOps to be practiced in this product, but it was built to be easily extended to future embedded products. The project also exposed the challenge of fleshing out automation for testing and release in embedded devices, since it needed to update the product using physical cables in a multi-step flashing process involving a number of communicating devices. To be sure, the often-specialized and tedious nature of embedded testing and release is a common obstacle to adopting DevOps, as well as the lack of existing tools. Hence, tools like mine hold the potential to greatly support these best practices in the embedded field.
From the socio-technical perspective, I attempted to address a gap in existing research by uncovering the perspectives and experiences of embedded developers with respect to DevOps, especially compared to general-purpose (non-embedded) developers. To do this, I analyzed the discourse across nearly 3,000 upvotes across posts and comments on Reddit, as well as 9 statements from company representatives. It was found that both the “average developers” of Reddit and respected voices in the field across the board tended to regard DevOps “virtuous” in all software development, even embedded, where many reported that they lag behind their general-purpose peers with a culture sometimes skeptical towards DevOps practices. I concluded that embedded developers must continue pushing to achieve DevOps in their workplaces, as anecdotes and metrics have unanimously reported its benefits even with its extra hurdles.

By synthesizing these two experiences, I became aware of the interrelated technical and social challenges in adopting embedded DevOps. I understand how the difficulties in producing a DevOps pipeline for embedded products makes embedded developers and management reluctant to pay that upfront price for a benefit that might only arrive far in the future. From the stories and data, it is clear that culture is a cornerstone for successful DevOps. When companies try to force developers to adopt such practices without convincing them of its benefits, it is often done poorly and begrudgingly. Hence, the embedded community should go beyond simply recognizing DevOps as something they should do, but actually learn and discover its benefits, take incremental steps to incorporate it into their workflow, and ultimately leverage it to prioritize speed-to-market and security, especially in such safety-critical applications.

Degree:
BS (Bachelor of Science)
Keywords:
DevOps, embedded, Continuous Integration, Automation
Notes:

School of Engineering and Applied Science

Bachelor of Science in Computer Science

Technical Advisor: Charles Reiss

STS Advisor: Sean Murray

Technical Team Members: Peter Tessier

Language:
English
Rights:
All rights reserved (no additional license for public reuse)
Issued Date:
2025/05/10