The fact that software is increasingly becoming the main differentiating factor in engineered products isn't news. Manufacturers are increasingly replacing hardware components in their products with software functionality, or a combination of both in order to decrease their products’ cost, weight, time to market, or to make it easier to update or change certain components later. System-of-systems products (with hardware, software, and service components) are everywhere.
Therefore, as software and hardware are increasingly and “organically” growing together, the old way of separately managing their development until they’re almost complete and it’s time to integrate them no longer seems feasible. Instead, companies developing complex “system of systems” products are realizing that the product itself should be their focus. Whether that product is the end result of development streams that so far have been treated individually is secondary. In other words, the walls that have isolated PLM and Application Lifecycle Management are slowly being knocked down, and the integration between hardware engineering / manufacturing, and software development is becoming necessary.
Connecting processes and data
In recent years, established PLM vendors have started making acquisitions in Application Lifecycle Management, which reflects the importance (and growing significance) of this integration. A really unified ALM-PLM solution, however, is yet to be developed. A truly integrated platform would provide a comprehensive development environment for system of systems products, from idea all the way to released product.
A crucial point to note is that there are two components to the integration of these two disparate systems: data and processes. While not easy, it’s feasible to integrate data between PLM and Application Lifecycle Management platforms via interfaces. Connecting processes and managing them from a single solution is the tricky part. Change management and traceability are key requirements, which can only be fulfilled if both data and processes are unified.
Some vendors offering a certain level of ALM-PLM integration claim to enable users to derive software and hardware requirements from product requirements, and the other way around. This can be considered a first step towards true process integration. The problem is, however, that PLM and ALM systems are inherently different: they use different artifacts, and different links between artifacts.
ALM to PLM or the other way around?
To put it bluntly, the end goal of a PLM system is to produce a list of components that will be built in the product, and a bill of materials which helps manufacture those components. In PLM, certain items form parts of other items. In ALM, on the other hand, many different types of relationships are used to define hierarchies and dependencies between various types of artifacts.
Another important consideration is that hardware development usually follows a traditional, sequential (Waterfall or V-model) approach, which PLM systems aptly support. In software development, on the other hand, iterative and incremental methodologies (some form of Agile) to support the management of frequent changes are becoming increasingly popular. This latter, more flexible approach necessitates enhanced collaboration between teams and departments.
Since sophisticated IoT-connected products may contain a multitude of (hardware and software) components, the role of suppliers and geographically dispersed teams is increasing in certain industries. Collaboration and integration are important features of any ALM tool. Therefore, one would be inclined to say that the more modern ALM concept is better equipped to cover the “needs” and integrate the features of PLM platforms. It’s still unsure whether or not that will be the case as the industry evolves and a truly unified ALM-PLM system is developed. Will ALM be used to manage previously PLM processes, or will PLM systems incorporate the functionality of ALM platforms?
For now, what we know for sure is that the integration of both processes and data throughout all development streams of the entire product lifecycle, and the importance of collaboration are vital. Intland Software’s answer to this problem is codeBeamer’s powerful workflow engine with Business Process Management capabilities. This functionality allows you to connect processes, which naturally integrates data between tools and departments or disciplines. To learn more about codeBeamer’s ALM-PLM integration concept, watch our webinar recording titled ALM-PLM Integration with Business Process Management, or feel free to contact us