Software-intensive products are growing so rapidly that many manufacturers now employ more software engineers in product development than in their IT departments. Many have more software engineers than mechanical engineers.
This is the first in a three-part series on managing complexity in the development of software-intensive products.
Smart products, driven by software, are everywhere, from automobiles and aircraft to household appliances and children’s toys. Software offers limitless opportunity for innovation. It is, in the words of Jim Brown, founder and president of research firm Tech-Clarity, “the new frontier of competition.” Smart products, he asserts, give manufacturers big market advantages:
- Software-intensive products are more agile and flexible. They can be tightly tailored to specific customer needs and wants.
- Software-intensive products can be rapidly updated and even enhanced with new functionality at any stage of development or usage.
- Smart products depend less on the manufacturing process itself.
- Reuse increases. It’s easier to change smart products in the field.
- Product development cost and product cost overall can be lower for software-intensive products.
Whereas hardware design must be locked down early in the product development process, the software driving smart products can remain flexible until the late development stages. Software can then continue to evolve in manufacturing, with little incremental cost. During service in the field, software fixes can happen quickly and relatively inexpensively. New software features and upgrades can be added indefinitely, while hardware wears out and typically costs much more to repair.
And so, as the lines of embedded code keep multiplying, the smart products we rely on every day become smarter and smarter still. Yet this also points to one of the biggest challenges faced by manufacturers as they increase their investments in software-intensive products. The product development process has never been so complicated.
It’s harder to do… everything
Smart products are simply different from traditional mechanical or mechatronic devices. They’re designed differently and their designs are much more complex. It’s precisely this added complexity that makes the processes of developing, manufacturing, and servicing software-intensive products more difficult to manage effectively. Consider:
- Software development is harder to plan, estimate, and measure than mechanical product development. It takes more effort.
- Software-driven risk is harder to identify and mitigate.
- Software defects are harder to anticipate and find – and thus quality is harder to measure and ensure.
- Software change is harder to plan, estimate, and measure.
- Software change occurs at much greater frequency than hardware change. It’s harder to manage using conventional engineering change management processes and tools.
And “harder” can hurt. In a 2012 study, Tech-Clarity Perspective: Developing Software-Intensive Products, 100 surveyed manufacturers identified these problems as being more prevalent when products are software-intensive:
- Product quality issues
- Delayed time-to-market
- Increased rework and redesign
- Higher production development costs
- Poor software development efficiency
But “harder” also has its rewards. In part two of this series, we’ll explore how the smartest of smart product manufacturers apply a systems engineering approach—multi-disciplinary, coordinated, and iterative—to manage complexities and speed product innovation.