In this video, Carlos Almeida, Vice President of Engineering at SPK and Associates will show you how to master release management. And, how to do it by creating versioned artifacts in Codebeamer. You can watch the video as he walks through the step-by-step tutorial. Alternatively, follow the steps from the recap of the video below.
Release Management: Codebeamer Out-Of-The-Box Features
Today, we’re going to take a quick look at Codebeamer’s ‘Working Sets‘ feature. Firstly, Working Sets have been officially available in CodeBeamer since the 2019 Emma release. And, this is a great out-of-the-box feature allowing you to create and manage project variants.
What Are Project Variants In Codebeamer?
There are several use cases where project variants are useful. For example:
- You want to follow a phased development model. This approach is often seen in V-model methodologies: You need to engage in parallel development for the next phase of your product while the current phase is still ongoing.
- Another use case would be feature-driven development. Essentially, you want to develop a feature in a separate area before integrating it into the main product. A popular approach in Agile-based approaches, where you’re working in sprints and releasing small incremental features.
- Yet another use case could involve having a product with different features tailored to specific customers. For example, you might have ‘Customer A’ who wants a cruise control with a radar feature. But, ‘Customer B’ wants cruise control with a lidar feature. These are two variants of the same product.
Of course, there’s also the maintenance or bug-fix release model, which is quite common in software configuration management. However, within Codebeamer, you can apply this paradigm across all your artifacts, including requirements, specifications, and so on. So, let’s switch over to the CodeBeamer application.
Working Sets In Codebeamer
In the video you’ll see a project I’ve created that happens to be a medical device project. A default Working Set is automatically generated when you initiate the project. In this project, there are several trackers, though I’ve only added data to the Standards and Regulations Tracker.
- Now, I want to create a variant for this project. This variant will be isolated in its own space, allowing me to make changes that I can later merge back into the default Working Set.
- To create a variant, I need to have already adjusted my project permissions. So, I’ll start creating a working set. I’ll name it “Customer B” and select a different color to distinguish it from the default working set. This will be my gray set, while the default is indicated by the selected color. Next, for Customer B, I’ll add the postfix “Customer B”.
- Notice that all trackers are selected by default. An important feature of Codebeamer is that changes shared are reflected in all Working Sets. Ultimately, making it easy to reuse trackers and maintain changes.
Now, let’s move on to the merging process in Codebeamer For Release Management
To merge, I can take several approaches:
- One way is to click directly on the variant to initiate the merge.
- Alternatively, if I had numerous changes to merge, I could do a bulk merge from the menu.
- I could also create a merge request, similar to GitHub’s request system, involving approvals and moderator actions.
However, for simplicity, I’ll go with the direct merge method.
When making a change in the variant, a tag appears to indicate the alteration. Then, after editing and saving the change, I can see this tag. Now, I can then proceed to merge. After the successful merge, I can see that the changes have been applied to the default working set.
In conclusion, creating versioned artifacts in Codebeamer is a straightforward process. Moreover, it’s possible to create additional variants, even variants from existing variants. This flexible system allows for easy adaptation to various needs and scenarios.