Product lifecycle management has transformed the way many manufacturing companies develop products. Now it's time we apply it to software development.
It's rare these days to find a high-tech product that doesn't rely on embedded software to function. So imagine what happens when software malfunctions. Everything from your coffeemaker to your PC to your car can be shut down in an instant due to a software glitch.
When products are already on the market, fixing malfunctions can require a costly remedy, usually a recall. For example, Segway recalled 23,500 Personal Transporters when a software problem caused the devices to unexpectedly reverse.
Software problems also affect products while they're in development. It's often a software problem that delays a product launch, for instance, creating a huge missed opportunity for marketshare and revenues. Sometimes the delays are caused by software not working correctly when it's merged with the rest of the product, or it could be due to design changes that weren't well communicated during the development process. Note that software development work is often performed separately from the design of the product's mechanical and electronic content. Other times, the software simply takes longer to create than anticipated. Software development often starts relatively late in the product development cycle even though it's the element with the longest lead time.
In an industry that lives and dies on the ability to be first to market with a new product, problems with software development are a serious concern. With manufacturing and, increasingly, design of high-tech products moving offshore, embedded software is now the biggest intellectual property asset in high-tech/electronics products. Yet it's no secret that developing this critical product component has become a problem for the industry.
Product lifecycle management (PLM), which has transformed the way many manufacturing companies develop products, hasn't traditionally been applied to software development. A few companies have begun to use PLM for this, but in the limited way of early PLM implementations–focusing on document management and bill-of-material (BOM) control. A more comprehensive use of PLM not only offers a solution to the problems of creating embedded software, it can fundamentally transform how high-tech companies develop, manufacture, and maintain their physical products by integrating the software lifecycle with the product development and support lifecycle.
Treat software as a product
To understand how this is possible, it helps to think of software, even embedded software, as a product in itself. In this sense, it has its own lifecycle consisting of the same stages involved in creating a physical product: planning (capturing requirements and system engineering), development (writing the code), testing (and debugging), deployment (integration with the other elements of the product), and maintenance (keeping software revisions up to date with other component changes).
Over the years, PLM technology has become capable of supporting the entire product development process, delivering specific functionality for every stage in the lifecycle, from systems engineering all the way through to maintenance, repair, and overhaul. Product data management (PDM) software is needed to manage workflows and provide the infrastructure for the global collaboration required of today's product development process. So it requires no stretch of imagination to understand that if PLM functionality can be used to manage the physical product lifecycle, it can manage the software product lifecycle as well. And while this is a more comprehensive use of PLM technology than simply managing documents and BOMs, it's still just the starting point for how PLM can support high-tech companies in creating what must ultimately be a flawless integration of mechanics, electronics, and software.Uniting the pieces
Integrating software development with the rest of the product development process is something companies have been working on for some time because it's such a clear need for those in the high-tech and electronics sectors. Additionally, automotive and aerospace companies are developing as much, if not more, embedded code.
Previously, software development occurred separately from mechanical and electronics systems engineering because there was no way to work with software, mechanical, and electronic components together as one system. Today, industry leaders are creating a whole new PLM functionality that permits the integration of the design, testing, and management of all three components from the beginning of the development process.
Forward-thinking companies are already taking advantage of this new functionality to gain a competitive edge. A computer peripheral manufacturer, for example, is using PDM software to control software as part of the deliverable product. A network equipment maker is using PDM software to manage the software development process and all of the artifacts and deliverables.
A model-driven development (MDD) environment is a key element of the approach. Many companies are turning to MDD as a way to cope with the increasing complexity and volume of code they must generate. What the industry is now doing is integrating MDD with the systems engineering functionality of a PDM portfolio, making it possible to link hardware and electronics specs to related software code. Imagine choosing an electronics component during the systems engineering phase of product development and having the appropriate blocks of existing code immediately identified for possible reuse. That's the sort of integration that's possible with PLM.
A computer-aided software engineering (CASE) tool manages the software development process, including version control, workspace management, process control, and so on. By integrating CASE functionality with PDM software, all the meta data about the software development process is available to users. One result is that the software's status becomes visible to management. It also means that the software development process becomes part of PDM-managed workflows. With the PDM portfolio handling the engineering change process, for example, mechanical or electronic changes that affect software are immediately communicated to appropriate developers. PDM provides the digital backbone to synchronize and maintain configuration control of the software with the hardware information.
These are just two examples of the behind-the-scenes work companies are doing on their PDM portfolio to integrate software development into the overall product-development process. The goal for software development is no different from what a company strives to deliver with every PLM solution created–a customers' success. By enabling a more integrated, holistic product development process that now includes the critical software component, companies that adopt this PLM approach are benefiting by delivering innovative products to market ahead of the competition.
Tom Maurer is senior director for Siemens PLM Software's High Tech and Electronics industry organization. His responsibilities include working with strategic customers and alignment of customer and market requirements with product and solution planning across the Siemens PLM portfolio. Maurer can be reached at .