Table of contents
Application Lifecycle Management (ALM) is a holistic approach to software development which brings people, process, and data together in order to better manage an application throughout its lifecycle.
Let’s take the automotive industry as an example. Traditionally, a car is a mechanical product, but more recently the amount of electronics and software incorporated in vehicle design has snowballed. Onboard software is now a vital aspect of all successful new automotive market entries. From satellite navigation and parking sensors to 3D audio systems and climate control, vehicular software is becoming a much larger part of automotive design.
In the coming years, the number of parts required to build a car will most likely decrease. This is because electric drive trains are less complex than mechanical ones. Meanwhile, the amount of software required is growing rapidly – beyond several hundred million lines of code. This raises some new challenges since manufacturers still have to master both: hardware and software development within the same company.
Of course, your hardware teams and software teams will typically work in different ways. Also, often, working with different tools. PLM (Product Lifecycle Management) mainly manages parts, 3D models, and documents. In the software world, it’s a lot more about managing code and a more agile way of working. This typically requires different tools and platforms for collaboration between team members.
So how do you bring these teams, processes, and data together, allowing each team to benefit from the best of both platforms?
Well, the best way to manage complex products containing hardware, electronics, and software is by integrating ALM with PLM.
So, let’s look at an example using two of the most popular ALM and PLM systems:
Our recommended tool for connecting systems and applications to the 3DEXPERIENCE platform is a solution that we develop ourselves. The TECHNIA Integration Framework provides a foundation for several preconfigured integration tools we’ve gone on to develop for common enterprise systems such as SAP, ERP, Dynamics, and Jira.
The 3DEXPERIENCE Jira Connector provides a set of specialized and preconfigured web services that allow us to send and receive information to and from Jira easily. We’ve also developed a specific add-on that allows us to communicate between 3DEXPERIENCE and Jira while monitoring the traffic.
As an administrator, you’ll have an administrative user interface with monitoring capabilities: one for the 3DEXPERIENCE administrator and one for the Jira administrator. This helps you to keep track of all traffic between the two systems, enabling you to quickly identify and resolve problems even if one of the systems is down.
The 3DEXPERIENCE Jira Connector is designed with flexibility in mind, meaning it’s possible to create a bidirectional connection and mapping for more or less any type of data between 3DEXPERIENCE and Jira. If you look at the out-of-the-box setup, we’ve focused on some information elements, like change actions, requirements, tasks, and issues within 3DEXPERIENCE. These can then be mapped to standard issue types like epics, stories, tasks, and bugs within Jira. Beyond this, it’s also possible to configure just about any mapping; depending on the specific needs and information exchange between the two systems.
Let’s take the example of a scenario in which your control product unit contains both hardware and software. Let’s say that you identify a problem with this controller. You would typically raise an issue in 3DEXPERIENCE to describe the problem and point to the affected item or product. By doing this, you are starting the lifecycle process.
At this point, the connector automatically creates the corresponding issue in Jira, where a bug indicates that something needs to be fixed on the software side.
In Jira, the software engineer will most likely create subtasks, update the source code, redeploy, and complete any necessary actions before transitioning the issue or the bug back through the lifecycle, or workflow, in Jira. You can move the issue to the “done” state in the workflow when the job is done.
This will then automatically send the signal back to 3DEXPERIENCE, and you can easily verify that the job has been done. The issue can then be closed. You can attach pictures, annotations, and other information, and everything will be synchronized. It’s also possible to synchronize hyperlinks in 3DEXPERIENCE for more detailed information. In this case, the user must have a 3DEXPERIENCE account.
It’s also possible to synchronize in the other direction so that issues or bugs discovered and created in Jira can be published into 3DEXPERIENCE. Similarly, this allows the hardware and software teams to track and monitor issues across and between the teams and disciplines. It will enable the software engineers and the development teams to continue working in the platform environments they are familiar with. More importantly, this allows for full traceability of the product, keeping issues in sync. Whenever an update is made to an issue, the status is changed in the lifecycle. It could be immediately reflected in the other system. This allows you to utilize the full capability of the 3DEXPERIENCE platform.
A common request from our customers is to be able to make requirements that are managed in 3DEXPERIENCE available in Jira so that software engineers can quickly access the relevant requirement information. So, in this example, we’ll take a look at the traceable requirement management module in ENOVIA.
In this case, the mapping is done between the requirement in 3DEXPERIENCE and the story in Jira. You have your requirement specification created in 3DEXPERIENCE, typically containing hundreds or thousands of individual requirements. These requirements and requirements specifications are generally linked to the product definition, i.e., the product structure and a detailed description of the product.
By using the 3DEXPERIENCE Jira Connector, you can then publish these requirements to Jira. For example, here we have a requirement for the battery pack in this electric car. We made some changes to the requirement description. As soon as this is saved to the database, the requirement will be published to Jira, including the rich text content and images used in the requirement description.
Then, in Jira, the software developers can view all relevant details of the requirement. This includes any metadata that has been mapped across, and the status of the requirement. A slightly more advanced use case within the requirements domain would be also to include what is called, “requirement parameters” in 3DEXPERIENCE.
Requirement parameters are technical characteristics or more detailed technical requirements belonging to a certain requirement. It can be several of them for each requirement in 3DEXPERIENCE. In this case, we are looking at a technical parameter that defines the required output power from an electric drive unit. We want this available in Jira. Requirements include all the parameters that exist below that requirement. The individual parameter object we are changing will trigger a transfer to Jira. First, we can review the updated requirements listed below the same requirement, and then the connector will extract all the parameter information and insert it into the requirement in a nicely formatted table the under the requirement.
The 3DEXPERIENCE Jira Connector can help you make requirements available to a much wider community. It also allows software engineers and others to continue to work in their environment, still being able to access requirements that you can trust since they are controlled in 3DEXPERIENCE and made available in a controlled manner by the integration.
It also helps you to maintain traceability back to the product definition in the same way you can with issue management. For test and development purposes, you can be certain that the requirements you are referring to are correct. This allows you and your teams to utilize 3DEXPERIENCE and Jira to each system’s full potential.
The main benefit you’ll find when integrating ALM and PLM is the seamless collaboration between software and hardware teams on issues, tasks, requirements, or change processes.
Better yet, this solution is practically effortless to get up and running. When you first deploy, you get a solid foundation to start with, and then you can quickly update as requirements change over time.
The 3DEXPERIENCE Jira Connector is designed to support agile working, so that changing processes and updated requirements can be quickly and easily reflected in both ALM and PLM. New business logic, changes to workflows etc., can be adapted quickly, even when the system is up and running.
The 3DEXPERIENCE Jira Connector is based on a proven solution that has been used for more than 15 years among our customers to integrate into ERP, CRM, and other enterprise-level systems. The TECHNIA Integration Framework engine and technology guarantees that you get your information across at the highest possible quality.
Would you like to know more? Schedule a free demo.
Get in touch with one of our experts today to find out how the 3DEXPERIENCE Jira Connector can help improve collaboration between your hardware and software development teams!