Blogs about Jazz

Blogs > Jazz Team Blog >

Improved reuse in Collaborative Lifecycle Management 6.0.3

clm-blue-150IBM introduced versions and configuration management for requirement and testing artifacts in Collaborative Lifecycle Management (CLM) 6.0 – but up to now, the unit of configuration was the project area. In 6.0.3 (in Release Candidate 3 as I write this), you can create smaller components and configuration. This article shows how this new capability gives you improved control and flexibility in reusing collections of shared artifacts.

Suppose we are developing a hand-held meter reader. The meter reader has several parts, including a screen, a keyboard, and a Bluetooth radio device for reading a meter and transmitting the meter readings to a computer.

Let’s create a project area in Rational DOORS Next Generation (DNG) for the requirements for the meter reader. In 6.0 – 6.0.2, we create three modules in that project area – one for the screen requirements, one for the keyboard requirements, and one for the radio requirements. We have configuration management enabled for the project area.

The keyboard and screen parts are developed in Edinburgh, and that team produced a release 1.0 of those parts some time ago, and have just completed a release 2.0. These releases are captured by baselines of the project area.

The radio is developed in Helsinki, and has three releases – 1.0, 2.0, and an experimental new version 2.12. The Helsinki team is using the same shared DNG project area as the team in Edinburgh, and hence the same set of baselines – in this case, with an additional baseline for the most recent milestone build of the 2.12 radio.

The product offering managers have put together a hand-held meter with release 1.0 of each of the three parts; all the requirements for this product are captured in the 1.0 baseline of the DNG project area.

Now, the offering managers want to create two new offerings:

  • Reader 2.0: A meter reader with the 2.0 screen and keyboard, using the well-proven 1.0 radio
  • Reader 1.5: A variant of the original 1.0 meter reader, but using the new 2.12 radio

In CLM 6.0 – 6.0.2, baselines for the requirements apply to the whole project area. To create baselines with the mixes of parts required for both new products, the teams would create new streams for the two new variants, then deliver just the right set of changes to each stream, taking care to handle any merge conflict.

In 6.0.3, we can use configurations of separate components in the project area to achieve the reuse goals much more easily.

For our simple example, we create three components, one for each of the requirements modules – the screen requirements, the keyboard requirements, and the radio requirements. Now, each team can create baselines of their own components independently.

We then create global configurations to tie together the desired set of component configurations.

  • The 1.0 meter reader is represented by a global baseline with contributions of the screen requirements module 1.0 baseline, the keyboard requirements module 1.0 baseline, and the radio requirements module.
  • Reader 2.0 is represented by a global configuration with contributions of the screen and keyboard 2.0 baselines, plus the 1.0 radio baseline.
  • Reader 1.5 has a global configuration with the screen and keyboard 1.0 baselines, plus the 2.12 radio configuration.

The configuration structures more clearly reflect the intent of the offering managers. With more components, and a larger number of variations, the 6.0.3 approach with individual component configurations is much more manageable.

Components do not have to map 1:1 with requirements modules – a component may contain any set of artifacts.

Components also make it easier to implement a development process that requires one thing to be baselined before another. For example, user/stakeholder requirements may be approved and baselined before finishing system requirements. These may be approved and baselined before finishing the requirements for various subsystems.

This simple example involved DNG requirements. Rational Quality Manager also offers the same capability to partition your quality management artifacts into components within a project area, and with Rational Team Concert you can group your source code into components. Combining all these using global configurations, CLM 6.0.3 offers you the power to mix and match your component configurations within and across applications to enable flexibility in building the product structures you need, with direct representation of reuse for shared components.