Why hardware development takes so long? What can we do about it?
Before going any further, I must highlight that title is written under the assumption that you want to do the hardware development properly.
For those who are convinced that it can be fast, I must also say that they could be right. There are always ways to cut corners and make compromises on final quality, reliability, functionality, production costs, expensive returns, brand reputation, and the number of angry users in the field.
“Let’s reduce testing”
As someone who lives from hardware development, we are under constant pressure to comply with the client’s request to shorten the development cycle.
Many of our clients are from the software world, “spoiled” by agile sprints and 2 weeks release cycles. It is often a big shock when they get in touch with hardware development for the first time
“How can we make it faster? Why do we need so much testing? Can we just roll it to the field and see what happens?” These are the client’s questions that keep my team awake at night.
It is always a challenge to help the client go fast enough, within limited budgets and time, while preventing them from making an expensive product disaster party.
“You are so waterfall!” – One of the worst swears from the software world
I got used to this one over time. It makes me laugh nowadays when someone accuses me of being a dinosaur who follows the waterfall software development model of the bad old days. Unfortunately, there is no right way to apply Agile software development techniques to hardware development, both from a speed and work breakdown point.
What makes the development process long?
Hardware product requires multiple parts to fit together, while each piece is being designed separately. Sometimes by different companies, specialized in different areas that may have challenges understanding each other (e.g., mechanical design, electromechanical, electronics, firmware, software).
Also, even if run in parallel, not all designs take the same time and effort. It can happen that the electronics team is waiting for enclosure details to complete the PCB design. It often requires compromises and going back and forth by both sides (e.g., do we risk antenna performance for beautiful enclosure or we get the bulky enclosure, but higher radio range).
All parts need to be designed, procured and tested, but then integrated into the final product and tested as a whole system. And it goes like that in several iterations.
Long lead times for custom parts (custom enclosures, plastic molds, batteries, PCBA, cable harnessing)
Dependencies that cannot be run in parallel (prototyping, integration, testing, debugging, iterating designs)
System integration is always longer than planned (software integration, enclosure, mechanics)
Setting up production, tooling and assembly process is time-consuming and expensive.
Last but not least, electronic products must meet safety and regulatory compliance requirements before they can be sold legally.
All of these items contribute to making hardware development slow and expensive.
For anyone venturing into hardware product development, it is necessary to get familiar with phases in the process to be able to anticipate realistic timelines and budgets so that the product can be successfully put on the market.
What can we do to accelerate development?
One way to shorten project durations and to cut project costs is to rely on existing building blocks. Building blocks are designs from previous or other developments that can be re-used in your new design.
We, at ARS Embedded Systems, use various types of building blocks (controllers, chargers, communications, sensors, firmware, etc.) to speed up, lower costs, and increase the quality of custom developments we do for our clients.
This approach enables us to accelerate the development of the new electronic product, reduce development cost and time while minimizing technology risks related to new product development.