問題のルーティングは、製品およびそれに関連するリリース、プラットフォーム、コンポーネントについて定義されるルールに基づいて行われます。このルールベースのメカニズムにより、問題のルーティングが 1 つには製品、コンポーネント、リリース、プラットフォームという 4 つの重要な基準の組み合わせに基づいて行われる(また、問題の状態と状態の所有者によっても決まる)ので、問題の割り当てをきめ細かく制御することができます。
たとえば、Product A に関するバグのうち、Installer コンポーネントに関係し Motif プラットフォームに関連するものはすべて、ある受信箱群に送ることができるのに対して、Windows プラットフォーム用の Installer コンポーネントに関係するものはすべて別の受信箱群に送ることができます。
基準セットごとに 以下の 4 つの受信箱を割り当てる必要があります。
• 問題の検証を担当する受信箱(通常は QA 用受信箱)
• 問題の修正を担当する受信箱(通常は開発用受信箱)
• ドキュメントに関する問題の処理を担当する受信箱(通常はドキュメント用受信箱)
• 機能拡張要求を担当する受信箱(通常は機能拡張用受信箱)
細かいルーティング ルールだけでなく、Issue Manager では、製品全体を対象とする 1 つのルーティング ルール(すなわち、デフォルト ルーティング)を定義する必要があります。デフォルト ルーティングでは、特定製品のすべてのコンポーネント、リリース、プラットフォームについての問題が、指定された受信箱群(4 つの受信箱から成る)に送られます。
各受信箱は、QA(品質保証)、開発、ドキュメント、機能拡張要求のいずれか 1 つの領域を扱います。たとえば、Product X のすべての機能拡張要求は、個々のコンポーネント、プラットフォーム、リリースに関係なく、割り当てられた 1 つの機能拡張用受信箱に送られます。
Issue Manager では、他のルーティング ルールが存在しないか適用できない場合にのみ、デフォルト ルーティング ルールを使用します。つまり、デフォルト ルーティング ルールは特定のルールが当てはまらないか指定されていない場合にのみ適用されます。
デフォルト ルーティングのセットアップは Issue Manager での製品セットアップ(「製品の受信箱設定の定義」を参照)の際に行われますが、編集は「ルーティング ルールの追加と編集」セクションの説明に従って行うことができます。
組織のプロセスの分析
組織における作業の詳細を分析することをお勧めします。製品、リリース、プラットフォームのリストを見直し、今度はそのリストに照らして各コンポーネントを検討します。"このプラットフォーム上のこのリリースに含まれるこのコンポーネントについては、誰(すなわち、どの受信箱)が各アクション(たとえば、検証、修正など)を担当するのか" といったことを自問してみます。そのあと、製品、リリース、プラットフォーム、コンポーネントという 4 つの基準のさまざまな組み合わせに必要なだけ、ルールを定義します。
各ルールは、[ルーティング ルール] ページに入力します。
このダイアログの "if-then" 形式のレイアウトに注意してください。これらの条件に問題が一致した場合、すなわち、問題が特定のリリース、プラットフォーム、コンポーネント、および問題種別に関係する場合には、指定された 4 つの受信箱のいずれか 1 つに問題が送られます(4 つの受信箱のどれが選ばれるかは、問題の現在の状態と所有者によって決まります)。これらの概念およびそれらのルーティングに対する影響については、「状態の所有者」を参照してください。
[リリース] フィールドと [プラットフォーム] フィールドに % (パーセント記号)を入力すると、それはすべての文字に一致するワイルドカード文字になります。3 つのフィールド全部でこのパーセント記号を単独で使用した場合、デフォルト ルーティングと同じことになります。すなわち、リリース、プラットフォーム、コンポーネントの値にかかわらず、すべて、このダイアログで指定されている 4 つの受信箱に送られます。
別の例: [リリース] フィールドに「Release 4.%」と入力すると、4.0、4.1、4.1.1 などのすべての Release 4 リリースに一致します。
ヒント: ワイルドカード指定を活用するには、リリース名、コンポーネント名、プラットフォーム名を一貫性を保ちながら指定する必要があります。
ルールは、いったん保存されると、[ルーティング ルール] ページに入力されます。このダイアログは基本的に、特定の製品のルーティング テーブルです。別の製品を選択するには、ページ最上部の [製品] ドロップダウン リストを使用します。
ルーティング ルールの読み方
ここで例として、次のようなルーティング ルールを紹介します: すべてのリリースとすべてのプラットフォームでの Product A に関係する問題は、それが開発準備完了の状態にある場合は Sonja -- Dev の受信箱に、QA 準備完了の状態にある場合は QA エンジニアである Mike の受信箱 Mike -- QA に、機能拡張要求が提出された場合は Product A の機能拡張用受信箱 Dan -- Dev (Product A) に、"Show me" コンポーネントのドキュメントに関する問題が報告された場合は Judy の受信箱 Judy --Doc に、それぞれ送る。
ルールの順序が重要
コンポーネントのルールの順序はきわめて重要です。Issue Manager では、問題のルーティングに当たって、問題の現在の状態(たとえば、レビュー未完了など)をテーブル内の各ルールに順に照らして評価します。一致するルールが見つかったら、それが Issue Manager によって実行されます。一致するルールがなければ、デフォルト ルールに従って問題がルーティングされます。デフォルト ルーティング ルールは、与えられた製品についての他のすべてのルールが適用された後でのみ適用されます。