Introduction
The purpose of this article is to make an overview of the options you have when you have a need for reuse of artifacts like requirements, specifications, contracts or even full lifecycle management projects in IBM Rational Collaborative Lifecycle Management Platform (IBM Jazz).
We will also dive into techniques for optimizing requirements reuse within the IBM Jazz platform,´which will provide you with actionable insights for software engineering and lifecycle systems engineering projects.
Whether you’re new to DOORS NG or aiming to enhance your reuse strategy, this article will equip you with the knowledge to effectively reuse and configure requirements and thus, improve both project consistency and collaboration.
Things to consider
The reuse itself and the way of reusing depend on the way you work, product structure, project needs and also on the process maturity at your company. Here are possible questions which decide which option to use:
- Do you have to have the ability to compare Product A and B?
- If product A requirements change do I need to know in Product B (Suspect Link or Link validity feature)
- Do we need to have the same ID for the requirements of both products?
- If Requirement 1 in Product 1 changes, do I just want to know that or shall the Requirements 2 (copy) change automatically?
- Do you need to reuse links to CCM / QM?
- Do you need the history of the artifact prior to Reuse?
- What is the maturity of the team regarding the handling of the complexity? Do you have a team member(s) who are responsible for configuration management?
The right way for the Reuse is a combination of one or several following techniques.
Simple Reuse Concepts
Module & Artifact Copy
Similar to work with as Office tools, you can use the Copy + Paste Function.
This method is used mainly when you need to use existing data for a new project or product based on the current project and when you don't need to keep the reference to the original artifact.
- Copied artifact will get a new ID.
- You can also copy the links of the copied artifact.
- You can as well copy from other project areas / components.
Module & Artifact Copy and Link
Option similar to Copy + Paste but you have also the option to create a link of your choice between original artifact and copied artifact.
This technique is mostly used when you want to keep control of your artifacts (i.e. requirements) but you also want to keep a live reference to the original artifact. For this option we provide additionally an add-on to copy changes from / to original requirement (see below).
When you use this option you can also (assuming you are in the same project area / component) reuse part of the artifacts and copy + link the rest of the artifacts. Perfect also for Specification Templates!
This option also allows you to "watch" the link validity. If one of the artifacts changes then the link need to be set again from status "Suspect" to "Valid" / "Invalid".
Requirements Reuse Across Modules
DOORS NG allows you to reuse artifacts (requirements, pictures, diagrams, headings...) across several modules. Module 1 could represent Product A and Module 2 is like Product B (variant).
Please keep in mind that links tags and comments created in the module are only relevant and visible in the module context. Everything else (attributes, primary text, the name) is immediately changed in all modules once you save and refresh the artifact page.
This feature only allows reuse of artifacts within one project/component.
This technique works well if you want to give up control of the text and attributes. You have control only on the link comments and tags in your module.
Please note that the indication attribute "Used in Modules". System attribute can be used but it is not possible to filter for it and you might need to use JRS in case you need advanced reporting.
Tip: We recommend to lock the reused artifact in order to keep control at least on the admin level.
Reuse using Views and Attributes / Tags
Old good method where you create several attributes and views which is limited per each product which is limited by attributes.
- History can be done via several variant of history artifact in the module.
- Attributes of the modules cannot be reused - this can be solved via artifact specially added into the module with each own attributes (per each version 1)
- Links are reused which is an advantage or disadvantage (i.e. for testers, test is reused)
- This solution woks only when you have a few variants with not too many attributes per variant.
Theoretically this option can be a problem when the whole section is missing in one of the variants. This means that this option works mainly when the variants of the modules have similar (or identical) headings structure.
This method is very simple but is not recommended if you have to many variants. Additionally, this method is not ideal if you need to change requirement text in variants.
Advanced Reuse Concepts
Configuration Management on Requirements Level
DOORS Next Generations supports full configuration management. The concepts are similar to those you know from software development.
You can branch requirements from a component into 2 or more so-called "Streams".
This technique allows you to make a standard product version and then the version of your product (or of its parts) like Project A, Project B. Those projects are often very similar to each other.
By enabling DOORS NG for Configuration Management" you also get the option to create "Change Sets". These are a set of changes that you create on the specification or anywhere in the component. They are "virtually" added changes that can be delivered into the project. You have as well the option to enforce approval before delivery of such changes.
Additionally, you have the option to take a specific change set or all changes from one stream and deliver it "Merge" to another stream.
- The ID of Artifacts stays the same in all streams
- DNG give you then a native Ability to compare the 2 versions against each other
- Inability to be notified about the change in the original artifacts (suspect linking or Link validity)
You can also deliver specific changes between the streams using Softacus Addons. See below.
Global Configuration Management
IBM Jazz Platform gives you the possibility to reuse components of the system in different variants and combine them together.
This technique requires certain process maturity in your company regarding different variant management needs.
Reuse Project / Component as a template
You can create a project / component template and make a copy of your project.
You will keep:
-
-
- Artifacts
-
- Links between RM artifacts
- templates
- Link types
- attributes
-
You will lose:
-
-
- History
- Reviews
- Link to QM CCM
- Tags
- Comments
-
Reuse Component by Id
Things to consider:
- The smallest scope for the baseline
- Access to artifacts
- Links across the platform
- Artifact types
- Type of modules in component
- Where validity links must be used?
- Work in modules or folders?
Parametrization
Special Softacus technique using embedding DNG artifact feature.
Special reuse techniques
Clone or Copy Artifacts between Components
Cloning the artifacts is the way of creating two Artifacts with the same ID, but with the different Artifact History, Attributes and so on. It means that you can create a New Artifact from the Original Artifact and they both have the same ID. But changes you make are saved only in the Artifact where you made the change.
Also you can delete one module and it doesn't affect the second with similar ID.
Cloned Artifact = has no value in the Description attribute ----> you change it to "Description" ---> Cloned Artifact now has a value "Description" in the Description attribute.
Original Artifact = has no value in the Description attribute ----> you change this attribute in the Cloned Artifact ----> Original Artifact has still no value in the Description attribute.
Please refer to "Cloning Requirements Artifacts" in DOORS NG Documentation.
Usage of Pure Variants AddOn
For advanced use cases, you can also reach out to the company Pure-Systems. Pure-Systems provides special techniques for variant reuse.
https://old.pure-systems.com/products/pure-variants-for-ibm-rational-doors-11.html?revision=28
You can achieve similar results be using our DOORS-NG Tailoring addon and Reuse addon.
Copyright Pure-Systems GmbH
Softacus Scripts which you might use for Reuse
Variant Stream Addon
This extension allows a user to show different attribute values in different streams in tables.
Features:
- Shows artifacts across different streams in project area
- Displays desired table of attributes of artifacts
- Can change attributes after selecting other artifacts
- Redirects you to specific artifact after clicking on ID
Restrictions:
- Required to be executed in module. If a user tries to start the script outside of the module it will not work and a message will be displayed advising the user to work from module.
Variant Copy Addon
This extension allows user to show and change different attribute values from different project areas, components and streams in tables.
Features:
- Shows artifact across different project areas, components and streams
- Displays desired table of attributes of artifacts
- Allows users to change specific attributes of artifacts
- Redirects you to specific artifact after clicking on ID
Restrictions:
- Requires to be executed in a module. If user tries to start the script outside of the module it will not work and a message will be displayed advising user to work from module.