How to Combine Engineering and Software BOMs?

PLM-ALM-software-BOM

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

About these ads

2 Responses to How to Combine Engineering and Software BOMs?

  1. Hello Oleg,

    This is such an interesting topic. ALM and configuration management become more and more critical as we venture into
    “the Internet of Things”. Imagine the possibilities for small discrepancies between releases of internet-enabled products as they proliferate and how these small differences could snowball into large problems.

    Just yesterday, my wife called to tell me that all of the contacts on her iPhone ‘disappeared’. I googled ‘contact list disappeared’ and found many entries where people had the same event happen to them. In our case, a reboot of the phone brought everything back.

    I imagine there was something deep in the bowels of IOS, some incompatibility between IOS 6.x and IOS 7.x that has been sitting there dormant, waiting for the confluence of events to trigger this loss of contacts. Now imagine this was not a simple iPhone, but a more mission critical device…?

    -RTR

  2. Andre Hayeck says:

    Hi Oleg,
    Here’s my thoughts on this.
    Why not use the Enterprise Change Request to trigger the software change management system (even as a new build request as part of a new product design) and then wait for the Software Configuration Management system to return back a build/executable and then manage this executable in the whole product BOM. After all, from a product design perspective you are only really interested in managing what is delivered in the BOM i.e what rev of software is shipped/flashed into the product. The management of software iterations of the software source, or daily builds prior to software release to the overall product design are nice to know but do you really need to know or manage this as part of the overall product design. For example, from the electronic design domain, would you need to know that a PCB layout changed from one iteration to another whilst the layout engineer got his track spacing or his VSWR set right

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 218 other followers

%d bloggers like this: