Contents


Take control of your requirements projects with Configuration Management

IBM Rational DOORS Next Generation

Comments

Overview

Learn how to use configuration management in the Requirements Management (RM) application to manage streams, baselines, and change sets, to compare configurations, and to perform other configuration management tasks.

In the labs that follow you will perform the following tasks:

  1. Create a baseline, in the requirements management stream, to represent and preserver the starting state of the project.
  2. Make changes within the requirements stream, representing ongoing development efforts
  3. Compare the current stream of development to a baseline in order to assess what changed since the baselined.
  4. Create a new stream of development (a variant) from a baseline.
  5. In the variant stream, make related changes within a change set, and deliver the change set to the stream.
  6. Share your change set from the variant stream to the original stream.

To successfully complete this tutorial, at a minimum you should be aware of the following terms

  • Configuration: A unique set of versions of artifacts. Configurations commonly identify one version of each artifact in the set. The artifacts can be unchanging (from a baseline) or open to change (in development). In some systems, configurations can be hierarchical, so that they contain other configurations.
  • Stream: A configuration that is.
  • Baselines: A configuration that is immutable (unchangeable).
  • Change set: A group of related changes to artifacts in a workspace or stream.

If you need more information, consider these resources:

Now let's consider the Rational DOORS Next Generation interface.

Two menus are relevant to configurations:

  • Use the configuration management menu to search for and switch to a specific configuration, open and edit the current configuration, and compare configurations.
Figure 1. The Configuration management menu
The configuration management menu is depicted with an icon which represents the type of configuration you are in (such as Global configuration or local configuration such as a stream, baseline, or change set), and the name of the configuration.
The configuration management menu is depicted with an icon which represents the type of configuration you are in (such as Global configuration or local configuration such as a stream, baseline, or change set), and the name of the configuration.
  • From the Administration menu, select Manage configurations, to explore the configurations. The option opens a page where you can navigate or create configurations (streams and baselines) in the project area.
Figure 2. Use the Manage Configuration option in the Administration menu to navigate the configuration.
The Manage Configurations option navigates to a configuration view, where the stream hierarchy is depicted
The Manage Configurations option navigates to a configuration view, where the stream hierarchy is depicted

Exercise environment

The tutorial uses the Jazz.net sandbox, 6.0.1 M2 with configuration management, which provides the necessary environment for the hands-on portion of the tutorial. Depending on which release you are using, some content in your sandbox might vary slightly. Refer to the sandbox Terms of use (Figure 3), which outlines the legal agreement that applies to the Jazz sandbox and this documentation.

Figure 3. The tutorial uses the Jazz.net sandbox, 6.0.1 M2 with configuration management.
Jazz.net allows several sandbox options
Jazz.net allows several sandbox options

When you create your sandbox (see video) you need to provide a name for your project. In this tutorial, the project name is JPK's AMR Project. Your project name will be different. For example, <your jazz.net id> AMR Project.

Notice that several projects areas were created within the sandbox (Figure 4)

  • JPK's AMR Project (Requirements Management)
  • JPK's AMR Project (Change and Configuration Management)
  • JPK's AMR Project (Quality Management)
  • JPK's AMR Project (Global Configuration)
Figure 4. Projects that are created in the sandbox. Your project names will be different.
A list of projects are part of the sandbox
A list of projects are part of the sandbox

