米国企業改革法 (SOX 法) 第 404 条と Visual Studio Team System 2008

Andrew Delin、Microsoft Corporation

2008 年 4 月

概要

Microsoft Visual Studio Team System 2008 は、企業がソフトウェア開発業務に関する情報を収集する際に利用できます。これは、米国企業改革法 (SOX 法) 第 404 条 (SOX 404) の内部統制の検証とテストなど、規制フレームワークの遵守に利用できる場合があります。

対象製品:

Visual Studio Team System 2008

背景

法令遵守の価値

法令順守関連の用語

米国企業法 (SOX 法) 第 404 条の認定に向けた準備

規制フレームワーク導入の概要

Visual Studio Team System 2008 による法令遵守の支援

シナリオの紹介

Visual Studio Team System 2008 に統制を実装するためのカスタマイズ

はじめに

Microsoft Visual Studio Team System 2008 は、企業がソフトウェア開発業務に関する情報を収集する際に利用できます。これは、米国企業改革法 (SOX 法) 第 404 条 (SOX 404) の内部統制の検証とテストなど、規制フレームワークの遵守に利用できる場合があります。

Visual Studio Team System 2008 は、汎用の法令遵守パッケージ製品ではありません。米国企業改革法、特にその第 404 条は、ソフトウェア アプリケーション開発以外の事業も対象としているため、Visual Studio Team System 2008 が役立つのは、企業が取り組む必要がある法令遵守対策全体の一部に過ぎません。また、企業が抱える SOX 404 のリスクと統制は、企業によって異なります。この記事で紹介するシナリオは、顧客の法令遵守の報告に必要なものではなく、あくまでも例として参考にしてください。

この記事では、Visual Studio Team System 2008 を使用して、ソフトウェア開発における米国企業改革法への遵守を支援するシナリオの例を紹介します。米国企業改革法の遵守は、全社規模で適用される規制フレームワークの一例であり、一貫性のある管理方法が必要とされます。ここで説明する概念は、情報システム コントロール協会 (COBIT)、米国トレッドウェイ委員会組織委員会 (COSO)、国際標準化機構 (ISO) など、他の規制フレームワークに Visual Studio Team System 2008 を使用する場合にも当てはまるものがあります。

Visual Studio Team System 2008 は、コラボレーションによるソフトウェア開発の生産性を向上することを目的とした密接に統合されたソフトウェア開発ツール群です。ソフトウェア開発チームの詳細な作業状況を追跡し、ソフトウェア開発に関係のある米国企業改革法第 404 条の要件の遵守に利用できます。

法令遵守を実施する環境では、Visual Studio Team System 2008 を次のような形で利用できます。

  1. 意思決定の内容、生成された成果物、実行された対応など、詳細なプロジェクト情報の収集システムとして利用できます。
  2. プロジェクトの過去または現在の状態についての詳細な臨時レポートをいつでも生成できます。
  3. SOX 404 の専門家によって定義された正式なリスク統制フレームワークを採用している場合に、役立つ可能性があります。
注注 :
この記事では、ソフトウェア開発に関する SOX 404 要件を組織内に実装するうえで Visual Studio Team System 2008 をどのように活用できるかを示すシナリオの例をいくつか紹介します。これらのシナリオは、あくまでも参考のためのもので、"標準" または "推奨"の SOX 404 統制ではありません。各組織では、それぞれの法的義務を果たすために、独自の法令遵守フレームワークが開発されており、収集するデータや確立されたプロセスは組織によって異なります。

Visual Studio Team System 2008 は、企業がソフトウェア開発業務に関する情報を収集する際に利用できます。これは、米国企業改革法 (SOX 法) 第 404 条 (SOX 404) の内部統制の検証とテストなど、規制フレームワークを遵守するうえで利用できる場合があります。

Visual Studio Team System 2008 は、汎用の法令遵守パッケージ製品ではありません。米国企業改革法、特にその第 404 条は、ソフトウェア アプリケーション開発以外の事業も対象としているため、Visual Studio Team System 2008 が役立つのは、企業が取り組む必要がある法令遵守対策全体の一部に過ぎません。また、企業が抱える SOX 404 のリスクと統制は、企業によって異なります。この記事で紹介するシナリオは、顧客の法令遵守の報告に必要なものではなく、あくまでも例として参考にしてください。

この記事では、Visual Studio Team System 2008 を使用して、ソフトウェア開発における米国企業改革法への遵守を支援するシナリオの例を紹介します。米国企業改革法の遵守は、全社規模で適用される規制フレームワークの一例であり、一貫性のある管理方法が必要とされます。ここで説明する概念は、情報システム コントロール協会 (COBIT)、米国トレッドウェイ委員会組織委員会 (COSO)、国際標準化機構 (ISO) など、他の規制フレームワークに Visual Studio Team System 2008 を使用する場合にも当てはまるものがあります。

Visual Studio Team System 2008 は、コラボレーションによるソフトウェア開発の生産性を向上することを目的とした密接に統合されたソフトウェア開発ツール群です。Visual Studio Team System 2008 は、ソフトウェア開発チームの詳細な作業状況を追跡し、ソフトウェア開発に関係のある米国企業改革法第 404 条の要件の遵守に利用できます。

法令遵守を実施する環境では、Visual Studio Team System 2008 を次のような形で利用できます。

  1. 意思決定の内容、生成された成果物、実行された対応など、詳細なプロジェクト情報の収集システムとして利用できます。
  2. プロジェクトの過去または現在の状態についての詳細な臨時レポートをいつでも生成できます。
  3. SOX 404 の専門家によって定義された正式なリスク統制フレームワークを採用している場合に、役立つ可能性があります。
注注 :
この記事では、ソフトウェア開発に関する SOX 404 要件を組織内に実装するうえで Visual Studio Team System 2008 をどのように活用できるかを示すシナリオの例をいくつか紹介します。これらのシナリオは、あくまでも参考のためのもので、"標準" または "推奨"の SOX 404 統制と見なさないようにしてください。各組織では、それぞれの法的義務を果たすために、独自の法令遵守フレームワークが開発されており、収集するデータや確立されたプロセスは組織によって異なります。

背景

米国企業改革法 (SOX 法) は、米国内のコーポレート ガバナンスの不備に対応するために、2002 年 7 月 30 日に制定された法律です。米国企業の多くが、アジア、アフリカ、欧州、オーストラリアで事業を展開し、パートナーシップを結んでいることから、同法は世界的に影響があると言われています。SOX 404 では、財務報告に関する内部統制 (ICFR) の有効性を保証する証明書の提出を義務付けています。証明書だけでなく、同法の要件を実装することは、組織がプロセスを改善し、業績目標を達成するうえで役立つ可能性があります。

この記事で紹介する例は、SOX 404 が規定する企業の内部統制の対象領域の 1 つであるソフトウェア アプリケーション開発において、使用できる業務管理に該当します。この記事では、監査やテスト段階で必要になる可能性がある内部統制のための情報の収集や生成に、Visual Studio Team System に付属の MSF for CMMI Process Improvement プロセス テンプレートを利用する方法を紹介します。この記事で説明する方法で Visual Studio Team System 2008 を使用すると、監査担当者による監査プロセスで必要な情報収集を支援したり、必要なときに必要な情報を生成できます。

