Agile for Hardware: Sprints and Working Prototypes
Today, there is a plethora of changes emerging in product development. In these next few blog posts, we’ll focus on one of them: agile practices on hardware design. As traditional products become more complicated, many engineering firms have been adopting methods to increase productivity and streamline the development process. More software and electronic components are going into mechanical products than ever before, and efficiency is key to delivering quality items on time. This post, the first in the series, looks explicitly at sprints and working prototypes within Agile.
Sprints and Kanban: What are they?
What is Agile exactly? You’ve probably heard the term thrown around a lot recently. Mostly, it’s an approach that was initially created more for software development but is increasingly used in hardware development. It focuses a lot more on collaboration as opposed to a more siloed, traditional approach. The most notable aspect of Agile is the Sprint, which is about two weeks, sometimes more or less, where teams work on a specific goal. In software development, it may be a working piece of code. For hardware, it’s a working prototype.
During this time, a project manager often known as a scrum master is responsible for determining what tasks need completing. Meetings are held every day to decide what goals to attain, and everyone on the team takes on a specific assignment. Instead of certain groups working within their fields of expertise, everyone works across different disciplines. As soon as one task ends, another one is assigned. The same person might be doing something completely different every day. No one person owns a single design. No one person focuses on a specific function. Everyone might be trading off tasks one day to the next. This approach offers flexibility, avoiding the bottlenecks related to a single person. That’s why it is called agile.
Within agile, Kanban is a method for managing tasks within a given Sprint period. It’s a scheduling tool, and it can be a simple whiteboard with sticky notes or something like an online spreadsheet. Tasks get sorted into specific categories, such as “planned,” “in progress,” or “tested.” Kanban was first implemented at Toyota in Japan, to improve manufacturing efficiency.
Sprints and Kanban: The Advantages
Agile methodology may seem chaotic at first, but there are several advantages to using it during the development process. In addition to using time more efficiently, Kanban allows for total transparency while completing tasks. Everyone can see what assignments remain, what’s in progress, and completed tasks. There’s no confusion, and everyone can be held accountable for their work. It’s easy to redistribute work if need be. There’s a lot more room for flexibility, and everyone can use their time in the most efficient way possible.
If all goes well, sprints can essentially accomplish the same amount of work usually done over a few months within a few weeks. Since the periods are much shorter, it’s easier to identify where mistakes occurred. On a standard timeline, checks may not happen until the very end of the development process.
Working Prototypes: What is it?
There’s another exciting aspect to sprints: every one ends with a working prototype. With smart, connected products, that working prototype contains mechanical hardware, electronic hardware, electrical systems, and embedded software. Of course, it’s not quite a fully furnished ready-for-production and testing prototype. It’s more of a hacked together make-it-work-any-way-you-can prototype. You need things that are representative of the design.
For a mechanical component, you might use a 3D printed item that would break easily in real operation, but is good enough to prove out the concept. For a circuit board, you might throw in a raspberry pi and a breadboard. An electrical system might have wires hanging out everywhere, not nicely bundled together harnesses. For software, you might run a simplified UML model instead of compiled code. The point is to get it to work, functionally representing the design to that point.
After completing the first working prototype during the first sprint, you explore more refined definitions of that design, so the design becomes more sophisticated over time. Along the way, you can use digital methods to simulate and assess performance and requirements satisfaction. But at the end of the next sprint, you upgrade that first working prototype.
You might have that mechanism made from laser-cut sheet metal, or you might have a simplified board created for the prototype. This time, you might use compiled code.
Working Prototypes: Advantages
If it fails, and there will be circumstances where it fails, you know the cause of the failure occurred somewhere in between the current and the last working prototype. That narrows your root cause analysis. It’s much easier to narrow your focus on finding the issue and resolve it.
The benefit of sprints is the ability to create a working prototype in a shorter amount of time. You have your first model at the end of the initial sprint, and every subsequent sprint is used to make improvements. Since the scope is so much tighter, it’s much easier to realize advancements faster.
Agile methodologies (particularly Kanban), are more efficient than traditional approaches. They take up less time and allow teams to perform more frequent checks throughout the process. Instead of developing a single high-stakes prototype over a few months, teams can build out smaller, incremental working prototypes every few weeks throughout development. Teams then conduct tune-ups to the prototype in shorter bursts, and progress can be made more quickly, which leads to a better product in the end.