更新操作では、ベースラインは「ここから開始」することを示す手段として使用されます。したがって、標準プロセス・ルールを使用して、複数のコンポーネントのプロジェクトを含むベースライン、またはリリースの一部のプロジェクトが含まれていないベースラインをセットアップすると、そのベースラインは正しく更新されません。この方法で標準プロセス・ルールを使用することはできますが、正しく機能させるにはプロセス・ルールをカスタマイズする必要があります。
次の 2 つの例は、ベースラインを正しくセットアップする方法を示しています。一方、最後の例は、正しくセットアップされていないベースラインを示しています。ベースラインを正しく使用すると、プロジェクトの更新時のパフォーマンスを改善することができます。
ベースラインはそのリリースによって選択されるため、プロジェクトにおいて、ベースラインのリリースが一貫していることが重要です。ベースライン内のプロジェクトは、プロジェクト・グルーピング内のプロジェクトのベースライン・プロジェクトとして使用されます。次の表では、プロジェクト・グルーピング内のすべてのプロジェクトがベースライン内のプロジェクトにマップされている点に注意してください。この例では、完全なベースラインを示しています。
CM/7.0 ビルド 1234 のベースライン | <== ベースライン | CM/7.1 統合テスト用のプロジェクト・グルーピング |
---|---|---|
cm_top-CM/7.0 | <== ベースライン・プロジェクト | cm_top-CM/7.1 |
cm_gui-CM/7.0 | <== ベースライン・プロジェクト | cm_gui-CM/7.1 |
cm_api-CM/7.0 | <== ベースライン・プロジェクト | cm_api-CM/7.1 |
cm_platform-CM/7.0 | <== ベースライン・プロジェクト | cm_platform-CM/7.1 |
次の表では、コンポーネントが混在する階層には 2 つの別個のベースラインが必要であることに注意してください。この例では、正しいベースラインを示しています。
CM/7.0 ビルド 1234 のベースライン | <== ベースライン | CM/7.1 統合テスト用のプロジェクト・グルーピング |
---|---|---|
cm_top-CM/7.0 | <== ベースライン・プロジェクト | cm_top-CM/7.1 |
cm_gui-CM/7.0 | <== ベースライン・プロジェクト | cm_gui-CM/7.1 |
cm_api-CM/7.0 | <== ベースライン・プロジェクト | cm_api-CM/7.1 |
cm_platform-CM/7.0 | <== ベースライン・プロジェクト | cm_platform-CM/7.1 |
TC/5.1 ビルド 5678 のベースライン | <== ベースライン | TC 5.2 統合テスト用のプロジェクト・グルーピング |
change_api-TC/5.1 | <== ベースライン・プロジェクト | change_api-TC/5.2 |
コンポーネントが混在するプロジェクトに対して単一のベースラインを作成すると、標準プロセス・ルールを使用している場合、プロジェクトはベースライン・プロジェクトを正しく見つけることができません。次の例では、change_api-TC/5.1 というサブプロジェクトが CM/7.0 リリースのベースラインに含まれています。
このプロジェクトは、ベースライン・プロジェクトとしては使用できません。このプロジェクトがメンバーになっているベースライン (例えば、CM/7.0 ビルド 1234 のベースライン) は、このプロジェクトをベースライン・プロジェクトとして使用する可能性のあるプロジェクト・グルーピング (例えば、TC 5.2 統合テスト用のプロジェクト・グルーピング) によって選択することはできません。さらに、そのベースラインには両方のリリースのタスクが含まれています。
ベースライン内のすべてのタスクがベースライン内のすべてのプロジェクトによって使用されるとは限らない場合、更新時にそれらのタスクはプロジェクト・グルーピングによって減算されません。最適な状況では、更新操作によって選択された新規プロジェクト・メンバーは以下の方法で収集されます。
例えば、ベースライン内の 1 つ以上のプロジェクトで使用されなかったタスクがそのベースラインにあるとします。更新に使用するタスクの計算時に、そのタスクは減算されません。
次の表では、最初の列の change_api-TC/5.1 は別のコンポーネントのものであり、CM/7.0 ベースライン内にあってはなりません。これがそのベースライン内にあるために、これに関連付けられているすべてのタスクもそのベースラインに含まれることになります。さらに、CM/7.0 または TC/5.1 のどのタスクも、そのベースライン内のどのプロジェクトでも使用されません。したがって、それらのタスクは一切減算されません。これによってパフォーマンスが低下します。
次の表では、最初の列の「見つからない」は、TC 5.2 統合テスト用のプロジェクト・グルーピングのベースラインが見つからないことを示しています。ベースラインがないため、change_api-TC/5.1 のベースライン・プロジェクトは存在し得ません。プロジェクトを更新するときに、想定したメンバーが取得されない可能性があります。
この例は、標準プロセス・ルールで機能しないベースラインを示しています。
CM/7.0 ビルド 1234 のベースライン | <== ベースライン | CM/7.1 の プロジェクト・グルーピング |
---|---|---|
cm_top-CM/7.0 | <== ベースライン・プロジェクト | cm_top-CM/7.1 |
cm_gui-CM/7.0 | <== ベースライン・プロジェクト | cm_gui-CM/7.1 |
cm_api-CM/7.0 | <== ベースライン・プロジェクト | cm_api-CM/7.1 |
cm_platform-CM/7.0 | <== ベースライン・プロジェクト | cm_platform-CM/7.1 |
change_api-TC/5.1 | ||
見つからない | <== ベースライン | TC 5.2 統合テスト用のプロジェクト・グルーピング |
なし | <== ベースライン・プロジェクト | change_api-TC/5.2 |