注注 :
Software Engineering Institute の能力成熟モデル (Capability Maturity Model Integration (CMMI、能力成熟度モデル統合) は、カーネギーメロン大学のソフトウェア開発のベンチマーク モデルであり、Visual Studio Team System 2008 のプロセス テンプレートはこれを採用しています。SEI とその資料 (2005 Carnegie Mellon University) を MSF for CMMI Process Improvement で使用するための特別許可が、Software Engineering Institute により与えられています。CMMI は、カーネギーメロン大学により、米国特許商標局に登録されています。

法令遵守の価値

規制フレームワークの遵守は、人に負担を強いて、組織のさまざまな部分のリソースを消費する厄介な作業として見なされることがあります。しかし、基本的に法令遵守の目的はリスク管理であり、業務プロセスの不備や欠如によるリスクから企業の所有者と株主を保護することを目的としています。このような問題が発生し、業者、パートナー、または消費者に影響が出ると、財務状況に大きな影響を受けるだけでなく、企業イメージや評判に傷が付くことになり得ます。法令遵守を達成することは、監査担当者が来社したときだけでなく、営業年度中をとおして、全社レベルで規定された規制目標が達成されることになります。採用したフレームワークの質にもよりますが、法令遵守によって、上層部の管理者や投資家が "正しいことが行われている" ことを確信できるようになります。また、そのことを実証でき、CXO やビジネス意思決定者が「何が起きているのかわからない」と認めなけれなならない事態を避けられます。SOX 法には、後者のような事態を許容する隙はほとんどありません。

法令順守関連の用語

この記事では、企業の法令遵守に関する特殊な意味を持つ専門用語を多数使用しています。このセクションでは、このような用語の一部を紹介します。

  • フレームワーク : 定義されているリスクと、全社レベルで適用され、特定の法令遵守の要件 (企業財務報告など) を伴う関連対策 (つまり、統制) をすべてまとめたものです。

  • リスクベース : フレームワークは、SOX 404 に関わる、最新で明確に定義されたリスク評価に基づいています。このリスク評価によって、統制目標の主眼となる、一連の特定の財務関連リスクが定義されます (統制目標については後で説明します)。

  • 正式に定義されたフレームワーク従った実施 : フレームワークは、かなり厳格に規定されており、通常、資格のある認可された鑑定人により定義され、それを各企業に合わせてカスタマイズします。フレームワークには、チェックポイントとテストが含まれ、上層部の管理者に企業財務報告書のデータが正しいことの保証を求めるなど、さまざまな要件があります。

  • 証拠ベース : フレームワークは実質的なものです。つまり、フレームワークによって、特定されたリスクを実際に管理するために企業内で対策がとられていることの証拠が生まれます。このような証拠がなければ、統制が機能していることは実証できません。

    注注 :
    この記事で Visual Studio Team System 2008 に関連して "証拠" という表現を使用した場合、これは基本的に "情報" を意味するもので、Visual Studio Team System 2008 によって生成された情報が法令遵守の実現に十分な情報であることを示すものではありません。この点については、契約されている法律顧問や SOX 404 の専門家にご相談ください。
  • 継続性 : フレームワークに含まれる対策は、繰り返し、かつ継続して実施されるものです。つまり、監査の時点でのみ "発生する" ものではなく、継続して行われるプロセスです。通常、監査担当者は、規定プロセスの継続的な実施が確立されるように取り組み、継続的に実施されていることを確認するために、不定期でサンプルとなる報告書を生成して細かく確認します。

  • 行動指向 : 法令遵守は、ツールで達成できるものではなく、規定された対策を人が日常的に実施することで達成されます (たとえば、プロジェクト チームは、定期的にリスクを見直し、各実施項目についての意思決定を文書化する必要があります)。これは、ツールによるサポートと人的な活動を組み合わせて、必要な法令遵守レベルを実現できている、フレームワーク実装に見られる特徴です。多くの場合、部門の境界をまたいだり、人またはシステム間で活動フローが発生するため、法令遵守を達成するには調整を行う必要があります。

  • 顧客に関連がある : 顧客 (または事業主) は、ソフトウェア アプリケーション開発業務の委託主である (内部または外部の) グループであり、この業務は SOX 404 要件に関する監査上重要であると見なされます。

米国企業法 (SOX 法) 第 404 条の認定に向けた準備

SOX 404 では、ICFT の有効性に関して、年次報告書を作成することが求められています。これは、会社の経営陣による正確な評価であることが、その会社の監査担当者によって保証される必要があります。この準備として、会社は、統制が機能していることを実証するための試査に耐え得る内部統制が実施されていることを証明する必要があります。通常、このような統制を策定したり、検証したりする作業には時間がかかります。このような統制は、リスクのフレームワーク内にあり、ここから統制が確立され、活動を定義し、証拠が作られます。これらは、フィードバックとして、プロセスのリスクと改善の管理に役立てられます。

次のセクションでは、このフレームワークの一例を紹介します。

フレームワークの導入後は、年次の SOX 404 報告書を作成する際に、特定の業務に対して定義された一連の統制のデータを作成する必要があります。この記事の後半で紹介するシナリオでは、ソフトウェア アプリケーション開発の統制の例に基づいて、この活動を説明します。また、Visual Studio Team System 2008 が、このような統制の証拠の作成と報告にどのように役立つかを紹介します。各シナリオでは、SOX の証明書に使用する年次報告書を作成するデータが作成されます。

規制フレームワーク導入の概要

さまざまな会社に共通する業務 (受注処理、買掛金、製造、研究開発、流通、販売、マーケティングなど) があるとはいっても、企業は自社の事業のリスク評価を独自に実施する必要があります。企業にとってリスク評価を行う目標は、SOX 404 に関連のある特定の一連のリスクを確立し、これらのリスクを長期間にわたって適切に管理する手続きを確立することです。図 1 は、最初のリスク評価の重要性と、各リスク管理とこの評価の関連を示しています。

図 1. ある企業の規制フレームワーク

図 1. ある企業の規制フレームワーク

この最初のリスク評価は、企業が、その企業の法令遵守関連の専門家の協力を得て実施します。この評価の範囲は広く、企業のさまざまな領域が対象になる可能性があります。これは段階的に実施され、より重要な事業領域とリスクを最初に確定する場合もあります。

企業で特定された妥当なリスクごとに、規制の統制目標を文書化し、リスク管理の意図を定義します。たとえば、"特定のリスク" が "ソフトウェアの変更に伴う費用が顧客または事業主に請求されないこと" である場合、これに対応する統制目標は、"すべての請求すべきソフトウェアの変更費用が請求されるように保証すること" になります。次に "統制活動" が行われます。これは、この統制目標を達成する手順で構成された一連の手続きです。たとえば、システムのすべての変更についての請求の可否状況 ("はい" または "いいえ") を示す報告書を定期的に準備することです。また、この統制活動では、報告書が会計部門に提出され、請求記録とずれがないようにする必要もあります。そして、報告書と会計部門への報告書の提出記録が、この統制の "証拠" になります。

Visual Studio Team System 2008 による法令遵守の支援

規制フレームワークは、IT だけでなく、事業活動のさまざまな分野を対象としているため、Visual Studio Team System 2008 は、組織内に導入した規制フレームワークの一部のみを支援するものと位置付けてください。Visual Studio Team System 2008 は、汎用の法令遵守パッケージ製品ではありません。ただし、次のセクションでは、Visual Studio Team System 2008 を使用して、準拠レビューや監査の監査段階やテスト段階において必要な証拠の作成と収集を支援できることを説明します。

図 2 は、組織の SOX 404 準拠要件全体のうち、Visual Studio Team System 2008 が支援できる範囲を示しています。

図 2. 企業のすべての法令遵守要件 (全統制目標)

図 2. 企業のすべての法令遵守要件 (全統制目標)

SOX 404 は、特に資産に影響する取引に関連するものであることに留意してください。ソフトウェア開発による財務的な影響が大きい組織では、Visual Studio Team System 2008 を利用して、SOX 404 要件に準拠していることを示すさらに強力な証拠を収集して報告できます。SOX 404 は、財務統制を対象としていますが、COBIT、COSO、ISO など他の規制フレームワークでは、品質や業界標準への準拠など、より一般的な目標を掲げています。Visual Studio Team System 2008 は、この記事の後半で説明するものと同様のカスタマイズを行うことで、このような他のフレームワークに使用する証拠の収集と報告も支援できます。

また、Visual Studio Team System 2008 は、ソフトウェア開発プロセスについての情報収集と、開発プロセスの累積記録の作成にも役立つことがありますが、このような累積記録に対するアクセス権管理機能は組み込まれていません。また、企業では、SOX 404 の専門家と相談したうえで、Visual Studio Team System 2008 で管理および生成される記録の信頼性の向上を図ることができます。たとえば、手続きの統制 (正式な承認や記録など) や、プロジェクト管理者やチーム メンバに対する教育 (データを変更または削除する特定のツールを使用することの重要性や、これが法令遵守の取り組み全体に対してどのような影響があるかを啓蒙する) などを組み込みます。

シナリオの紹介

この記事では、Visual Studio Team System 2008 を使用していくつかの統制例をサポートする方法を示す一連の簡単なシナリオを紹介します。この記事では、Visual Studio Team System 2008 の CMMI テンプレートと、一般的な作業項目について、ある程度の理解があることを前提としています。ここでは、ある企業が SOX 404 に詳しい鑑定人と協力して、事業の包括的なリスク分析を行うことを想定しています。

一般的に、このような評価では、結果として作成された登録簿には全社で収集された 50 ~ 300 件のリスクが含まれます。これらのリスクに対して統制を実装する必要があります。下記の一覧には、この企業の IT 部門におけるソフトウェア アプリケーション開発に関連する 6 件のリスクが含まれています。これらのリスクが発生し得るシナリオは次のとおりです。

表 1. SOX 法 404 条 : アプリケーション開発のリスク シナリオ

1.

プロジェクト進行中に発生する重大なリスクが、認識または軽減されない。

2.

未承認の変更がプロジェクトに組み込まれる。

3.

顧客からの変更要求のステータスが追跡されない。

4.

顧客の要件を理解または定義できていないものがある。

5.

顧客または事業主にシステムの変更費用が請求されない。

6.

既にリリースしているシステムに変更が組み込まれない。

以下のセクションでは、上記の IT 関連のリスク シナリオの詳細を確認し、Visual Studio Team System 2008 も含め、その実装について説明します。ただし、これらのシナリオを発展させて、その他の Visual Studio Team System 2008 機能 (ソース コードの分岐によるリリースの管理など) を説明することは、この記事の範囲外となるため行いません。

シナリオ 1: 重大なプロジェクト リスクの効果的な管理

このシナリオでは、組織のソフトウェア プロジェクトに対するリスク管理の適正性に関する特定の領域を検証します。ソフトウェア開発プロジェクトのリスク管理が適切に実施されていない場合、確認されなかった重大なリスクは、企業で追加の費用が発生する原因となり、外部の関係者に直接的な財務上の影響を及ぼす可能性があります。

項目

詳細

特定されたリスク

重大なプロジェクト リスクが、プロジェクトのライフサイクルで発生した場合に、認識されず軽減されない。

領域

リスク管理。

統制目標

プロジェクトのライフサイクルで発生したすべての重大なプロジェクト リスクが認識および軽減されるようにする。

統制活動

プロジェクトのライフサイクルを通じて Visual Studio Team System 2008 内でリスク登録簿を管理する。プロジェクト マネージャは、リスクが Visual Studio Team System 2008 に登録され、エスカレートされたリスクがプロジェクト リスク担当チームによってレビューされるようにします。

"証拠"

リスクの記録、エスカレーション レポートとリスク追跡レコード、プロジェクト リスク担当チームの議事録。

Visual Studio Team System 2008 を使用した実装

このシナリオは、重大なリスクの管理プロセスを定義し、CMMI リスク作業項目に追加のフィールドをいくつか追加することで、Visual Studio Team System 2008 に実装できます (詳細については、このセクションの「使用されるフィールド」を参照してください)。ここでは、深刻度が "致命的" または "高" に設定されているリスク作業項目を "重大" であるとします (深刻度は既存のフィールドです)。

必要なプロセスの概要

Visual Studio Team System 2008 の標準の CMMI テンプレートには、リスク作業項目が含まれています。このセクションの後半で説明するフィールドを追加することで、CMMI テンプレートを使用して、法令遵守目的で "重大なリスク登録簿" という概念をサポートできます。

簡単にクローズできない重大なリスクがプロジェクト内で発生した場合、このリスクは "エスカレート済み" (Escalated) に設定され、履歴フィールドにコメントが追加されます。これにより、リスクがプロジェクト リスクのレビュー チーム (またはそれに相当する機関) によりレビューされるようにすることができます。このチームは、重大なリスクを 1 つ 1 つレビューして発生し得る影響を評価し、リスクの軽減計画とコンティンジェンシー計画を管理する正式に決定されたグループです。このレビュー ミーティング中に控えられたメモは、各作業項目の (既存の) 履歴フィールドに記録されます。

イテレーション パス (既存のフィールド) を使用して、どのイテレーションでリスクが解決されるかを推論できますが、新しい目標期日 (Target Date) フィールドを使用すると、このリスクが重大でない状態に軽減されると予測される期日をより明示的に宣言できます。目標期日 (Target Date) フィールドは、担当のリスク所有者 (Accountable Risk Owner、新しいフィールド) によって設定されます。

(既存の) 終了者フィールドと終了日フィールドは、担当のリスク所有者 (Accountable Risk Owner) が設定する必要があります。リスクの終了は、"解決者" や "解決日" と同じであるとは見なされません。解決は、最終的な承認を受けてリスクが終了する前の状態です。リスクの終了は、定期的に行っている重大なリスクのレビュー ミーティング中に、プロジェクト リスク担当チームによって承認された状態です。作業項目の状態ワークフローを変更して、(新しい担当のリスク所有者セキュリティ グループのメンバである) 担当のリスク所有者 (Accountable Risk Owner) のみが状態を解決から終了に変更できるようにすることもできます (リスク所有者は技術スタッフとは限らないので、Visual Studio Team System 2008 へのアクセスには、Web アクセス クライアントが適している場合があります)。

企業は、プロジェクト リスクに関する規定ドキュメントを作成できます。これは、重大なリスクのリスク管理方法を規定するドキュメントです。これには、プロジェクト リスク担当チームのメンバの一覧が含まれます。この一覧は、Accountable Risk Owners セキュリティ グループのメンバの一覧と同じものになります。プロジェクト リスク担当チームのメンバシップの変更は、このドキュメントに反映され、セキュリティ グループも変更当日に更新されます。プロジェクト リスクに関する規定ドキュメントには、プロジェクト リスク担当チームのミーティングの予定も記載されます。また、プロジェクト リスクに関する規定ドキュメントでは、CMMI テンプレートのリスクの深刻度 (Risk Severity) フィールドの値が "高" または "致命的" であるものが "重大" なリスクであることが規定されています。プロジェクト リスクに関する規定ドキュメントには、Visual Studio Team System 2008 サーバーがある場所や、リスク担当チームの監視対象となった Visual Studio Team System 2008 のプロジェクト名などの詳細情報も含まれます。

プロジェクト リスク担当チームのミーティングのメモや議事録は、どの規制フレームワークでも有用なコンポーネントになります。このような議事録をリスク作業項目に添付するか (既存の添付ファイル フィールドを使用)、リソース ポインタ (URL またはファイル参照) を履歴フィールドに入力します (Microsoft Office SharePoint Server (MOSS) 内のドキュメントへのポインタなど)。議事録には、リスク作業項目の軽減計画やコンティンジェンシー計画がレビューまたは更新されたかどうかや、リスクが積極的に管理されている別の方法などが記録される場合があります。

企業では、Team System を使用して、次のようなクエリを行うことで、管理対象の重大なプロジェクト リスクを体系的かつ適切な方法で追跡できます。

  1. 深刻度が "高" と "致命的" に設定されているリスクの一覧を作成します。
  2. 各リスクの状態フィールドを確認して、アクティブなリスク、解決したリスク、および終了したリスクがすべて確認されるようにします。
  3. リンク フィールドを使用して、この一覧にある各リスクを対応するタスク作業項目にリンクして、各リスクに対応するためにいずれ実施されるプロジェクト活動を示します。Office Excel にクエリを実装して、親リスクから派生しているリンクされたタスクを表示することもできます。
  4. 各リスク作業項目の履歴フィールドを確認して、これまでのリスクに対する実際の変更を洗い出します。リスクのライフサイクル中に、実際に活動が行われていることを確認します。たとえば、リスクが "エスカレート済み" (Escalated) に設定された時点で、履歴にどのような理由が記録されているかを確認します。
  5. リスクの解決日と終了日を比較して、この両日間に、プロジェクト リスク担当チームのミーティングが開催されている (つまり、解決と終了が同じ日ではない) ことを確認します。
  6. 終了日と目標期日を比較して、リスク管理のタイミングの有効性を検証します。
  7. 終了者フィールドと正式に明文化されている Accountable Risk Owners セキュリティ グループとを比較します。

上記の一覧は完全なものではなく、Visual Studio Team System 2008 を使用して実現できる作業の一例です。これを、ソフトウェア アプリケーション開発プロジェクト用の正式なプロジェクト リスク登録簿を実装するための基盤として使用することもできます。

このシナリオから、企業の規制フレームワークの目標をサポートするには、人的な活動とツールによる支援を組み合わせることが必要なことがおわかりいただけると思います。Visual Studio Team System 2008 を使用するメリットは、プロジェクトの日々の実作業に、ツールが沿っていることです。したがって、収集される情報は、実際の出来事を反映したものになる可能性が高く、このように忠実にチーム ソフトウェア開発の状態が反映されるため、チーム プロセス (リスク管理など) の有効性が向上する傾向があります。

使用されるフィールド

リスク作業項目の既存のフィールドのほかに、CMMI テンプレートをカスタマイズして、以下のフィールドを追加できます。

新しいフィールド

説明

担当のリスク所有者 (Accountable Risk Owner)

リスクのライフサイクルと、その最終結果に責任を持つ人物の名前を指定するフィールドです。この名前は、新しい Accountable Risk Owners セキュリティ グループのメンバにする必要があります。

エスカレート済み (Escalated)

リスクがプロジェクト リスク担当チームのレビュー対象としてエスカレートされているかどうかを示すフラグ フィールドです。このフィールドで "エスカレート済み" (Escalated) と設定されているリスクはすべて、プロジェクト リスク担当チームの定期ミーティングでレビューが行われます。

目標期日 (Target Date)

リスクが終了されるべき目標の期日を指定するフィールドです。

このセクションでは、Visual Studio Team System 2008 クライアントのビュー画面をいくつか示し、前述のリスク方法を実装する手順を示します。CMMI テンプレートで、リスク作業項目をカスタマイズすると、これらのビューを表示できるようになります。

図 3 は、プロジェクトのリスクを検証するために実行されるクエリを示しています。リスク作業項目に追加した 3 つの追加のフィールド (担当のリスク所有者/Accountable Risk Owner、エスカレート済み/Escalated、目標期日/Target Date) は、黄色で強調表示されています。

図 3. プロジェクトのリスクを検証するクエリ

図 3. プロジェクトのリスクを検証するクエリ

このクエリによって、深刻度が "致命的" または "高" に該当する 8 つのリスクを含む一覧が生成されます。一覧の最初の項目が強調表示され、一覧の下には作業項目フォームが表示されます。各リスクには、完了までそのリスクを監視する正式な責任者である担当のリスク所有者 (Accountable Risk Owner) と、前のセクションで説明した解決の目標期日 (「必要なプロセスの概要」参照) が指定されています。

このクエリでは、表示するレコードを制限するフィルタを適用して、関連フィールドの任意のセットを取得できます。クエリは、Visual Studio チーム エクスプローラに簡単に組み込むことができるので、監査を行うためのクエリをすばやく作成できます。

図 4 は、SOX 404 Escalated Risks を表示する場合のクエリの定義です。

図 4. SOX 404 Escalated Risks を表示するクエリの定義

図 4. SOX 404 Escalated Risks を表示するクエリの定義

この画像は、前述のリスクを選択する条件を示しています。この場合、ユーザーが、深刻度が "致命的" または"高" で、状態が "アクティブ"、"解決"、または "終了" であるリスク作業項目のみを表示するように選択しています。また、プロジェクト リスク担当チームにエスカレート済み (Escalated) であるリスクのみを表示するために、この条件もクエリ定義に含まれています。

結果一覧に表示されるフィールドは、クエリ定義自体とは別に構成することもできます。このようにすると、並べ替えの際に使用する追加のデータを表示できます。

図 5 は、クエリの結果セットに表示するフィールドを選択するダイアログ ボックスです。

図 5. クエリの結果セットに表示するフィールドを選択する [列のオプション] ダイアログ ボックス

図 5. クエリの結果セットに表示するフィールドを選択する [列のオプション] ダイアログ ボックス

シナリオ 2: プロジェクトに対する未承認の変更の防止

このシナリオでは、開発中のソフトウェアを変更するプロセスに関連付けられている厳密度について説明します。変更が厳しく管理されないと、契約上の機能と、提供される機能に差異が生じる可能性があります。変更を明らかにできない場合、重大な影響がある可能性があります。たとえば、プロジェクトのスケジュール、セキュリティ、既存の機能に影響を与えることがあります。

項目

詳細

特定されたリスク

未承認の変更がプロジェクトに組み込まれる。

領域

変更管理。

統制目標

プロジェクトの変更要求すべてが、正式な手続きにより承認され、プロジェクトの障害とならないようにする。

統制活動

変更要求を、プロジェクト変更担当チームの取り決め事項 (ドキュメント) に従って承認する。すべての変更要求に対して、影響とリスクの評価を実施する。変更担当チームは、変更に関するレビューと承認プロセスの一環として、適切な影響とリスク分析が完了しているように管理する。各変更要求ドキュメントに関連情報を記録する。

"証拠"

承認された変更要求と、変更要求のレビュー内容を記載したプロジェクト変更担当チームの議事録のコピー。

Visual Studio Team System 2008 を使用した実装

既存の CMMI テンプレートには、既に変更要求作業項目が用意されています。いくつかのフィールドを追加して、現在のフィールドを変更すると、より証明可能性のレベルが高い変更要求システムを実現できます (フィールドの追加については、このセクションの「使用されるフィールド」を参照してください)。

必要なプロセスの概要

正式な変更管理プロセスの要は、影響分析とリスク評価という概念です。CMMI テンプレートには、"~への影響" (Impact on) という名前の複数のフィールドが含まれています。これらを必須フィールドにすることで、さまざまな観点 (アーキテクチャ、テスト、ユーザー エクスペリエンスなど) から変更のステートメントを取得できます。また、"スケジュールへの影響" (Impact on Scheduling) という名前の新しいフィールドには、この変更がもたらすプロジェクト管理上の影響についてのステートメントを入力する必要があります。

シナリオ 1 で説明したリスク シナリオと同様に、各変更要求作業項目には "担当の変更所有者" (Accountable Change Owner) フィールドが必要です。この人物は、職責として、確実に影響およびリスクの評価が実施されるようにするほか、変更要求作業項目の状態を "提案済み" から "アクティブ" に、その後、"解決" から "終了" に移行するうえで非常に重要な役割を果たします。前者の "提案済み" から "アクティブ" への移行は、変更を実施することと、変更の影響が適切に評価および把握されていることを表すため重要です。また、後者の "解決" から " 終了" への移行は、変更が変更要求の詳細に従って正しく実施されたことが確認されていることと、影響とリスクが管理されていることを表すため重要です (これらの状態の変化をより適切に使用できるように、変更要求作業項目の XML 定義で TRANSITIONS に特定の REASON 値を追加することもできます。たとえば、上記の状態を変更するときに "承認された変更依頼" (Proposed Change Agreed) や "正しいことが確認された変更" (Change Verified Correct) のような値を選択するなどです)。

状態の変更は、Accountable Change Owners セキュリティ グループのメンバのみが行えます。電子メール メッセージによるカスタムの通知を構成して、項目の状態が関心のある状態に変更されたときに、変更所有者やディスカッション リスト宛にメールが送信されるようにすることができます。この状態の変更がわかりにくい場合は、"承認した顧客 (名前)" (Customer Approval Given By name) などの追加のカスタム フィールドの使用を検討できます (詳細については、シナリオ 4 を参照してください)。

すべての変更要求を定期的にレビューするために、変更担当チームを編成できます。このグループの業務については、変更担当チームの取り決め事項ドキュメントにおいて規定されます。取り決め事項には、ミーティングの開催頻度や、メンバシップ (新しい Accountable Change Owners セキュリティ グループのメンバと同じ) などを含められます。このドキュメントは、変更要求作業項目のフィールドと状態を管理するセキュリティ グループと歩調を合わせることができます。

変更の実装は、ソフトウェア開発の間に、特定のイテレーションで行われるようにスケジュールすることもできます。"イテレーション パス" フィールドを使用して、変更が割り当てられたイテレーションを取得できます。

変更を実施 (つまり、状態がアクティブに移行) する前に、影響分析とリスク評価を実施できます。この作業が完了した時点で、影響のフィールドに値が設定され、1 つ以上のリスク作業項目が変更管理作業項目にリンクされるようにすることもできます。リンクされた各リスク作業項目には、その変更の実装において対応すべきリスクが記載されています。リスク作業項目では、リスクの評価とリスク管理活動が明示されています。この関連付けは、既存の "リンク" フィールドを使用して設定できます。

評価対象期間のすべての変更要求の一覧を作成することができます。この一覧は、提案済み、アクティブ、解決、終了の各状態別にグループ化できます。"提案済み" より後の段階の移行された変更要求については、各変更について話し合われた変更担当チームのミーティングのメモや議事録を確認できます。このような議事録を変更要求作業項目に添付するか (既存の添付ファイル フィールドを使用)、リソース ポインタ (URL またはファイル参照) を履歴フィールドに入力します (MOSS 内のドキュメントへのポインタなど)。議事録には、影響のフィールドが確認されていることと、リスク評価 (リスク作業項目のセット) が承認されていることが記載されています。

変更要求作業項目は、システムの新しい要件の具象化と見なすことができます。この作業項目では、変更の実装にあたり、どのような作業が発生し、それがいつ実行されたかを示すことができます。それには、要件作業項目をこのアクティブな変更要求作業項目にリンクします。また、このようにすることで、各作業項目が実行された日付も含めて、要件を実装した新しいタスク作業項目を表示できます。この方法は、チームやプロジェクト マネージャが使用する、累積フロー レポートとも整合性があります。

前述のとおり、たとえば次の情報を表示する一覧など、いくつかのクエリを使用して情報を収集し、変更要求プロセスが統制のとれた形で実行されるようにすることができます。

  1. 状態が提案済み、アクティブ、解決、終了である変更要求。
  2. 変更要求のタイトルとリンクされている子のタスク作業項目 (それぞれの所有者、日付、状態も含む)。
  3. 状態が ("終了" ではなく) "解決" になっている変更要求 (変更担当チームによって終了の承認を受けていない変更要求を確認するため)。
  4. 単に影響が検討されたことを暗に示すだけでなく、たとえば、チームの考えを記した詳細な説明などを含む、影響に関するフィールド。
  5. 変更要求に関連付けられているリスク作業項目。

使用されるフィールド

カスタマイズにより、次のフィールドを変更要求作業項目に追加して、正式に定義された変更要求プロセスにおいて、より詳細な変更管理を行うことができます。

新しいフィールド

説明

担当の変更所有者 (Accountable Change Owner)

開発中のソフトウェアに対する "変更" の提案者と終了者の名前を指定します。この人物が、変更に伴う影響の評価とリスク分析の実施と、変更要求の詳細に従って最終的な処理の承認を担当します。担当の変更所有者 (Accountable Change Owner) は、新しい Accountable Change Owners セキュリティ グループのメンバある必要があります。

スケジュールへの影響 (Impact on Scheduling)

変更要求の実装時にその変更要求によるスケジュールへの影響を記録する領域を追加することで、CMMI テンプレートの既存の "~への影響" (Impact on) という名前のフィールドを拡張するフィールドです。これは、影響の評価の 1 要素として使用されます。

アーキテクチャへの影響 (Impact on Architecture)、テストへの影響 (ArchitectureImpact on Test)、デザインと開発への影響 (Impact on Design/Development)、技術発行物への影響 (Impact on Tech Pubs)、ユーザー エクスペリエンスへの影響 (Impact on User Experience)

既存の CMMI テンプレートのフィールドで、それぞれを必須フィールド ("必須") に設定し、これらのフィールドすべてにコメント ("影響なし" というコメントであっても) を入力しなければならないように設定します。

図 6 は、上記のシナリオで説明したように、正式に定義された変更プロセスに関連付けられている拡張データを取得できるように変更された変更要求作業項目です。

注注 :
ここに記載されている変更要求シナリオをサポートするには、"担当の変更所有者" (Accountable Change Owner)、"請求可能な変更" (Change Is Billable)、"顧客による変更要求" (Customer Requested Change)、"承認した顧客 (名前)" (Customer Approval Given By) というフィールドを追加する必要があります。これらのフィールドは、作業項目フォームの新しい "法令遵守" (Compliance) グループに追加されています。また、[分析] タブには "スケジュールへの影響" (Impact on Scheduling) という名前の新しいフィールドも追加されています (新しいフィールドはすべて黄色で強調表示されています。)

図 6. 変更された変更要求作業項目

図 6. 変更された変更要求作業項目

図 7 は、変更要求と関連するタスク作業項目の検証に着手する際のデータとして、変更要求を表示するクエリを実行した結果です。

図 7. タスク作業項目の検証に使用する変更要求を表示するクエリの実行結果

図 7. タスク作業項目の検証に使用する変更要求を表示するクエリの実行結果

関連付けられているタスク作業項目を参照するには、各変更要求を開いて、[リンク] タブを確認する必要があります (図 8 参照)。

図 8. 変更要求 202 にリンクされている作業項目の参照

図 8. 変更要求 202 にリンクされている作業項目の参照

図 9 は、変更要求の取得に使用するクエリの例です。この図では、ワークフロー内の変更要求で状態が "解決" になっているもの (変更担当チームによる終了承認が得られていない変更要求) のみを選択するようにクエリを変更しています (項目 3. 参照)。

図 9. 解決状態の変更要求のみを選択するように変更されたクエリ

図 9. 解決状態の変更要求のみを選択するように変更されたクエリ

シナリオ 3: 変更要求の適切な追跡

このシナリオでは、要求の発生から終了に至るまでの変更要求の追跡を取り上げます。変更が適切に追跡されないというリスクを防ぐには、各変更に関連付けられている一連の作業要件が取得および実行されるように、適切に構成されたプロセスが必要です。顧客は、顧客が承認した変更についての正確な進捗状況の報告を求め、スケジュールの変更、時間の超過、機能の縮小などについて、早い段階で知る権利があります。

項目

詳細

特定されたリスク

変更要求の状態が追跡されない。

領域

変更管理。

統制目標

確実にプロジェクトの変更が追跡され、状態が定期的に更新されるようにする。

統制活動

すべての変更が実装時に Visual Studio Team System 2008 に記録されるようにし、その進捗状況が承認されてから終了されるまで追跡されるようにする。

"証拠"

変更要求の記録。

Visual Studio Team System 2008 を使用した実装

このシナリオは、前のシナリオ (シナリオ 2) を発展させて、変更要求の追跡と、開発中のシステムに対する変更を表す作業項目の関係を取り上げます。

必要なプロセスの概要

変更要求の状態が "提案済み" から "解決" に変わった実際の変更の履歴と、この変更と元の要件との関係を確認できます。それには、1 つ以上のクエリを使用して、各要件の変更要求を表示し、その下に変更要求にリンクしているタスク作業項目のセットを表示します (図 10 参照)。

図 10. 変更要求の "履歴" (関連のある要件とタスク)

図 10. 変更要求の "履歴" (関連のある要件とタスク)

この構造は、作業項目間のリンクを使用して、要件がタスクによって実装されること、変更要求が要件に属していること、および変更要求がタスクによって実装されることを示しています。それには、項目間のリンクの種類を追加するときに "作業項目" を指定します (図 11 参照)。

図 11. リンクの種類を追加している [リンクの追加] ダイアログ ボックス

図 11. リンクの種類を追加している [リンクの追加] ダイアログ ボックス

このシナリオでは、(シナリオ 2 の) プロジェクトの変更担当チームが、システムに対する変更ごとに実行される必要がある作業のすべての "親" として、変更要求を使用することに決定したものとします。この決定は、変更要求の管理方法を規定する、変更担当チームの規定ドキュメントに記録される必要があります。

また、変更要求が承認された日から解決された日まで、一連のタスクを追跡したい場合もあります。この場合、当該タスクの履歴フィールドには適切な情報が設定される必要があります。

定期的に別の方法でプロジェクトの変更を追跡する場合は、クエリを実行して、状態が "解決" または "終了" の変更要求を強調表示できます。このような変更要求には、実行された作業を表す、関連の完了したタスク作業項目が 1 つ以上含まれていると思われます (下記の「例」参照)。この条件が該当しない場合は、変更要求が Visual Studio Team System 2008 に登録されてから、どの程度の追跡と記録が実施されているかを確認するため、さらに検証を行う必要があります。

使用されるフィールド

このシナリオは、変更要求作業項目の既存のフィールドを使用して実装できます。また、他の作業項目も使用されます。

上記の説明を踏まえ、図 12 は "提案済み" より後の状態になっている変更要求を取得するクエリを示しています。

図 12. "提案済み" より後の状態になっている変更を取得するクエリ

図 12. "提案済み" より後の状態になっている変更を取得するクエリ

対応する "親" の要件と、子である開発タスクを参照するには、変更要求を開いて、[リンク] タブを確認する必要があります (図 13 参照)。

図 13. 変更要求の確認のために開かれた [リンク] タブ

図 13. 変更要求の確認のために開かれた [リンク] タブ

この時点では、一覧に含まれている各関連作業項目を調べて、その状態が変更要求に適合しているかどうかを確認できます。たとえば、終了された変更要求には、終了された開発タスクと、状態が "解決" または "終了" のいずれか (少なくとも "アクティブ") になっている "親" 要件がある必要があります。

シナリオ 4: 顧客の変更の定義と理解

このシナリオでは、変更プロセスへの顧客の関与を取り上げます。顧客は、チームが要求された変更を理解し、その変更に取り組んでいることを十分に確認できる必要があります。顧客が変更要求を行うと、費用が発生します。不十分または不適切な変更を実装した場合、顧客の事業にさまざまな財務上の影響や他の影響が及びます。

項目

詳細

特定されたリスク

顧客の要件を理解または定義できない。

領域

変更管理。

統制目標

顧客が要求した要件変更は、変更を実装する前に、顧客によって承認されるようにする。

統制活動

顧客が要求したすべての要件変更ごとに変更要求を作成する。変更要求は、文書化された規定に従って変更プロセスに沿って処理する。変更の承認処理に、顧客による承認ステップを追加する。

"証拠"

承認された変更要求、変更担当チームの議事録のコピー、変更要求に添付される顧客による承認を示す資料 (電子メールなど)。

Visual Studio Team System 2008 を使用した実装

このシナリオは、いくつかのフィールドを変更要求作業項目に追加し、顧客による承認の証拠を作業項目に添付するように要求することで、実装できます (追加フィールドについては、このセクションの「使用するフィールド」を参照してください)。

必要なプロセスの概要

システムへのすべての変更について、変更要求を作成する必要があります。変更の実装プロセスについては、変更担当チームの取り決め事項ドキュメントにおいて規定されます。このシナリオでは、変更要求の状態を "提案済み" から "アクティブ" に移行するために必要な承認プロセスにおいて、顧客が追加の承認ポイントとなる必要があります。この場合、顧客が提案済みの変更についての計画を確認し、変更の詳細を了承することを表明しなければ、承認されたことにはなりません。この証拠は、変更要求作業項目の添付ファイル フィールドに格納されます。また、顧客の名前が、新しい "承認した顧客 (名前)" (Customer Approval Given By) フィールドに記録されます。

履歴フィールドは、各種の作業項目にある既存のフィールドです。このフィールドは、その作業項目のすべてのフィールドの変更についての集積ログで、タイム スタンプが付けられています (履歴フィールドは、特定の日付の "時点の" 作業項目のクエリをサポートします。たとえば、7 月 1 日時点の変更要求 #501 を表示できます)。変更要求が顧客に承認されると、履歴フィールドには、このフィールドの値が変更された日時 (承認した顧客名が入力された日時) が表示されます。この変更は、変更要求作業項目の状態が "提案済み" または少なくとも "アクティブ" になった日に発生することが考えられます。

特定の変更に関する顧客からの電子メール (たとえば、設計ドキュメントのバージョン番号に言及しているもの) など、添付された証拠によって、変更の承認と承認されたバージョンについて、ある特定の日に行われた顧客とのやり取りを確認する手段が提供されます。

顧客の要求に基づいた変更要求の一覧と顧客名の一覧が必要になる場合があります。このような一覧は、クエリによって取得できます。

一貫性を保つため、変更要求は、元の要件作業項目にリンクして、顧客の変更を当初要求されていたシステムの機能に関連付ける必要があります。

変更担当チームの議事録を確認する必要がある場合があります。これは、その変更要求について正式な討議を記録したもので、ミーティングに参加した顧客の情報も含まれます。議事録は、変更要求作業項目に添付することも (添付ファイル フィールドを使用) 、イントラネット ドキュメント ライブラリやファイル共有 (MOSS のドキュメントの URL など) にリンクすることも (リンク フィールドを使用) できます。

通常、状態を "提案済み" から "アクティブ" に変更するのは、顧客 (変更担当チームのメンバである場合) か変更担当チームのメンバのみです。これについては、履歴フィールドに保持されているデータを要求するクエリを使用することで確認できます。前述のシナリオで説明したとおり、このシナリオは、技術的には、Accountable Change Owners (該当する場合) などのセキュリティ グループを使用することで、実装されます。

使用されるフィールド

変更要求作業項目に以下のフィールドを追加すると、顧客による変更承認機能を強化できます。

新しいフィールド

説明

顧客による変更要求 (はい/いいえ) (Customer Requested Change(Yes/No))

変更の要求者が顧客であるかどうかを示すフィールドです。このシナリオでは、顧客から要求された変更のみを対象とし、内部デザインの変更などは取り上げていません。

承認した顧客 (名前) (Customer Approval Given By (name))

変更を承認した顧客の名前を示します。このフィールドに名前が設定されている場合、変更の実施が承認されていることになります。このフィールドは、変更要求の状態を "アクティブ" に変更する当日か、その前に設定します。このフィールドが設定されないと、作業項目の状態が "提案済み" から "アクティブ" に変更できないように構成される場合もあります。

現時点では、履歴フィールド内のフィールド変更ログの検索はできません。ただし、クエリを作成して、(社内で発生したものではなく) 顧客によって要求され、顧客により承認済みであると設定されているすべての変更要求を表示することはできます。

このような一覧を取得したら、履歴フィールドを目視で確認することで、各変更要求の顧客の承認フィールドが設定された日付を確認できます。また、履歴フィールドを確認して、変更担当チームの議事録が変更要求作業項目に追加された日時を参照したり、添付されている議事録を読むことができます。作業項目への各変更は、変更したユーザーの名前と併せて、履歴フィールドに記録されます。

図 14 は、顧客によるシステムの変更を表示するクエリです。このクエリでは、顧客名が指定されているほか、状態が "アクティブ"、"解決"、または "終了" になっている変更を対象としています。

図 14. 顧客による変更を取得するクエリ

図 14. 顧客による変更を取得するクエリ

このクエリ結果にある変更要求項目を開くと、以下のような [添付ファイル] タブが表示されます。このタブには、Office Word 文書として添付されている、変更担当チームのミーティングの議事録が表示されています (図 15 参照)。

図 15. 変更要求項目の [添付ファイル] タブ

図 15. 変更要求項目の [添付ファイル] タブ

[履歴] タブに切り替えると、変更担当チームの議事録が変更要求に添付された日時の詳細と、この変更要求の状態を "アクティブ" から "解決" に変更したユーザー名を確認できます。履歴フィールドのデータは累積データであり、(適切なメカニズムが導入されている場合) 変更できません。これにより、その変更要求に関して実行された活動 (フィールドの変更、状態の変更、ドキュメントの添付など) を追跡できるようにしています (図 16 参照)。

図 16. 変更要求項目の [履歴] タブ

図 16. 変更要求項目の [履歴] タブ

シナリオ 5: すべての変更の費用の顧客への適切な請求

このシナリオでは、ソフトウェアの変更に伴う費用が顧客に請求されていない (つまり、適切に課金されていない) 状況について検証します。

項目

詳細

特定されたリスク

顧客または事業主に対して、変更の費用が請求されない。

領域

変更管理と契約管理。

統制目標

終了した請求対象のすべての変更が、正確かつ完全に請求されるようにする。

統制活動

請求可能な変更を確認する。この確認は、請求可能な変更ごとに行います。

"証拠"

どの変更が請求可能であるかを示すレポートから取得した情報。

Visual Studio Team System 2008 を使用した実装

Visual Studio Team System 2008 は課金エンジンではありませんが、これを使用して、請求内容の調整のため、会計部門にプロジェクトの変更についての情報を提供できます。Visual Studio Team System 2008 は、開発プロセスを詳細に追跡管理できるため、各変更の請求状態や、各変更を実装するために行われた作業量なども含め、開発中のソフトウェアの変更についての情報を収集および文書化するツールとしてすぐに使用できます。

必要なプロセスの概要

変更が顧客や変更担当チームによって承認されたときには、変更要求の状態が "提案済み" から "アクティブ" に変更された時点で、"請求可能な変更" (Change Is Billable) フィールドが設定される必要があります。このフィールドが正しく設定されるように、厳密に処理される必要があります。この変更の請求可能な状態について顧客が承認していることを示す、添付された顧客からの情報を参照できます。これには、添付ファイル フィールドを使用します。(前述の新しいフィールドの設定が) 請求可能になっているすべての変更要求の一覧をクエリを使用して取得し、これらの作業項目の添付ファイルを調べて、顧客がこれらの変更に対する請求が発生することを認識していることを確認できます。

社内の会計プロセスでは、この請求が調整されていることを示す証拠も確認できます。請求可能であると設定されていて、状態が "終了" または "解決" になっているすべての変更要求の一覧を取得するクエリが必要になる場合もあります。この一覧には、会計処理に使用される一意の顧客勘定 ID (変更要求作業項目のフィールドとして追加できます) もおそらく含まれます。この一覧を会計部門と調整し、社内のソフトウェア開発プロセスと、顧客に対する請求/課金プロセス間で、完全な整合性が保たれるようにします。

請求可能な変更要求に関連付けられている、完了したタスク作業項目を確認して、顧客に提示した作業量が実際に処理されていることを確認できます。

使用されるフィールド

このシナリオは、CMMI テンプレートの変更要求作業項目に新たなフィールドを追加することで実装できます。

新しいフィールド

説明

請求可能な変更 (はい/いいえ) (Change Is Billable(Yes/No))

既存の承認されたプロジェクトの料金を拡張または変更して、顧客に変更の実装費用を請求できるかどうかを示すフィールドです。

図 17 は、顧客に対して請求可能であると設定されていて、状態が "解決" および "終了" になっている変更要求の特定に使用できるクエリです。

図 17. 状態が "解決" および "終了" になっている請求可能な変更要求を表示するクエリ

図 17. 状態が "解決" および "終了" になっている請求可能な変更要求を表示するクエリ

変更要求 202 の [リンク] タブでは、この変更をシステムに実装した、リンクされているタスク作業項目を確認できます (図 18 参照)。

図 18. 変更要求項目の [リンク] タブ

図 18. 変更要求項目の [リンク] タブ

変更を適用するために実際に行われた作業 (実働時間数) を確認するには、各タスク作業項目を開きます。変更要求 202 について実施された作業の費用については、会計システムで、この顧客の関連する請求可能な料金を調整する必要があります。

シナリオ 6: 納品システムへの顧客の変更の実装

このシナリオでは、納品システムに、依頼された機能が実装されていないリスクを取り上げます。このリスクにより、財務上の影響が発生する場合があります。たとえば、契約が履行されていないものとして扱われたり、システムが期待どおりに機能しない場合、顧客の事業に影響が出る可能性があります。

項目

詳細

特定されたリスク

変更がリリースに組み込まれていない。

領域

変更管理とリリース管理。

統制目標

確実にすべての変更がリリースに実装されるようにする。

統制活動

変更を要件に関連付けて、当初の要件から展開に至るまで、完成したビルドの監査証跡が記録されるようにする。

"証拠"

ビルドに組み込まれた全要件の一覧 (新規または変更要求によるかは問いません)。要求された変更が実装されていることを示す受け入れテストの結果。

Visual Studio Team System 2008 を使用した実装

このシナリオは、リンクされた作業項目と、時系列での要件のトレーサビリティを証明するアドホック クエリを使用することで、実現できます。Visual Studio Team System 2008 では、要件策定から製品ビルドに至るまで開発プロセスに沿った管理を行うため、特にこのような形での作業の追跡に便利なツールです。

必要なプロセスの概要

実装が承認された変更が、リリースに組み込まれるようにします。変更要求作業項目には、統合フィールドがあり、このフィールドには変更が実装されたビルド番号が表示されます。テストによって変更要求を検証できるように、この番号が提示されます。

変更要求の状態が "アクティブ" に変更されると、変更された機能のカバレッジとして、その機能に固有のテストが 1 つ以上作成されます。このテストは、変更要求作業項目にリンクされます。また、クエリを使用して、実装された変更を確認するテストを表示できます。

ソフトウェア テストの観点では、変更要求作業項目に関連付けられているすべてのテストに合格する必要があります。また、リリース内の変更が確認および承認されたことの証明として、顧客の承認を含む受け入れテストが実施されます。

使用されるフィールド

このシナリオは、既存の作業項目のフィールドを使用して実装できます。

図 19 は、顧客が承認したすべての変更要求の状態と、各変更要求が統合されたビルドを示すクエリです。

図 19. 実装された変更を表示するクエリ

図 19. 実装された変更を表示するクエリ

結果の一覧から、状態が "終了" になっているのにリリース ビルドに組み込まれていない変更要求が 1 件あることがわかりました (図 20 の作業項目 202 参照)。これを踏まえて、状態が "終了" になっていて、顧客が承認している変更要求が、統合ビルドに組み込まれていない原因を調べることができます。

図 20. 統合ビルドを表示する追加のクエリの実行結果

図 20. 統合ビルドを表示する追加のクエリの実行結果

Visual Studio Team System 2008 に統制を実装するためのカスタマイズ

前述のとおり、既存のテンプレートをカスタマイズすることで、以下のフィールドを追加して、証拠の収集とクエリを実現できます。CMMI ベースのテンプレートには、形式化されたソフトウェア開発環境に関する一連の概念 (チームや既存の作業項目の種類に対する監査役の有無や、リスクおよび変更要求など) が含まれているので、これらのカスタマイズは、このテンプレートで行うことをお勧めします。それでも、これらの変更はアジャイルや他のテンプレートに適用して、同じ法令遵守目的を達成することができます (ただし、他のカスタマイズや追加の作業項目が必要になる可能性があります)。

以下の一覧は、この記事で紹介したシナリオをサポートするために実装できるカスタマイズを示しています。

新しいフィールド

作業項目の種類

説明

担当のリスク所有者 (Accountable Risk Owner)

リスク

リスクのライフサイクルと、その最終結果に責任を持つ人物の名前を指定します。この記事のシナリオでは、この名前は、新しい Accountable Risk Owners セキュリティ グループのメンバです。

エスカレート済み (Escalated)

リスク

リスクがプロジェクト リスク担当チームのレビュー対象としてエスカレートされているかどうかを示すフラグ フィールドです。このフィールドで "エスカレート済み" (Escalated) と設定されているリスクはすべて、プロジェクト リスク担当チームの定期ミーティングでレビューが行われます。

目標期日 (Target Date)

リスク

リスクが終了されるべき目標の期日を指定するフィールドです。

担当の変更所有者 (Accountable Change Owner)

変更要求

開発中のソフトウェアの変更の提案者と終了者の名前を指定します。この人物が、変更に伴う影響の評価とリスク分析の実施と、変更要求の詳細に従って最終的な処理の承認を担当します。この記事のシナリオでは、担当の変更所有者 (Accountable Change Owner) は、新しい Accountable Change Owners セキュリティ グループのメンバです。

スケジュールへの影響 (Impact on Scheduling)

変更要求

変更要求の実装時にその変更要求によるスケジュールへの影響を記録する領域を追加することで、CMMI テンプレートの既存の "~への影響" (Impact on) という名前のフィールドを拡張するフィールドです。これは、影響の評価の 1 要素として使用できる可能性があります。

アーキテクチャへの影響 (Impact on Architecture)、テストへの影響 (ArchitectureImpact on Test)、デザインと開発への影響 (Impact on Design/Development)、技術発行物への影響 (Impact on Tech Pubs)、ユーザー エクスペリエンスへの影響 (Impact on User Experience)

変更要求

既存の CMMI テンプレートのフィールドで、それぞれを必須フィールド ("必須") に設定し、これらのフィールドすべてにコメント ("影響なし" というコメントであっても) を入力しなければならないように設定できます。

顧客による変更要求 (はい/いいえ) (Customer Requested Change(Yes/No))

変更要求

変更の要求者が顧客であるかどうかを示すフィールドです。このシナリオでは、顧客から要求された変更のみを対象とし、内部デザインの変更などは取り上げていません。

承認した顧客 (名前) (Customer Approval Given By (name))

変更要求

変更を承認した顧客の名前を示します。このフィールドに名前が設定されている場合、変更の実施が承認されていることになります。このフィールドは、変更要求の状態が "アクティブ" に変更された当日に設定されることも、その前に設定されることもあります。このフィールドが設定されないと、作業項目の状態が "提案済み" から "アクティブ" に変更できないように構成される場合もあります。

請求可能な変更 (はい/いいえ) (Change Is Billable(Yes/No))

変更要求

既存の承認されたプロジェクトの料金を拡張または変更して、顧客に変更の実装費用を請求できるかどうかを示すフィールドです。

これらのカスタマイズのほかに、この記事では 2 つのセキュリティ グループ (Accountable Risk Owners と Accountable Change Owners) および 2 つのプロジェクト ミーティング (プロジェクト リスク担当チームとプロジェクト変更担当チームのミーティング)、リスク管理と変更管理の実施に適した規定ドキュメントを定義しました。

まとめ

法令遵守は、適切かつ継続して行われる必要があるもので、Visual Studio Team System 2008 は法令遵守環境で役立つ可能性があります。Visual Studio Team System 2008 は、チーム プロセスの策定を重視したツールであるため、要件から納品ビルドに至るまで、ソフトウェア開発作業に沿って管理できます。Visual Studio Team System 2008 を使用して、プロジェクト進行中のチーム作業についての詳細な情報を取得したり、履歴や実施されている作業の関連を記録したりできます。ソフトウェア アプリケーション開発に固有のリスクに対応することを目的とした一連の統制において Visual Studio Team System 2008 を使用することで、米国企業改革法 (SOX 法) 第 404 条のような規制フレームワークへの準拠プロセスを支援できます。

Visual Studio Team System 2008 の最新情報については、www.microsoft.com/japan/msdn/teamsystem/ を参照してください。

追加情報

Andrew Delin はマイクロソフトの製品プランナで、アジャイルや CMMI など、コラボレーション手法を専門としています。プロジェクト マネージャ、ファシリテーター、教育者として 20 年以上の経験があり、コラボレーションにおけるビジョンの確立、コミュニケーションの改善、ビジネス価値の実現を支援してきました。