Can agile be used for hardware?
You probably already know that the answer to this question is “Yes, but…”
After all, software and hardware development are not the same. So it’s not surprising that agile approaches for software teams have never mapped perfectly to the needs of hardware teams. Even still, mechanical design teams have been increasingly borrowing from agile principles and techniques for many years.
Right now there’s more momentum and urgency than ever for hardware teams to move toward more agile ways of working.
At PTC’s LiveWorx 2023 event, MIT Professor Steven Eppinger delivered a timely keynote on Embracing Agile Product Development. Eppinger’s research is about improving engineering and product development processes. In recent years, that’s led him to focus on agile approaches in technical fields outside of software development. As he puts it, agile is “not just for software anymore.”
Drawing on Eppinger’s findings and CoLab’s experience partnering with industry leaders like Ford and Komatsu, this article explores modified agile approaches for hardware teams.
Keep reading for a breakdown on what modified agile means, three types of adjustments you can make, and concrete examples of modified agile in action.
Agile: a brief overview
Ever since the Manifesto for Agile Software Development was first signed in 2001, agile has revolutionized the way software teams build products.
“I believe it’s about to do the same for the rest of engineering,” says Eppinger. “If you’re using agile methods in hardware development, then you’re really at the leading edge of agile beyond software.”
The Manifesto defines a set of four values and twelve principles meant to guide effective and efficient software development. It has spawned numerous specific methodologies, frameworks, terms, and techniques including such familiar concepts as Scrum, Kanban, and Lean. (There’s also a whole industry of agile coaches, consultants, tools, resources, training programs, certifications, and so on.)
Here’s a basic, non-exhaustive description of a typical agile approach:
- Work happens in increments, using fixed development periods called time-boxed sprints
- Each sprint cycle is 1-3 weeks long and involves a set of repeatable events (daily scrum, sprint review, retrospective, etc)
- All work is planned through the backlog, a prioritized list of jobs to do
- A product owner manages the backlog and a scrum master facilitates the team and sprint events
Agile’s been so revolutionary, in fact, that the agile philosophy is spreading to nearly every industry and field. In 2021, agile adoption in non-IT lines of business doubled compared to 2020 (Digital.ai). Finance, marketing, HR, operations — everyone is going agile.
Engineering is no exception.
“If you’re using agile methods in hardware development, then you’re really at the leading edge of agile beyond software.”
Despite the complications involved in translating agile approaches from software to hardware development, engineering leaders and researchers have spent years working on how to do just that. As a result, more and more hardware teams have been steadily incorporating an agile mindset into their processes — developing hybrid agile-waterfall frameworks, adopting agile tools, implementing modified agile approaches, and more.
But before we dig into anything tactical: let’s recap the key reasons why engineering teams bother with agile at all, and the key challenges that arise when trying to adopt agile for hardware.
Advantages of agile for hardware
Agile’s overall advantage is that it prioritizes speed-to-value. It gives teams a systematic, repeatable way to break down large development goals into smaller, strategic milestones. Essentially, it helps you strike the elusive balance between enough planning and enough doing.
There are plenty of interrelated benefits that stem from agile practices. Eppinger summarizes these benefits with four adjectives: fast, friendly, flexible, and familiar.
Fast: Because each sprint results in incremental valuable progress, agile delivers value more quickly and consistently over the course of a project. Cloud-native tools have made this even easier and faster with fully digital workflows. As Eppinger points out, “Workflows today are readily supported by tools that just were not available ten years ago.”
Friendly: Agile makes planning practical. Rather than sinking time into extensive detailed planning upfront, agile combines long-term planning with short-term goal setting. From the long-term plan, high-level milestones get decomposed into sprint goals. That way, detailed planning is only required in manageable, short-term bursts for each sprint.
Flexible: Evolving specifications? Disrupted supply chains? Unexpected technical debt? Whatever the situation, agile’s sprint structure creates a development process that’s inherently responsive to constant change, feedback, and uncertainty — which means teams can identify and address issues much more quickly.
Familiar: Your team likely already uses (or knows about) many agile terms and workflows, especially if your company develops both hardware and software. Plus, digital natives make up most of today’s workforce. Remote work and online collaboration are natural for digital natives, but they’re also built-in aspects of agile workflows.
Why designing hardware using scrum is difficult
Of course, even with the clear benefits of agile, it’s not as straightforward as copy-and-pasting agile approaches from software development.
To be blunt: agile development is simply more challenging for hardware teams than it is for software teams. David Ullman, an internationally recognized expert on product design and decision-making best practices in engineering,outlines 13 challenges that arise when applying scrum to hardware design:
- Modularization is more challenging for physical products
- Difficult to develop hardware in short sprints
- Hard to add features to finished hardware
- Hardware is more difficult to simplify
- Hardware needs more specialization
- Demonstrating function takes longer for hardware
- Changing hardware costs more
- Hardware must work over a range of time and environmental conditions
- Software testing differs from hardware testing
- Developing hardware requires ancillary systems not needed for software
- Software and hardware requirements differ
- Demonstrating, prototyping, and testing are often more difficult for hardware
- Scrum encourages a build-measure-learn process, which is poor hardware design practice
Despite the challenges, there’s a reason hardware development is still trending steadily toward agile methods. Through ongoing research and real-world applications of agile in hardware, solutions to these challenges are emerging all the time. And as cloud-native software continues to evolve, it’s pushing the shift to agile into high gear with more and more tools designed explicitly to align with agile workflows.
So let’s dig into some of the specific ways hardware design teams have adapted agile to work for them.