Similarly, system engineers design products that are built from hundreds or even thousands of individual components, which can range from physical objects to software. Related products are often produced from a common base or architecture and grouped into a product line.
Product lines can contain dozens of closely related products, also called product variants. A variant is identified by a specific set of characteristics that distinguish it from other artifacts or products in the product line. And behind each product variant is a specific set of artifacts, such as the requirements, designs, source code, and test plans that were used to formulate it.
Configuration management capabilities in the Rational® solution for Collaborative Lifecycle Management (CLM) help teams manage this complexity.
See additional learning resources at the end of this topic.
Teams use CLM tools to develop wide-ranging applications, such as banking software or medical devices. As part of the development process or engineering design, teams create a variety of artifacts, ranging from stakeholder and system requirements, to source code, to test plans and test cases.
A component represents physical or logical pieces of the software or system your team is working on. For example, you might create a component for a physical piece, such as a heart monitor, or a logical piece, such as the server. Each of these components might have several configurations.
In the CLM tools, you use configurations to group a set of versioned artifacts in a project area. Configurations commonly identify one version of each artifact in the set. For example, a team might group all the requirements for a component into a configuration, making it easier to identify and work with all the requirements associated with that component.
IBM Rational Team Concert™ makes a slightly different distinction for source control management (SCM). Baselines of components are the same, but snapshots represent a frozen state of a stream that contains component baselines.
Artifacts in a stream can be modified, and the stream always presents the artifact version that is currently selected by that stream (other streams or baselines can select other artifact versions). By maintaining the artifacts for a project in a stream, teams can share their work and ensure they are working with the artifact version that they need.
When the work on a set of artifacts in a stream is complete or has reached some milestone, you can create a baseline of that stream to capture the specific artifact versions selected by the stream at that time. The artifact versions in the baseline cannot be modified, nor can the set itself. In the future, the team can use the baseline to create a new stream for its work.
New features in this release enable parallel development.
To branch a stream, first create a baseline of it; then, create a new stream from that baseline
Configurations are created in project areas in the CLM tools and contributed to globally-managed configurations by using the Global Configuration Management (GCM) application. Globally-managed configurations are called global configurations to distinguish them from locally-managed configurations, or local configurations, created in project areas in CLM tools. Global configurations can contain global configurations, local configurations from CLM projects, or both. Local configurations contain artifacts from the CLM tool where they were created.
This release and the OASIS Open Services for Lifecycle Collaboration (OSLC) specification use the term “global configurations” to distinguish them from the local configurations that contain only artifacts. Any tool can contribute configurations to a global configuration if it supports the OSLC configuration management specification.
Until now, not all the CLM tools used configurations to group a set of versioned artifacts. For example, a team might group all the designs for a specific component into a configuration to make it easier to identify and work on the designs for that component. Although teams could access application or product information in different tools, and view progress and important data in Jazz™ dashboards, they could not assemble a view of all the artifacts used in an application or product from across all the CLM tools.
Suppose your team is building Version 2.0 of a medical device application or product. Your team's requirement configurations are in Rational DOORS Next Generation; the source code configurations are in Rational Team Concert; the test configurations are in Rational Quality Manager. Each CLM tool contributes a configuration (a stream with the correct artifacts) to Version 2.0. These local configurations together form a global configuration named Medical Device Version 2.0 (), which a configuration lead has assembled using the GCM application.
The following concepts are specific to the GCM application.
As your team works on Version 2.0, team members realize that they need another variant to address unique regulatory requirements for a specific market, such as Europe (and potentially other markets as well). The team must also develop new code, and create test cases and plans.
The team creates a baseline of the Version 2.0 stream that contains the configurations and artifacts they will need, and then creates a stream from it for their new work, called Version 2.0.1 EU.
The team will work on both products in parallel.
The parallel stream is typically created by a team member with administrative privileges who is designated as a configuration lead. In this example, assume that you have been assigned those permissions.
Now the team can make the changes for Version 2.0.1. They update the necessary requirements, source code, and test cases, and then deliver the changes to the Version 2.0.1 stream.
Changes made in one stream are isolated and do not show up in the other stream. For example, if you change a requirement artifact in one of the streams contained in Version 2.0.1, the change is isolated from the other stream until you deliver your change.
As you use links to navigate to different products from a global configuration, you remain in the same context. This ensures that your work is completed in the correct stream, isolated from other streams and baselines.
At a significant milestone, such as the completion of a sprint, you can create a corresponding baseline from a global configuration to freeze the artifact versions. Use the baseline to start a new development stream or to base other work on, such as a fix pack. You create a new stream from that baseline.
By using the new capabilities in this release, your teams can reduce the complexity of parallel development, control and isolate delivery of changes, and understand how artifacts are grouped and used across application and product versions.
Watch videos CLM playlistJazz.net channel User Education channel |
Learn more CLM learning circleAgile learning circle Learning circles |
Ask questions Jazz.net forumdeveloperWorks forums |
Get support Support PortalDeployment wiki Support blog |