Over the last decade, we have seen products become more intelligent and connected to the Internet, even products that would previously have been considered “mechanical.” Automobiles, household appliances, industrial appliances and other products that few would consider “soft,” today increasingly rely on embedded software for successful operation.
Increasing Software Content Leads to Increased Complexity
Software was first introduced to mechanical products for control. Embedded software and systems replaced mechanical control units leading to more efficient products and higher long-term reliability. Today, embedded systems allow product operation and behavior to be configured in software after the product is deployed, meaning fewer physical variants need to be manufactured. Many features for increased convenience that are available in modern products are also software-based, such as Internet and cloud connectivity.
The ability to offer more options and increased convenience have proven to be competitive differentiators. It has also led to increased demand from customers for more customization and personalization options, as well as demand for new consumption models based on usage, leasing and subscriptions rather than ownership. However, more software content also means increased complexity, not only in product development, but also in product sales and service.
As Figure 1 shows, this is leading to an increase in the software content in products, with automobiles the clear example. This means more effort and resources on software development needs to be coordinated with hardware product development. It also means more customization options, software parameters and product configuration variants to manage across multiple product versions and releases. Managing all of these options is leading to higher complexity in not only product development, but also sales and service.
Increasing Complexity in the Design and Development Process
Software development is now consuming a large part, if not the largest part, of product development resources, posing a challenge to manage and integrate product and software development. Products can now be “software-defined” through selection of product configuration options in software. However, all of these product configuration options need to be designed and validated before deployment.
Traditionally, product development teams have relied on Computer Animated Design (CAD) and Product Lifecycle Management (PLM) systems to manage product design and development efforts. However, with software development efforts at least as large, if not larger, than product development, integration of CAD and PLM with systems for managing software development, like Application Lifecycle Management (ALM) systems, is equally important.
The product design and development processes for software and hardware need to progress in lockstep to ensure that the entire product works properly. This also means that all potential product configuration options in both hardware and software need to be considered up-front, as making changes once a product is released can cost up to 1,000 times more to implement (see Figure 2).
Increasing Complexity in Product Sales and Service
Understanding all the product options available, and how to configure products, becomes a challenge. Customers want the ability to customize their products, and software-defined product configuration makes this possible. But customers need to know if the product configuration choices they make are valid and can be delivered. This is the case for customers working with a sales representative to configure their product choices, as well as customers configuring the product online on an eCommerce website.
Servicing software-defined products is also a challenge. Available configuration options must match the specific version to be serviced. Replacement options need to be valid and delivered promptly to address service issues.
One of the critical capabilities required to address the complexity challenges that software-defined products introduce is the ability to manage the potentially millions of product configuration options over the lifetime of the product and across multiple product versions. This is where Configuration Lifecycle Management (CLM) provides a compelling solution.
Understanding the Software-Defined Complexity Challenge in the Automotive Industry
To understand the challenges arising from software-defined configuration, and the increase in software content in general, let’s take a look at the automotive industry.
Most people are familiar with automobiles and have experienced the evolution of features over the last decades. Mechanical controls have been replaced by electronic controls, along with a network of advanced sensors providing real-time feedback and information. This includes camera-assisted parking as well as advanced safety systems that can detect potential hazards and pedestrians. Infotainment systems have also advanced from AM radios to Apple-Play integration with iPhones. The next frontier is autonomous vehicles with cloud connectivity.
This has led to a dramatic increase in the software content in automobiles as previously shown in Figure 1.
Automobile buyers are also familiar with online tools that enable configuration of the automobile based on a variety of options such as color, engine type, accessories and more. There are also financing options as well as service package options. Most automobile brands also provide smartphone apps that enable communication with automobiles to get information on the vehicle, usage statistics and even information on past trips with a rating of driver performance.
But all this flexibility and service comes at a complexity cost that needs to be managed in a highly competitive and extremely cost-conscious market.
Product Development Complexity
The complexity of managing new product development, and software development specifically, can be viewed at two levels:
- Software Modules that can be included or not included in specific models, as well as the dependencies between these software modules
- Software Parameters that depend on specific configurations, and include dependencies between software parameters that change with each choice and software parameter setting
In automobile design, an example of a software module can be the navigation software associated with the navigation system console. The choice of navigation system and console, however, can influence the software module controlling the steering wheel if the customer wants to control the navigation system from the steering wheel.
Software parameters are related to additional capabilities that customers can choose, such as the dynamic steering option. This option needs to be included in the list of options available in the driving display to enable selection and control during driving.
The software modules and parameter choices available in a specific model variant, and across a product line, need to be considered and managed during design and development. Product management needs the flexibility to add, move and remove options to specific automobile models and variants across the product line in order to find the right balance between price, cost and feature availability. This leads to dynamic changes that need to be simultaneously managed in both hardware and software development processes.
Sales and Service Complexity
Many automobile buyers are now familiar with configurator tools that allow them to configure their specific model based on a list of available choices. Ideally, when this configuration is complete, either the customer, or the sales representative assisting the customer, places the order for the automobile with an immediate forecast on the delivery date.
Customers should only be presented valid and deliverable options. The rules governing which options are presented, as well as dependencies between software modules and software parameters, are affected by each choice the customer makes. For the configurator to be useful, it must be immediately responsive and reliable.
Servicing automobiles has also become more complex. Automobiles now include a complicated network of sensors and electronic actuators, as well as electronically controlled engines, that make servicing more complex.
Service technicians need access to reliable and up-to-date information on all relevant systems, modules and parameter choices relevant to the specific model. This includes information on availability of replacements and any knowledge-base information related to the specific model. This information must also be maintained and available for as long as the model is being used by drivers, which could be several decades.
Other Industry Examples
Automobiles have often been used as an example of the complexity that software-defined product configuration choices introduce in design, development, sales and service. But other products are facing similar trends and challenges.
Home heating systems are becoming more intelligent and connected to the Internet in line with other home appliances. The emergence of the “smart home” where all home appliances can be controlled via smartphones and tablets or even voice-activated systems like Google Alexa and Apple Siri.
Smart homes need to be supplied with electricity, and in this industry, we are also seeing the software content of products increasing. For example, AC-to-AC power frequency converters now include a variety of software parameters to allow smarter configuration, but also complex dependencies that need to be managed. In Figure 7, we can see an extract from the Danfoss VLT© frequency converter documentation that makes reference to other software parameter dependencies when selecting the motor frequency value, and how the motor current and nominal speed parameters are used to calculate torque, motor overload protection and other motor compensations.
As these two additional examples show, we are likely to see an increase in the software content in products as they become more connected and intelligent. Managing the complexity that this introduces, from product design to sales and service, requires new solutions.
Addressing Complexity With Configuration Lifecycle Management
Configuration Lifecycle Management (CLM) is focused on the management of product configuration options over the lifetime of a product across product variants and versions. CLM solutions are designed for speed and scale, enabling specific product configuration selections to be validated against millions of potential product configuration options with immediate response. The potential product configuration options are updated with real-time information on the availability of specific modules, parameters, components, material, pricing, sales terms or any other options that dictate the ability of the organization to deliver the specific product configuration to the customer.
CLM for Product and Software Design and Development
CLM is a model-based solution that is separate from existing systems and can thereby scale independently. The model, optimized for managing and searching amongst millions of configurations, is regularly updated with new product design options and other information from systems like PLM. This enables the CLM system to become a repository of product configuration information that can be used by PLM systems, but also ALM systems, as a single-source-of-truth for product configuration options across multiple product versions.
CLM provides a reliable overview of product configuration options and can be used by product designers to model and test options earlier, to avoid costly redesigns later in the product lifecycle. This is also helped by the opportunity for closer collaboration on product design between hardware and software groups as product configuration options, driven by software-defined modules and parameters, can be jointly defined and independently maintained. It also enables earlier collaboration with documentation, testing, manufacturing, logistics, marketing, sales and service as all of these teams can gain access to production configuration options early and be immediately notified of changes. The input and feedback provided by other teams can identify design issues much earlier, leading to shorter lead times and lower product costs over the lifetime of the product.
CLM provides product managers with the flexibility and overview they need to plan their product portfolio. Feedback from other departments on the cost of materials and manufacturing for specific product configurations, along with the cost of servicing product configurations, can be compared with the popularity and profitability of specific configurations.
CLM for Marketing, Sales and Service
Marketing, sales and service organizations rely on systems like ERP and CRM to manage product pricing, marketing campaigns and sales and service tools. There are a range of product configuration options that are relevant to these departments that are not necessarily captured in product design.
For example, pricing, discounts and contractual terms are not within the scope of product design but are important marketing and sales product configuration options. These options need to be presented to customers when configuring their desired products during the buying process so they can immediately see the financial implications of choosing specific product configuration options.
CLM allows additional product configuration options to be added to the model for marketing, sales and service, with views tailored to specific roles so that non-relevant options are not presented to users with roles that do not need to see them. This allows each department to have their own, relevant, customized view of product configuration options.
CLM Manages the Complexity of Modern Products
CLM is specifically designed for managing the complexity that software-defined configuration and customization introduces in a way that does not interfere with existing systems and processes. Nevertheless, it provides a foundation for closer collaboration that can lead to more effective, profitable and valuable product designs.