How to Combine Engineering and Software BOMs?

How to Combine Engineering and Software BOMs?


I remember a conversation that happened to me a decade ago with fellow engineer from one of leading telecom companies. The question I asked him was – how do you know what version of software to load into device? The answer was- “Hm… actually we don’t know much about it. It happens magically”. I have to say this company is not doing very well these days. No surprise.

The importance of software lifecycle management is growing enormously. Modern manufacturing products contain mechanical, electronic and software components. To manage data lifecycle for all types of components is getting more and more important.

There are quite many software packages these days to manage software lifecycle. Some of them belongs to respectful software companies and some of them are open source packages. The software category called ALM (Application Lifecycle Management). Navigate to the following wikipedia link if you want to learn more. Here is the definition I captured there:

Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of application software. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, project management, and release management.[1][2]

Recently PLM companies started to be more interested in how to manage software lifecycle too. I can track back PTC MKS acquisition. Also, I was able to Google multiple links about TeamCenter and ALM tools integration. I don’t want to endorse any specific package, so I won’t provide links here. However, you can easy Google them too. I didn’t find any that officially supported by Siemens PLM.

I want to go down from formal ALM marketing buzzwords and speak about Bill of Materials. How software BOM is different from Engineering BOM? Can we use similar tools? Can we share the same set of BOM management practices when it comes to software compared to components? How we can present overall product lifecycle? Browsing various forums, I found an interesting passage on Jboss forum about how to use bom with Maven:

A bom is a so called bill of materials – it bundles several dependencies to assure that the versions will work together. JBoss has boms for many of it’s projects, including Arquillian and the JBoss AS itself.

The statement made me think how actually engineering BOM can be different from software BOM in terms of product lifecycle management as well as how both software components can (or should) appear in unified bill of materials and, even broadly, should we have unified BOM containing mechanical and software components?

My attention caught The Manufacturer article Silos changing: PLM and ALM for Smart Products. Article speaks about how to merge together both application lifecycle and “traditional product lifecyce”. The following passage seems to be interesting:

Until now, software engineers have tended to use their own design management tools such as Rational DOORS for requirements management; Rational ClearCase for Software Configuration Management and HP Quality Center for Testing. These tools are often bundled together as the Application Lifecycle Management (ALM) category.  Physical product design teams for the other disciplines have used Product Lifecycle Management (PLM) tools for design management.

We can confidently say that no single vendor provides every design management and design development tool needed in a single suite. That means there will have to be a best of breed approach. There are several issues to consider. Where is the master of the product requirements maintained? Should the change management of software and physical artefacts be combined in a single system? How will derived requirements such as signals and dependencies between software and hardware components be managed? How will product variants be handled?

PTC’s purchase of MKS and its Integrity product line provides, for the first time, a single vendor PLM and ALM solution.

The following link leads to PTC Integrity software white paper (formerly acquired MKS). I downloaded ebook for free. It doesn’t contain any word about software bill of materials (BOM). There are bunch of quite useful information about value proposition behind ALM. I was looking for something that can hint how we can have unified product lifecycle and representaiton of information between Product Link and Integrity. Here is what I found.

PTC Integrity has an open architecture that integrates disparate tools into a streamlined engineering process, allowing orchestration of engineering change and collaboration across the technology supply chain. With PTC Integrity, engineering teams improve productivity and quality, streamline compliance, and gain complete product visibility, which ultimately drive more innovative products into the market.

Unfortunately, it doesn’t say much about combined BOM usage.

What is my conclusion? I wonder if manufacturers are interested to have unified product lifecycle management for both (more traditional) mechanical and electro-mechanical parts combined together with software bill of material. From traceability and completeness standpoint it sounds reasonable and logical to me. However, open publications didn’t bring much examples of such usage. Just my thoughts. I’m looking forward to discuss it online.

Best, Oleg