Click on a project in this list (for example JPK's AMR Project (Requirements Management)). This action automatically logs you in to the Jazz.net sandbox by using your Jazz.net login, and the selected project opens. When you log in to your Jazz.net sandbox, use the home menu to navigate to the projects.

You will receive an email to (at the account that is associated with your jazz.net id) with links to your sandbox project areas. Save this email, or bookmark your sandbox URLs.

Figure 5. Some of the projects as reflected sandbox’s Jazz team server.
The Home menu is at the upper right hand side of the screen, and lists all the projects that are available to you
The Home menu is at the upper right hand side of the screen, and lists all the projects that are available to you

The Jazz.net sandbox with configuration management is only a subset of the AMR system, providing enough to information to demonstrate key aspects of the solution.

In these exercises, the focus will be the requirements management project. By the end of the exercises, you will have created baselines, parallel streams, change sets, and delivered the change sets across different streams.

The requirements management project, JPK's AMR Project (Requirements Management) (your project name will be different), has one development stream, also named JPK's AMR Project (Requirements Management). Within this stream, there is a module: AMR System Requirements Specification that contains requirements.

Note:
You can reset your environment at any time, and restart this tutorial. This tutorial assumes that you start from a fresh environment.

Figure 6. Jazz.net sandboxes can be deleted.
The delete options is part of the pulldown menue next to the project's name (on jazz.net)
The delete options is part of the pulldown menue next to the project's name (on jazz.net)

Lab 1 Work with streams and baselines

Baselines captures a meaningful state of artifacts, such as an approved state, or a release, or perhaps a specific point of time. Watch this video on baselines with Rational DOORS Next Generation (on YouTube or developerWorks).

1.1 Create baselines to capture the state of your requirements management project

You will create a baseline to capture and preserve the starting point of your development effort.

Figure 7. Baselines are created for the development streams.
Conceptual view depicting a baseline on a stream
  1. From the home menu (see Figure 5), switch to the JPK's AMR Project (Requirements Management) project; remember, your project name will be different.
  2. From the CurrentConfiguration menu, select Create Baseline.recap of the instructions
    recap of the instructions
  3. In the Create Baseline window, provide the following information:
    • Title: AMR(RM) Starting Point
    • Description: This is the starting state of the requirements management project in the Jazz.net sandbox recap of the instructions
      recap of the instructions
  4. Click Create.
  5. Click OK when the window informs you of the successful creation of the baseline. recap of the instructions
    recap of the instructions
  6. Notice that you are still in a stream configuration; you did not switch to the baseline. While in the stream configuration you can still edit. If you switch to the baseline, you can no longer edit the baseline. recap of the instructions
    recap of the instructions

1.2: Make changes within a stream

You have baselined your requirements project. Now you will make some changes within the requirements stream, representing continuing requirements management efforts such as or updating existing requirements or collecting additional customer requirements.

Figure 8. The baseline represents an immutable state of your project, but you can continue your development efforts on the streams.
Once a baseline is created, the team can 'make changes directly on the stream'.
Once a baseline is created, the team can 'make changes directly on the stream'.
  1. Notice that you are in a stream. recap of the instructions
    recap of the instructions
  2. From the Modules menu, click Browse Modules.recap of the instructions
    recap of the instructions
  3. Open the AMR System Requirements module by clicking its name. recap of the instructions
    recap of the instructions
  4. Using your DOORS Next Generation expertise, make some changes to your project:
    1. Edit the requirement. It currently says this:
      The handheld device shall have the ability to search for accounts by Last Name, Service Address, Meter Number, and Unread Meters.recap of the instructions
      recap of the instructions

      You need to add the ability to search by phone number:The handheld device shall have the ability to search for accounts by Last Name, Service Address, Meter Number, phone number, and Unread Meters.recap of the instructions
      recap of the instructions
    2. With the artifact still selected, use the right sidebar to set its Status attribute to Approved. Here are some more details of how to accomplish this:
      1. With the artifact selected, from the right side bar, click the Selected Artifact tab, and then click Edit. recap of the instructions
        recap of the instructions
      2. Locate the Status attribute and from the pull-down menu, select Approved. recap of the instructions
        recap of the instructions
      3. Scroll to the top of the side bar, and click DONE. recap of the instructions
        recap of the instructions
    3. Locate this requirement:
      Display information shall include: total number of accounts in collection route, number of read accounts, number of unread accounts, the address of each account. For completed (read) accounts, the display information shall include: the date and time of the last reading, summary of usage data, and the id of handheld reading device.
    4. Edit the requirement to also display the phone number:
      Display information shall include: total number of accounts in collection route, number of read accounts, number of unread accounts, the address and phone number of each account. For completed (read) accounts, the display information shall include: the date and time of the last reading, summary of usage data, and the id of handheld reading device.
  5. (Optional) The preferred way of making changes to a stream is to use a change set. When you are editing directly in a stream, Rational DOORS Next Generation actually creates and delivers change sets with every change. A more optimal solution (one that we will explore later), is to group related changes within a change set. To see the change sets that were created and delivered in the stream, follow these steps:
    1. From the Administration menu, select Manage Configurations.recap of the instructions
      recap of the instructions
    2. Click the stream name (example: JPK's AMR Project (Requirement Management). recap of the instructions
      recap of the instructions
    3. Click the Change Sets tab. Click the Select to include delivered change sets icon. The changes you created will be at the top of the list identified with your user name. recap of the instructions
      recap of the instructions
    4. Return to the module view by selecting Modules > Browse Modules.

1.3 Compare a stream and a baseline

Configurations, which include streams and baselines, can be compared with each other. Comparisons are very useful when trying to assess what changed.

  1. From the Current Configuration menu of the requirements management project, select Compare Configuration. recap of the instructions
    recap of the instructions
  2. In the Select Configuration Context window, recap of the instructions
    recap of the instructions
    1. Select Baseline (to filter on baseline configurations)
    2. Type * (to list all baseline configurations)
    3. Select AMR (RM) Starting Point
    4. Click OK
  3. In the wizard, you can review the differences between the stream and the baseline.
    1. Confirm what you are comparing (the stream to the baseline), and click Next >. recap of the instructions
      recap of the instructions
    2. The next page shows a summary of the changes in the project properties. You did not make any such changes, so click Next.
    3. Now the wizard shows that there are no changes in the folder structure of the project, so click Next.
    4. You can see the changes to the artifacts. Click the changed artifacts on the left to review detail of changes to that artifact on the right. recap of the instructions
      recap of the instructions
    5. When you finish your review, click Finish.

Summary

A stream can be baselined at any time to capture the state of the project. Baselines are an immutable (unchangeable) version of the artifacts, as of the time that the baseline was created. Users can switch to the baseline, compare it to other streams or baselines, and even start new streams of development from a baseline. Because a baseline represents a known state of your system that cannot be changes, baselines are very useful when managing multiple product variants, or even multiple versions of the same project or product. As you will see in the next exercise, multiple product variants can branch new streams of development from a common point (represented by the baseline), sharing (not clone and own) all requirements up to that point. The changes in a stream of development are local to the stream. The changes in one stream will not affect other streams, unless changes are delivered to other stream.

Lab 2 Create a stream from a baseline

The AMR teams are using multiple streams to manage variability across the product line. Separate streams will be used for the Mobile and Grid products. Figure 9 shows a conceptual view of the configuration dependencies.

Figure 9. Streams are used to manage variability across the product line
Conceptual view of a new stream being branched off from a baseline
Conceptual view of a new stream being branched off from a baseline

In this lab you will create new development streams to manage variability between the Mobile and Grid product variants. You will create a variant streams from a requirements baseline. Both streams will be using the same requirements, but each stream will have its own version of those requirements. Because we are creating the variant stream from a baseline, all changes since the baseline will not be in the newly created stream. (You could have created a new stream from the JPK's AMR Project (Requirements Management) stream, which would have created an automatic baseline of the stream at that point of time.)

  1. Switch to the baseline configuration, AMR (RM) Starting Point, as follows:
    1. From the Configuration menu, select Switch.recap of the instructions
      recap of the instructions
    2. In the Select the Configuration Context window: recap of the instructions
      recap of the instructions
      • Choose the type: Requirements Management Configuration.
      • Focus on Baseline.
      • Enter start to filter the list of baselines.
    3. Locate and select the AMR (RM) Starting Point configuration. This will become your starting point for the Grid effort.
    4. Click OK to switch to that baseline configuration.
    Note:
    Selecting a configuration loads the application with the versions of the artifacts in that selected configuration. The name of the selected configuration is shown on the banner. recap of the instructions An icon indicates the type of configuration. As seen from the icon, AMR (RM) Starting Point is a baseline.
    Note:
    Baselines cannot be edited. They are a reference point that cannot be changed.
  2. From the Configuration Management menu, choose Create Stream.
  3. In the Create a Stream window,
    1. Enter the stream name: AMR(RM) Grid. recap of the instructions
      recap of the instructions
    2. Select the Switch to the new stream check box, and click Create.

The new requirements stream for the AMR (RM) Grid product is created and opened in the editor. The new stream name is shown in the banner.

recap of the instructions
recap of the instructions

Note:
The stream is not a physical copy of the requirements; it is not a clone-and-own copy. Each stream references the requirements, each at a particular version. The result is that teams can work in their streams as needed, and changes can be shared with other streams (if needed). They can compare configurations with each other to see how they are different.

Summary

With streams, teams can manage variability between different products, or even different versions of the same product. It is important to note that different steams share the same requirements; this is not a clone-and-own solution, but true reuse. Changes are tracked within the different streams, and at any point, streams can be compared to each other or to baselines, and even synchronize changes between them.

Lab 3 Control change with change sets

Sometimes, you need to collect related modifications to shared artifacts, and deliver them as a set. Here are some possible reasons:

  • The change is not trivial, and will require several changes. You do not want to disturb current development until the change is ready.
  • The change needs to be approved before it is made generally available.
  • The change will impact other streams; you may need to share this information with other streams.
  • In a collaborative development environment, you accept changes from another stream or baseline so that you can use them in the stream where you are working.

A change set is a collection of related modifications to shared artifacts that are delivered to a stream, and can later be delivered to other streams.

When you finish making changes, you can either deliver your change set to its destination stream or discard it. Only delivered change sets will be available to other streams.

More than one person can work on a change set.

As you saw earlier, each time you make a change directly on a Rational DOORS Next Generation stream, the application creates and delivers a change set automatically, and your changes are available immediately to other team members who share the stream.

In this exercise you will create a change set within the AMR (RM) Grid stream that will group together a number of changes to the requirements. In a future exercise you will deliver the change set to the JPK's AMR Project (Requirements Management), demonstrating that requirements are shared across streams.

Figure 10. A change set is a collection of related modifications to shared artifacts that are delivered to a stream, and can later be delivered to other streams.
1. Create a change set, 2. Edit in a change set, 3. Deliver changeset to a stream.
1. Create a change set, 2. Edit in a change set, 3. Deliver changeset to a stream.

3.1 Create a change set for requirements

  1. From the current configuration menu of the AMR (RM) Grid stream, select Create Change Set.
  2. Name the change set: Meter Interface requirements, and click Create.recap of the instructions
    recap of the instructions
  3. Verify that the change set is already selected as the current configuration. recap of the instructions

3.2 Make changes within a change set

You are in the change set, therefore, all changes you make from now on until you deliver or discard the change set are automatically collected into this change set.

  1. Open the Current Configuration menu and see the operations you can do with your change set. In this "sunny day" exercise, you are going to make some changes and will then use Deliver Change Set. You can see in the menu that you could also discard the change set, or compare the change set content with the stream it is based on. recap of the instructions
    recap of the instructions
    Note:
    You can switch to a different configuration and make changes there without affecting the state of this change set, and you can return to this change set later to continue making changes.
    To get the most value out of using change sets, make the changes accumulated in a change set cohesive – so they are all related, or for the same purpose.
  2. Using your DOORS Next Generation expertise:
    1. Open the AMR System Requirements module.
    2. Locate this artifact: The handheld device shall provide for the means for the meter reader to manually enter a meter reading.
      Double click the text to edit it by adding six-digit before meter reading. Then either press Control + S or click elsewhere to save the change. recap of the instructions
      recap of the instructions
    3. Add a new section after section 1.1.1 Handheld device, of type Heading, and name it Meter interface Unit.
    4. In the Meter Interface Unit section, add a new requirement, below as a child, with the following text: A meter will support two-way communication between the meter and server via a wireless network. recap of the instructions
      recap of the instructions
      recap of the instructions
      recap of the instructions

When you are making these changes, only someone else who is also working in this change set can see them.

When you have completed the changes, you could inform the team by using a work item that the change set is ready for approval. After the change set is approved, it is ready to be delivered.

3.3 Deliver the change set

The change set is ready to deliver to the stream. It contains three individual changes, grouped within a single change set. Delivering a change set causes little disruption to the team, which sees all changes only after they have been approved and ready to be delivered.

  1. Verify that the change set is already selected as the current configuration. recap of the instructions
  2. Open the Current Configuration menu and click Deliver Change Set. recap of the instructions
    recap of the instructions
  3. Confirm that you want to deliver the change set by clicking Deliver the Change Set.
  4. In the wizard review the changes in the change set, and resolve any potential conflicts.
    1. Confirm what you are delivering (the change set, listed as the Source Configuration), and to where, listed as the Target Configuration. Click Next >. recap of the instructions
      recap of the instructions
    2. The next step of the wizard summarizes the changes in the change set. You can click the changed artifacts on the left to review the detailed changes to each artifact on the right. When you have reviewed all the changes, click Next >.recap of the instructions
      recap of the instructions
  5. The final step of the wizard is one last confirmation. Check that the information displayed in the summary is correct, and click Finish. recap of the instructions
    recap of the instructions
  6. Note that the current configuration is now the stream recap of the instructions. Examine the changes to the artifacts to confirm that your edits are there. These changes are now visible to anyone else working in the AMR (RM) Grid stream.

Summary

In this lab you worked with change sets, so that the team could modify artifacts outside the main stream of development, and when they were ready, the team could either discard the change set or deliver it to the stream. After a change set is delivered to the stream, it can be shared with other streams, as you will see in the next exercise.

Lab 4 Deliver the changes from one stream into a different stream

The change set you created and delivered to AMR (RM) Grid is also valid for the JPK's AMR Project (Requirements Management) stream. Let's apply the change set to that stream.

Figure 11. Change sets can be delivered from one stream to another.
Deliver change sets to another stream
Deliver change sets to another stream
  1. Switch to the JPK's AMR Project (Requirements Management) stream. recap of the instructions
    recap of the instructions
    recap of the instructions
    recap of the instructions
  2. Open the Current Configuration menu and click Accept Changes. recap of the instructions
    recap of the instructions
  3. The changes in your change set have been delivered into the AMR (RM) Grid stream. Select that stream and click OK. recap of the instructions
    recap of the instructions
  4. The Deliver Change Sets wizard starts, showing the source and target. Click Next >recap of the instructions
    recap of the instructions
  5. Use the wizard to deliver all changes made to the stream since its most recent baseline, or be selective. Let's be selective. Click Select which change sets to deliver, and click Add.recap of the instructions
  6. In the Select Change Sets window you see all the changes made in AMR (RM) Grid. Since all your changes were made within one change set, that is all you see here. recap of the instructions
    recap of the instructions
  7. Select the Meter Interface requirements change set, and click Add and Close.
    Note:
    The ability to selectively deliver changes between streams is very powerful.
  8. The change set is now shown in the list of changes being delivered into the target AMR (RM) Mobile US stream. Click Next >. recap of the instructions
    recap of the instructions
  9. The wizard shows the changes being applied. Click Next>. recap of the instructions
    recap of the instructions
  10. The wizard shows a summary of the source and target, for final confirmation. Click Finish. recap of the instructions
    recap of the instructions
  11. The AMR (RM) Mobile US stream has now been updated with the change set contents. Check, for example, that requirement 532 shows the text for the additional gas and electricity services.

Summary

Changes can be shared between streams, and change sets make this task a lot easier because they group together relevant changes, and given names that describe the changes they contain.

Conclusion

Configuration management of requirements is powerful. It helps you plan product variants that share the same requirements. It facilitates pushing changes to requirements across steams. It provides an easy way to compare different configurations to each other to identify differences. But most importantly, configuration management of requirements, as supported by Rational DOORS Next Generation, makes your teams more efficient and more productive.


Downloadable resources


Related topics


Comments

Sign in or register to add and subscribe to comments.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational, Internet of Things, Big data and analytics
ArticleID=1017044
ArticleTitle=Take control of your requirements projects with Configuration Management
publish-date=10082015