30. November 2023 By Jonas Wiza
App lifecycle management power-up: codeBeamer extension development
Application lifecycle management (ALM) is critical to the sustainable development of applications. Those who have excellent command of the tools used in this area benefit from improved collaboration, greater efficiency, lower costs, higher product quality and enhanced traceability throughout the entire development process.
As an integrated ALM solution, codeBeamer offers a central platform for collaborative development, management and optimisation of complex technologies and products. Topics such as the traceability and transparency of requirements or documentation of test cases and test executions are of great interest in strictly regulated domains such as the automotive industry or the healthcare sector. However, special processes require functions that are not provided by codeBeamer right out of the box. Together with our customer, we therefore made it our mission to expand the range of functions it offers to include important and useful features. We focused on the problem areas, applied the codeBeamer code and developed two extensions that automate synchronisation between the PLM and ALM tools and standardise processes in quality management. These two extensions will be presented in detail in the sections below.
How synchronisation between PLM and ALM tools can be used to unlock synergies
Well-designed product management systems with detailed, easy-to-understand requirements and decisions are critical to success in the automotive development process. Complex processes and production lines in a highly regulated and fiercely competitive market pose additional challenges and require a great deal of attention. The requirements extend deep down into the development process for individual components. This is also the case with many software components found in today’s vehicles, which is why it is necessary to align product lifecycle management with application lifecycle management in many areas.
codeBeamer is often integrated into an expansive application landscape alongside other systems, such as product lifecycle management (PLM) tools. Each application on its own can help radically simplify processes in the area where it is deployed. However, if it is not integrated or not sufficiently integrated into the peripheral systems, this will slow down the processes significantly, which in turn makes it more difficult for different departments to work together. In other words, any advantages that may have been gained are lost. Time and again, time-consuming, error-prone processes are an issue when it comes to synchronisation between the tools used in a company. Exports of an application have to be painstakingly adapted and transformed by hand in order for an import into the target system to be successful. Despite the difficulty involved, synchronisation between PLM and ALM tools has the potential to unleash enormous synergies within the company.
At the start of the project, the directional trackers were extracted from the PLM tool, manually adapted and then re-imported one by one into codeBeamer. If changes were made during the development cycle, the export and import process had to be repeated in order to avoid having different data sets in the different systems. This takes a lot of time and is also extremely prone to error. If errors are not resolved at this point and the development of a product gets off track, this can prove very expensive.
To get around the issues described above, we have developed an extension for synchronisation between the PLM and ALM tools. This highly flexible solution allows selected trackers and their fields to be exchanged between the PLM and ALM tool, which has the effect of aligning the two tools. An array of configuration options can be used to precisely control which elements are to be synchronised and which ones are not. Because of this, the extension can be used with maximum flexibility and minimum effort.
New or changing requirements for a feature package of an electronic control unit in a vehicle can, for example, be logged as a change request in the PLM tool, transferred to codeBeamer (with only a few entries needing to be made) and incorporated into the application development lifecycle there. In the same way, items from codeBeamer can be forwarded to change requests or other types of trackers. If there are requirements that refer to specific modules within the electronic control unit or the peripheral systems, these can be transferred from codeBeamer and transformed into ‘module requests’ in PTC Windchill, for example. The requirements are traceable across all tools. In this way, both tools can come together to create a structured ecosystem in which software development and product management mutually support each other.
Template injection in quality management
If you want to build innovative, top-selling vehicles, you also have to have top-notch quality management processes. This often means that, depending on the product or component, there will be a number of security procedures that the product or component has to pass through. There are different standards and best practices for each type of component, and in some cases there are also legal requirements that must be observed in order to achieve the desired outcome. If you wish to use these standards, best practices or in-house testing procedures in projects on a regular basis, they must be well documented and seamlessly integrated into the development cycles. To streamline these processes, we created a codeBeamer quality assurance template for projects in cooperation with the customer. Using an extension we developed in-house, it is possible to inject trackers for the template projects into the codeBeamer projects right where they are needed.
Similar to the previous codeBeamer synchronisation extension, the copy processes can also be adapted here by means of configuration files. For example, the user can set that ‘code review trackers’ are to be attached to a software component. If the component is also an element of the software that is part of the architecture or has an influence on it, it is possible to adjust the settings so that ‘architecture review trackers’ are added here at the same time. These require, for example, that architecture diagrams are always attached to ensure traceability and also provide detailed documentation. Individual fields within the elements can also be configured if the content and field names have to be adapted in the target object. Because the codeBeamer extension is so flexible, many other application scenarios are possible as well. Porting a legacy project that does not conform to the currently required project structure into a new format that complies with the guidelines is but one of many examples.
Just like the quality of our customers’ products is extremely important to them, the quality of our products and services is also very important to us at adesso. In order to ensure they are of high quality and to be able to map a well-ordered CI/CD process, we created accompanying test frameworks and support tools when developing the extensions. A large amount of test data is needed if you want to test the plug-ins you developed without this having an impact on ongoing operations. However, if you were to create the test data by hand, this would take just as long and be just as prone to error as the original processes that were optimised through the extensions. This is why we created scripts that use the codeBeamer APIs to provide an efficient import functionality for the required databases. These tools and scripts, which were developed for the reasons outlined above, can also be used to prepare large, interconnected data sets, also taking into account referential integrity for performance and load tests.
Conclusion
We have learnt from our experience in this project that the out-of-the-box functionalities of the tools used are sometimes insufficient and that we can have an enormous influence on the processes in product and application development and can improve how these two domains work together through the targeted development of extensions. Customised solutions have the potential to significantly improve the effectiveness of a tool and build bridges between the components used in the application landscape, reducing costs while also removing some of the problems or difficulties involved.
Contact us if you would like to learn more about codeBeamer and adesso’s vast expertise working with the ALM tool.
Would you like to learn more about exciting topics from the world of adesso? Then check out our latest blog posts.