Share This Post

  • Navdeep

    Hi Oleg, Loved your quote on the said telecom company, no doubt they are where they are. Software content lifecycle management (ALM) is as important as the HW parts itself, We at Dell are already taking care of the Unified BOM Structure and ALM and we have managed this all on Oracle Agile PLM (this solution which we’re also providing in our Solution Kit offering to Market). Also having got this recognized in IDC report on “Best Practices in PLM” (#AP9397218V) that covers Dell’s Oracle Agile PLM Case Study ( Refer pg-12,13). This Experience of Manageing the Unified BOM makes Whole PLM experience Complete not only for the PG for also for the Downstreams getting a Complete View of the BOM Information.

  • beyondplm

    Navdeep, thanks for your comment and reference to IDC report. IDC is selling it on the website – 18 pages for $4500. Sounds like a good business if somebody will buy :). I’ve heard lots of good references on management of BOM using Agile in electronic industry. Are you using special package in Agile that helps you to include software content or you just open PN for software deliveries in Agile PLM? What ALM tool are you using in parallel? Thanks, Oleg

  • Navdeep

    @Oleg ,all I can say at this point is that we have it managed it all efficiently with Dell Integrated Solutions Kit (DISK) offering for Agile PLM and we’re not using any other 3rd Party tool from the Market 🙂

    and $4500 is too much!

  • beyondplm

    Thank you!

  • Pingback: Will PLM IoT self-update your cars over-the-air?()

  • Jaideep

    Hello Navdeep,
    This is very interesting to know that there is a PLM tool which is evidently leading the pack by providing such a concept as to having a Unified BOM for software and hardware components.
    I am only bitten by the curiosity to know how it is really handled (BOM-Unification) within the tool. What would be considered as the components when dealing with software BOMs. Should we be looking forward to a techpaper from you ?? 🙂 You could otherwise direct me to some references.
    Much appreciated. Thanks, Jaideep

  • beyondplm

    Jaideep, thanks for the question! Actually, I haven’t seen PLM tool preconfigured for such type of use. So, I’m clearly looking for one. I can guess, for example, that regular BOM module can reference to software components (managed by Rational or another SCM?). I believe this is type of integration people are talking about. The tricky part in this type of integration and synchronious lifecycle of software and hw components. Another (not software), but similar pattern I’ve seen in the integration of Enovia Design Sync (formerly MatrixOne Syncrhonicity), which integrates PLM data with Cadence files. As I mentioned in the post, MKS is probably the only one OOTB product that provided by single PLM vendor.

  • Jaideep

    Thanks Oleg. That does throw a bit of more light in this unknown realm. Correct me if I am wrong in understanding this – So the software components instead of being handled within the PLM environment would reside in another environment, but would have their lifecycles governed by the HW components sourced from the original PLM environ ?
    It would be great to see what the Agile PLM brings to the table in this aspect of handling all this in the same environment.

  • beyondplm

    Yes, that’s how I understood most of HW/SW lifecycle integrations. I never had a chance to put my hands on Windchill/MKS. PTC planned to have very deep lifecycle integration based on the announcements they’ve made.

  • Jaideep

    Ok. I hope Navdeep does read the post and lets us know something substantial then ! 🙂

  • Pingback: Tesla, iPad on wheels and BOM management complexity()

  • Pingback: Tesla, iPad on wheels and BOM management complexity | Daily PLM Think Tank Blog()

  • Pingback: PLM and Entire System Common Data Model()

  • Pingback: Beyond PLM (Product Lifecycle Management) Blog » PLM and ALM trajectories – integrated system development()

  • Pingback: PLM and ALM trajectories – integrated system development | Daily PLM Think Tank Blog()

  • Pingback: Beyond PLM (Product Lifecycle Management) Blog » What process can connect PLM and ALM tools?()

  • Ashu

    The definition of ALM above (Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of application software. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, project management, and release management.[1][2]) gives [1] [2] as citation. Where is [1] & [2]? Whose definition is this could you please clarify.

  • Ashu

    Oops Sorry, I missed the link provided to Wiki. Thanks

  • beyondplm

    You’re welcome!