close Visitor Edition

The McKinsey Quarterly is the business journal of McKinsey & Company. Register now for immediate access to hundreds of articles.

Register to read this article

  • Text Size
  • Print
  • Download PDF
  • Link to This

Getting better software into manufactured products

The problems of embedded software are rooted in the legacies of hardware development.

MARCH 2006 • Wolfgang Huhn and Marcus Schaper

High Tech, Software Article, embedded software

In This Article

Software development increasingly dominates the engineering process in consumer and industrial products as small as cell phones, as commonplace as washing machines and automobiles, and as large as farm equipment, mining tools, and airplanes. At companies that once focused largely on the mechanics of hardware, the primary challenge today is developing high-quality, reliable software to embed in these products. Siemens, for example, now employs more software engineers in its high-tech businesses than do large software companies such as Microsoft, Oracle, or SAP. The focus and value in engineered products is shifting from chips to code.

As the focus shifts, companies accustomed to managing the development of their hardware need to learn new processes and metrics for managing the development of software so that they can make the process more productive and the software more reliable. Hardware typically involves much less uncertainty about how the elements of a system work together: something connects or it doesn't. Software development involves shades of gray. Because there are more levels of connectivity and greater integration with other systems, it's often hard to uncover all of the side effects during the testing stage.

Automobiles make a good case study for demonstrating the challenges of this...

Free Membership

As a free member you can also:

  • Read hundreds of free articles
  • Receive e-mail newsletters and alerts
  • Search our archive

Simply fill in this form

View our privacy policy.
We will not share your e-mail. See details.

* Required

New In: