Branching and Baselining Considerations in Global Configuration Management
This guideline provides information on how to create a first global configuration (GC) or a baseline.
Relationships
Main Description
Creating your first global configuration

After configuration management is enabled for two or more project areas on two or more Jazz-based applications, such as Rational Requirements Manager (RM), Rational Quality Manager (QM), or Rational Design Manager (DM), you can group contributed configurations by using global configurations created in the Global Configuration Management (GCM) application. To create a global configuration, first create a component. Give the component a short name (one or two words) that you and your team recognize as the product (or piece of a bigger product) that the requirements define and the test artifacts test. After you create a component, an initial stream and baseline is created automatically for that component. You can then use this initial stream, which is the global configuration, to add streams (configurations) from the RM, QM, and DM applications.

To watch an overview video about how to use the GCM application, see https://www.youtube.com/watch?v=MQyNDsXQksE&index=12&list=PLZGO0qYNSD4V6xyq6nmZgD8jg7Y9iDpGM

To read about the global configuration workflow, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/c_configs_workflow.html

To learn how to create a stream, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_create_stream.html

Creating your first baseline

Create a baseline of the global configuration stream after you have your first global configuration stream with configurations contributed from RM, QM and, DM. You can create a baseline anytime your team has completed enough work that you want to capture it. When you perform a baseline creation, the GCM application attempts to create frozen or non-modifiable configurations for all streams in the global configuration hierarchy. If you have streams from the RM, QM, or DM applications only, baselines are created automatically from within the GCM application. If there are already baselines in your global configuration hierarchy, new baselines aren't created for them; instead, those baselines are reused in the new baseline hierarchy that is created. If your process requires that teams specify the baselines to use in your global configuration baseline, then you can create a baseline staging stream instead. The purpose of a baseline staging stream is to let you replace streams with baselines as they become available from the contributing application teams, so that the global configuration can be transitioned to a baseline. After you replace all the streams with baselines, you can transition the baseline staging stream to a baseline by committing the global configuration.

To learn how to create a baseline, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_create_baseline.html

When creating a baseline does not complete

When you create a baseline, the creation might not complete for a few reasons. For example, some applications, such as Rational Team Concert Source Control Management (Jazz SCM), don't support automatic baseline creation from within the GCM application. Additionally, you must have permissions to create baselines in the project areas. If these or any other technical issues occur, the GCM application creates baseline staging streams from the global configuration streams and attempts to perform the operation on as many contributing configurations as possible. You or someone in your organization responsible for the contents of the contributing configurations, must manually create the baseline in the contributing tools. In the GCM application, you can then replace the configurations manually in the baseline staging streams. After you have replaced all of the contributing streams with baselines, transition the baseline staging stream into a baseline by committing the baseline.

To learn how to work with a baseline staging stream, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_create_baseline_staging_stream.html

Creating a milestone baseline

You might need to create a baseline that is a slight change to an existing baseline. We call these milestone baselines because they are typically created for a specific event or milestone in your development process. To create a baseline with a relatively small number of configuration changes, create a baseline staging stream from the baseline by using the Stage Baseline action in the toolbar or context menu. Note that you can also use the Stage Baseline action from a stream, which creates baseline staging streams from all global configuration streams in the hierarchy. Performing the Stage Baseline action on a baseline only creates a single baseline staging stream from the selected baseline and includes the same configurations as the selected baseline. After the baseline staging stream hierarchy represents your milestone baseline, you can replace the baselines from the contributing tools. The GCM application will automatically create baseline staging streams up the hierarchy, as needed. After you replace the original baselines with baselines that contain the changes you need for your milestone, transition the baseline staging stream into a baseline by committing the baseline.

To learn how to work with a baseline staging stream, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_create_baseline_staging_stream.html

Creating streams for new branches

Eventually, you will come to a point when you need parallel streams for components in the GCM application. Create new streams from existing baselines so that the new stream reuses most of the existing stream or baseline. After you find the baseline you want to branch from, create a stream. Provide a stream name suffix, which defines the difference between the existing streams and the new stream you have created. After you have created the new stream, create streams for the RM, QM, and DM applications directly from within the GCM application. Multi-select the baselines you want to create streams from and then create the streams. Provide the same or similar name suffix for the streams, which are then created in the contributing applications.

To learn how to create a parallel stream by branching, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_create_variant.html

Using conventions for configuration names and tags can simplify management of a configuration hierarchy

Consistent and proper naming of your configurations, as well as adding meaningful tags, will help you and your team find configurations easily. Naming your streams with the component name first, followed by one or two words that indicate what the stream is for and how it is different from other streams of the same component, will help you find the correct stream for a component and help distinguish them. Name your baselines with the component name first, followed by the stream suffix, followed by another suffix that indicates the baseline identifier. When you create streams, the GCM application prompts you for a stream name suffix, which it appends to the component name. When creating a baseline, the GCM application prompts you for a baseline name suffix, which it appends to the stream name. Adding defined tags to a configuration helps everyone find the correct global configuration stream or baseline. Here are some possible tags that you might create:
* A tag on stream to indicate that it is the mainline stream.
* A tag on a stream to indicate the work order number it is for.
* A tag on a baseline to indicate what milestone it is for.
* A tag on a baseline to indicate the customers it was provided to.
Currently, tags can be placed on global configurations only and are used to find global configurations when setting your configuration context in RM, QM, and DM and when adding global configurations to a configuration hierarchy.

To learn how to add tags, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/t_add_branch_tags_cattrs_2gc.html

To learn more about how tags work, see http://www-01.ibm.com/support/knowledgecenter/SSYMRC_6.0.1/com.ibm.rational.gcapp.doc/topics/c_about_branch_tags_cattrs.html