Managing Complexity in Software-Intensive Products: A Systems Engineering Approach

The trend toward software-driven capabilities will likely continue and perhaps accelerate. The benefits are just too compelling, and traditional products will have a hard time competing against ‘smarter’ products. Mechatronics is here to stay. So engineering and product development teams have to learn systems engineering approaches and how to manage the complexity of multi-discipline design.

This is how founder and president of research firm Tech-Clarity summed recent research on complexity and opportunity in the mechatronic era.

In this, the second in a three-part series on managing complexity in the development of software-intensive products, we’ll take a closer look at the challenges of software-intensive products, and how a systems engineering approach can work for you.

Engineering organizations typically aren’t set up to aren’t set up to handle software-intensive products well. They continue to rely on traditional development models with distinct engineering teams defined by individual disciplines, all working primarily within their own silos. And that’s why their singular development processes, performed in isolation, can so often yield more in the ways of inefficiency than innovation.

These scenarios are familiar to many of us:

  • Each team works mostly on their own to deliver their assigned designs and code.
  • The product’s pieces aren’t brought together for testing at the system level until late in the development cycle. Then rework is often required.
  • This results in a test-fix cycle that’s time-consuming and expensive enough the first time through – and much more costly when it needs to be repeated again and again.

The downstream impacts may be worse. Soaring rework costs can break the development budget. Product releases may be delayed. If a faulty product should go to market, the recalls required can lay waste to customer satisfaction and brand equity.

Yet the “divide and conquer” structure persists in most engineering organizations today. This impedes manufacturers’ ability to bring smarter products to market faster. Working in single-discipline silos, engineering teams simply can’t command the added complications of developing software-intensive products to the levels of innovation, performance, and reliability required. They’re not organized to effectively manage design challenges that are fundamentally cross-discipline and holistic in nature.

A systems engineering approach

Development of software-intensive products crossed an invisible complexity threshold years ago. Now, traditional waterfall systems engineering practices are failing to identify and drive out the most critical design risks early enough in the development cycle. This must change. Traditional engineering practices, optimized for hardware design, are no longer the best practices when software increasingly drives the product.

“The key to success,” writes Tech-Clarity’s Brown, “is integrating design and product development processes in a systems view.” Brown’s bottom line: A true systems engineering approach—multi-disciplinary, coordinated, and iterative—will be needed for manufacturers to gain control of the new layers of complexity in smart product design.

Schedules cut by 40 percent or more

Software design complexity is unlike mechanical design complexity. In fact, software engineering relates more closely to systems engineering than hardware engineering in many ways. Leaders in the systems and software engineering professions have long recognized this.

The similarity of software to systems isn’t merely coincidental. It grows from the realization that software, by its special nature, should be treated as a system in nearly every aspect of its development – from basic architecture and design to modeling, simulation, development, testing, implementation, maintenance, and refinement.

So, as products grow more and more dependent on embedded software, the links between systems engineering and software engineering should become clearer still. Systems and software engineers will increasingly share each other’s methods and tools.

And that should be for the better. As experts have noted, systems engineering is adding greater value to product development than ever before. It “correlates to shorter schedules by 40 percent or more, even in the face of greater complexity.”

Look to the third and final part in this series of blog posts for real-world success stories from leading manufacturers using the systems engineering approach to manage complexity and optimize their opportunities in software-intensive product development.

Related Articles:

This entry was posted in Application Lifecycle Management, Best Practices and tagged , , . Bookmark the permalink.

2 thoughts on “Managing Complexity in Software-Intensive Products: A Systems Engineering Approach”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s