Long time ago, I visited a large company building mobile phones. One of the questions that was asked in the conversation – how you ensure what version of software is delivered to each device triggered debates and long conversation. The conclusion was that it is really hard to say, but somehow “magically” it is happening. Fast forward two decades, I can see the question about intersection of software development and product lifecycle management as one of the most critical.
A few articles from the past – How to combine engineering and software BOM? and Software BOM – what is the path towards the open shared digital ingredient software library?
In today’s rapidly evolving technological landscape, the complexity of modern products has reached unprecedented levels. A key driving force behind this complexity is software. Software is no longer just an “additional thing” but an integral and inseparable part of product design.
In this blog, we will explore the importance of Software Bill of Materials (BOM) management in modern products and how it is reshaping the way we design, build, and maintain products.
The Importance of Software in Product Definition
In the past, software was often an afterthought in product development. However, as technology continues to advance, software has become a fundamental component of virtually all products. Whether it’s a smartphone, a car, a household appliance, or even an industrial machine, software plays a critical role in defining the product’s functionality and features.
To address the complexity of software-based product configurations, it’s essential to consider software as part of the product definition from the very beginning of the design process. This approach ensures that software requirements are well-integrated with hardware, allowing for better coordination and alignment of all components.
The challenge in the above is current product lifecycle management (PLM) architecture and product data management. Most of the systems used in product development process are siloed. Mechanical engineers are using their systems, ECAD/PCB uses their own databases and software development uses their own systems. As a result the data is extremely siloed. To solve this problem, modern PLM software needs to develop systems and data models to be able to combine multiple silos in a single multi-discipline product information sets.
Complexity of Software-Based Product Configurations
Modern products often come in various configurations and options to meet diverse customer needs. Managing these configurations can be extremely challenging, particularly when software is involved. Software can enable or disable features, change user interfaces, or even alter the behavior of a product. This complexity requires a comprehensive understanding of how different software components interact with hardware and with each other.
One of the biggest challenges here is related the the lifecycle of products and configurations. The time driven aspect of hardware and software development is different, teams are working separately, but also must collaborate and communicate together.
However, one of the biggest complexity is how to manage configurable products with software options that can impact functional scope of the systems. Identification of products and their ability to impact product configurations using software is unprecedented these days. To include this information into product lifecycle definition is a very complex tasks for data management systems.
Changes in Software and Their Impact
Software is dynamic and continually evolving. Updates, bug fixes, and new features are regularly introduced. When software changes, it can have a significant impact on the product as a whole. Even minor software updates can necessitate changes in the hardware components or configurations. This creates a unique challenge for managing changes in products that have already been built and deployed.
Fixing bugs, software improvements and future enablement of features in the products that already released is the highest level of complexity that must be resolved by modern PLM systems. How to treat system identification for products that using software already after these products were deployed to customers. This is another aspect of product lifecycle management complexity and system software.
Software and Maintenance BOM
Traditionally, BOMs were associated mainly with hardware components. However, in the context of modern products, it’s crucial to have a dedicated Software BOM that documents all software elements. This includes operating systems, drivers, middleware, and application software. The Software BOM helps in tracking software versions, dependencies, and changes making it easier to manage updates and ensure compliance.
Maintenance BOM is not only about how to replace hardware these days, but also about how to mainteain complete system software, software code, finally to update the computer system that is part of product used by a customer. Some of the problems can be solved by software code only, but some others requires replacement of computer hardware and supply chain management.
What is my conclusion?
Software is transforming the product lifecycle as we know it. Its critical role in product design, configuration management, and maintenance cannot be overstated. To keep pace with this transformation, traditional static product structures and BOMs are becoming outdated.
Modern BOM software and PLM tools including data management and data structures capable to include both combinations of hardware, electronics and software are essential to effectively manage software within products.
An important element of this PLM and software programs is the ability to mix data definitions and change process for both hardware and software products. To do so, we need to move beyond traditional document management with “MCAD documents”, “PCB documents” and “software documents”. There is a need to make software and computer progress a first citizen in BOM and product information data models. Moving from documents to data allows for real-time updates, accurate tracking, and better integration between hardware and software components. This shift also necessitates new change management practices that prioritize agility and flexibility.
In the evolving landscape of modern products, software BOM management is not just a best practice; it’s a necessity. Embracing software as an integral part of the product definition and implementing robust software BOM management processes will be key to staying competitive and meeting customer demands in the modern market.
Just my thoughts…
Disclaimer: I’m co-founder and CEO of OpenBOM developing a digital thread platform including PDM/PLM and ERP capabilities that manages product data and connects manufacturers, construction companies, and their supply chain networks. My opinion can be unintentionally biased.