People say that hardware is hard. It is.
But what is it harder than? And why is it harder? After all, when it comes to creation, it is one of the first things that humanity made. Hardware, in its essential form, predates software, art, philosophy, agriculture, and even language.
When we hear “hardware is hard”, it sometimes comes from the Silicon Valley tech community which is comparing it to modern software systems. So it is worth doing a side-by-side comparison.
One bug in hardware is one too many. The unforgivable nature of hardware compared to software is probably the most difficult aspect of hardware. Once a hardware product is commercialized, it’s very hard to push a bug fix or deploy an improvement that regains customer trust. Additionally, hardware “upgrades” often bear significant costs, whereas software updates are seamlessly pushed to the end-user at little to no cost.
A more recent example of the impact on the end user is the critical AWS outage last year that affected many critical services. Despite disrupting the workflows of many systems, it was forgotten a few weeks later and overlooked by most consumers. On the flip side, if someone mentions Toyota, everyone remembers the massive recall, which cost the company billions of dollars and tremendous amounts of time.
Disconnected development and operational phases
The unforgivable nature of hardware deployment is pretty clear, but the siloed processes for design, manufacturing , and operations are less obvious. This difference might surprise software developers who built their careers after the Agile and DevOps revolutions had overtaken the industry.
The traditional “Waterfall” development methodology is still very much alive in the hardware industry, where design, manufacturing, test, quality, and operations engineers sit within different teams with different motivations.
Lack of process feedback loops
The separation of disciplines in hardware has forced the development cycle to become extremely linear compared to software. Specifically, after a long cycle of preliminary and cumulative design reviews, a product that is deemed worthy to move to the next phase of the development process often does not come back to previous phases. This is because once the responsibility of a part is shifted from one engineer to another, organizations struggle to create transparency across departments and individuals; consequently, a product that is difficult to manufacture often never goes back to the drawing board to be improved.
Instead, it will be an open wound until a “tipping point” where the part is entirely redesigned and launched as a “2.0” version.
Contrast this with software. A beautiful concert of local unit tests, continuous integration, continuous deployment, continuous delivery, user experience testing, and application performance monitoring work end-to-end to detect and respond to problems before they affect the end user. These processes are able to point out the specific code commit which caused a bug. In a healthy software organization, none of these checkpoints are skipped for even the most minor code change.
In hardware, the initial design may go through an exhaustive design review, modeling, simulation, costing, and risk assessment. However, minor upgrades may come through a different discipline (e.g. a manufacturing engineer), and those upgrades will not go through the exhaustive checks that the initial design went through. These “improvements” could end up causing more problems downstream, and most organizations lose track of the cause(s) entirely.
…and most organizations lose track of the cause(s) entirely.
The differences between software and hardware have major implications for companies that build hardware. The companies that we work with are in the position of developing complex hardware and software systems which must survive in extreme conditions. Even for teams with large budgets, communication and testing loops are tests of patience. As the market continues to innovate, the timeline for getting hardware into the field means a constant push and pull for quality and schedule.
Over the coming months, we’ll be exploring such topics in more depth. We’re fascinated by ambitious undertakings that challenge the status quo — from on-demand rockets, to flying cars, to pervasive robotics. Through our own observations as well as through interviews with industry experts, we’re looking forward to uncovering the challenges — and successes — in the next chapter of humankind’s interactions with the world.