CMMI プロセス テンプレートのアーティファクトを理解する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

機能成熟度モデル統合 (CMMI) プロセスは、規制されたコンプライアンスの高い環境でソフトウェア開発を管理するための構造化されたフレームワークを提供します。

CMMI は、規制対象の業界、正式な変更管理手順を必要とするチーム、またはプロセス改善フレームワークを採用している組織に最適です。 この記事では、CMMI 作業項目の種類、クエリ、グラフ、ダッシュボードについて説明します。 CMMI を初めて使用する場合は、ここから始めます。

CMMI プロセス作業項目の種類を示す概念図。

前提条件

CMMI がチームに適していない場合は、別のプロセス テンプレートを検討してください。

背景: 機能成熟度モデルの統合

機能成熟度モデル統合 (CMMI) は、カーネギー メロン大学のソフトウェア エンジニアリング研究所 (SEI) によって開発された成熟度フレームワークです。 CMMI は、組織がプロセスの成熟度を評価し、プロセスの改善をガイドして、より予測可能な結果と高品質の製品を生成するのに役立ちます。 リスク管理に対する構造化されたアプローチを提供し、組織がリスクをどの程度適切に管理しているかを測定します。

Note

この記事では、Azure Boardsがサポートする CMMI バージョン 1.3 に関するガイダンスに基づいて説明します。 コンテンツは、新しい CMMI バージョンに更新されていません。 CMMI では、要件は顧客のニーズとプロジェクトスコープを表し、タスクは実装作業を表します。 要件をタスクにリンクして、チーム間でロールアップの追跡と進行状況の監視を有効にします。 変更要求とバグを使用して、正式な変更や欠陥を追跡します。

CMMI の目的は何ですか?

CMMI は、チームと組織を支援します。

  • 予測可能性の向上 - 成熟度の高い組織は、定量的管理プラクティスを適用し、プロセスのばらつきを低く表示し、防御可能な管理上の決定に主要な指標を使用する傾向があります。
  • リスクの管理 - リスクを管理する機能は、高品質で準拠した結果を提供する組織の能力に直接貢献します。
  • コミュニケーションを効率化 する — CMMI は、プロセスの改善に関するコミュニケーションを向上させる共通のフレームワークと言語を提供します。
  • イノベーションと制御のバランスを取 る — CMMI は、継続的な改善をサポートしながら、規制された環境でのプロセス標準化に重点を置いています。

作業項目クエリは、変更要求、バグ、タスク、要件など、種類別に項目を一覧表示するのに役立ちます。 クエリを使用して、現在の作業、トリアージの問題に集中し、計画とレポートの準備を行います。

CMMI は、逐語的に従わなければならない規範的なチェックリストとしてではなく、プロセス改善プログラムの基盤として活用してください。 評価は、主要な目標ではなく、進捗状況を測定する 1 つの方法として扱います。 成熟度が高いほどイノベーションの速度が低下する一方で、成熟度が低いほどイノベーションが促進される可能性がありますが、予測可能性は低くなることに注意してください。

CMMI では、エンジニアリング、プロジェクト管理、および組織のサポート全体で組織を改善するのに役立つ 22 のプロセス領域を定義します。 このモデルには、次の 2 つの補完的な表現が用意されています。

  • ステージング表現: 22 のプロセス領域を 5 つの成熟度レベル (1 ~ 5) にグループ化し、組織の単一の成熟度レベルを生成します。 この表現は、経営陣とマネージャーが組織の機能を理解するのに役立ちます。
  • 連続表現: プロセス領域ごとの機能を評価し、ビジネス価値が最も高い場所で改善に集中できるようにします。

CMMI プロセス領域

CMMI-DEV モデルでは、バージョン 1.3 で 22 のプロセス領域が定義されています。

頭字語 プロセス領域
CAR 因果分析と解決策
CM 構成管理
DAR 意思決定分析と解決
IPM 統合プロジェクト管理
MA 測定と分析
OID 組織のイノベーションと展開
OPD 組織プロセス定義
OPF 組織プロセス重視
OPP 組織プロセス実績
OT 組織トレーニング
PI 製品統合
PMC プロジェクトの監視と制御
PP プロジェクト計画策定
PPQA(プロセスと製品の品質保証) プロセスと製品の品質保証
QPM 定量的プロジェクト管理
RD 要件の定義
REQM 要件管理
RSKM リスク管理
ソフトウェア アセット管理 サプライヤー契約の管理
TS 技術的なソリューション
VER 検証
ヴァル Validation

CMMI を使い始める

Azure DevOpsで最初の CMMI プロジェクトを作成するには、次の手順に従います。

開始するには、次の手順に従います。

  1. CMMI を使用して新しいプロジェクトを作成 する - プロジェクトの作成時に CMMI テンプレートを選択します。

  2. 最初の作業を計画する - 顧客のニーズとタスクをキャプチャして実装作業を分割するための要件を作成します。 要件とタスクが連携して、チーム全体でロールアップ追跡を有効にします。

  3. クエリとダッシュボードを設定する - 作業項目クエリを作成して現在の作業に集中し、グラフを作成して進行状況を監視します。 クエリは、依存関係を分析し、コンプライアンスを維持するのに役立ちます。

ワークフローの詳細なガイダンスについては、 CMMI 作業項目の種類とワークフローを参照してください。

CMMI 作業項目の種類とワークフロー

CMMI には、5 つの主要な作業項目タイプが含まれています。それぞれライフサイクルが定義されています。 これらの種類とそのワークフローを理解することは、CMMI プロセスを効果的に適用するのに役立ちます。

作業項目の種類 Purpose Workflow CMMI に固有ですか?
必要条件 顧客のニーズとプロジェクトの範囲を把握する 提案済み → アクティブ → 解決済み → クローズ アジャイル/スクラムの "ユーザー ストーリー" に相当します
変更要求 要件または設計の変更を正式に要求する 提案済み → アクティブ → 解決済み → クローズ [はい] - 正式な変更管理を有効にします
タスク 作業を分割し、実装手順を追跡する [New → Active → Completed → Closed]\(新しい→アクティブな→完了\) すべてのプロセスで使用可能
バグ コードまたはデザインの欠陥を文書化する 新しい→アクティブ →解決済み→クローズ すべてのプロセスで使用可能

主な違い: アジャイルやスクラムとは異なり、CMMI には、正式な変更制御手順を適用するための変更要求が含まれています。 このアプローチにより、チームは監査証跡を維持し、制御された環境の規制に準拠できます。

Note

Note

  • プロジェクトに合わせて作業追跡システムをカスタマイズするには、継承されたプロセスまたはオンプレミス XML プロセスをカスタマイズします。 詳細については、「 プロセスのカスタマイズと継承されたプロセス 」または 「オンプレミスの XML プロセスのカスタマイズ」を参照してください。 Azure DevOps Server の最新バージョンをインストールまたはアップグレードすると、各プロセスの最新バージョンは自動的にアップロードされます。 SQL Server レポートなどの他の成果物は、プロジェクトに接続する場合にのみ使用できます。 その他のリソース要件が適用されます。
  • プロセス テンプレートをカスタマイズすることもできます。 詳細については、「 既定のプロセスとプロセス テンプレート」を参照してください。

CMMI を使った作業の計画と追跡

CMMI では、要件は顧客のニーズとプロジェクトスコープを表し、タスクは実装作業を表します。 要件をタスクにリンクして、チーム間でロールアップの追跡と進行状況の監視を有効にします。 変更要求とバグを使用して、正式な変更や欠陥を追跡します。

要件の作成、タスクのリンク、作業項目ワークフローの管理方法の詳細については、 CMMI 作業項目の種類とワークフローを参照してください。

アジャイル計画を開始するには、このパスを使用します。 詳細については、「アジャイル ツールを使用して作業の計画と追跡を開始する」を参照してください。

Note

作業項目は、作業の定義、割り当て、優先順位、状態を格納するデータベース レコードです。 作業項目の種類は、種類ごとにフィールド、ワークフロー、およびフォームのテンプレートを定義します。 作業項目は、相互にリンクすることで、依存関係、作業のロールアップ、レポートを追跡できます。

クエリを使って作業項目を一覧表示する

作業項目クエリは、変更要求、バグ、タスク、要件など、種類別に項目を一覧表示するのに役立ちます。 クエリを使用して、現在の作業、トリアージの問題に集中し、計画とレポートの準備を行います。

一般的な CMMI クエリ パターン:

  • エピックまたは機能に関連付けられているすべての要件を表示する
  • 承認待ちまたはレビュー中の変更要求を一覧表示する
  • リリースをブロックしているバグを表示する
  • 現在のスプリントでまだ開始されていないタスクを検索する
  • 状態別に要件を表示する (提案済み、アクティブ、解決済み、クローズ済み)

これらのクエリは、進行状況の分析、依存関係の特定、プロセスへのコンプライアンスの維持に役立ちます。

Note

新しいプロジェクトを作成するときに、共有クエリの既定のセットがなくなりました。 共有クエリ の定義はプロセス テンプレートから削除されました。 オンプレミス配置の場合は、「プロセス テンプレートに作業項目クエリを追加する」の説明に従って、カスタム プロセス テンプレートに追加できます。

Web ポータルからクエリを表示して実行します。 Visual Studioのチーム エクスプローラー プラグインからクエリを表示することもできます。 Web クエリ エディターでクエリを変更 して、さまざまなフィルター条件を適用し、 チーム ダッシュボードにクエリを追加します

共有クエリのヒント

次のヒントを使用してワークフローを強化します。

  • クエリ句の [割り当て先] フィールドの値として @Me を追加し、自分に割り当てられた作業項目を検索します。
  • クエリ エディタを開き、製品領域、イテレーション、または別のフィールドの条件を追加してクエリを変更します。
  • Excel でクエリを開き、1 つ以上の作業項目のフィールドを更新し、変更をデータベースに公開します。
  • 円グラフ、縦棒グラフ、またはトレンド グラフを作成し、フラットリスト クエリの状態や進行状況を視覚化します。
  • [My Queries] 領域で標準アクセスがあるクエリとフォルダを作成します。 共有クエリの下にクエリとフォルダーを作成するには、投稿アクセス許可と Basic 以上のアクセス許可があることを確認します。 詳細については、「クエリのアクセス許可を設定する」を参照してください。

進行状況の監視

CMMI では、Azure Boardsの作業追跡ツールに基づいて自動的に設定される状態グラフと傾向グラフとダッシュボードの構築がサポートされています。 主なグラフの種類は次のとおりです。

  • 累積フロー: 時間の経過に伴う要件、タスク、バグの進行状況を表示します
  • バーンダウン: イテレーションの目標に向けたスプリントの進行状況を表示します
  • 速度: スプリント間で完了した作業を明らかにする
  • 傾向: バグ検出と解決策のパターンを明らかにする

これらのグラフは Web ポータルに表示され、チームがプロセスの改善と進行状況に関するデータ主導の意思決定を行うのに役立ちます。

軽量グラフを作成する

追跡目標に基づいて、フラット リスト クエリからグラフを作成できます。 グラフの種類は次のとおりです。

  • 状態グラフ: 円グラフ、横棒グラフ、縦棒グラフ、積み上げ横棒グラフ、ピボットグラフ
  • 傾向グラフ: 積み上げ面積グラフ、折れ線グラフ、面積グラフ

次のワークフローを使用します。

Analytics ウィジェットと Power BI レポート

Analytics Service を使うと、プロジェクトの過去または現在の状態に関する定量的な質問の答えがわかります。 Analytics ウィジェットをダッシュボードに追加することや、Power BI を使ってグラフとレポートを作成することができます。

詳しくは、Analytics サービスに関する記事を参照してください。

CMMI プロセスのバージョン

CMMI プロセス テンプレートが進化すると、バージョン番号が変更されます。 テンプレートには、メジャー バージョンとマイナー バージョンを指定する version 要素が用意されています。 次の表は、Azure DevOps オンプレミス リリースで使用されるテンプレートのバージョンを示しています。Azure Boards (クラウド) では常に最新のテンプレートが使用されます。

Version CMMI 名 メジャー バージョン
Azure DevOps サービス (2026) CMMI 18.4
Azure DevOps Server 2022 CMMI 18
Azure DevOps Server 2020 CMMI 17

バージョン コンテキスト: Azure Boards Services ではバージョン 18.4 が使用されます。 オンプレミスを実行している組織Azure DevOps Server、サーバーリリースに基づいて前の表にマップされたバージョンを使用します。

CMMI プロセスを効果的に使用する

CMMI を効果的に実装するには、組織のコンテキストと成熟度レベルに合わせてフレームワークを調整します。 CMMI の導入をガイドするために、次のリソースを確認します。

  • プロジェクトの管理: CMMI モデルを使用したソフトウェア開発とメンテナンスの管理、計画、調整に関するガイダンスを取得します。
  • エンジニアリング活動を探索する: CMMI プラクティスに沿ったソフトウェア製品を設計および構築するための付加価値アクティビティを発見します。

CMMI テンプレートとガイダンスをプロセス改善プログラムの一部として使用し、以下に基づいて調整します。

  • 製品の種類と履歴
  • プロジェクトのスケール
  • チームのスキルと背景
  • 組織で受け入れられたプラクティス

CMMI 機能の成熟度レベル

CMMI では、プロセスの改善を導く 5 つの機能レベルが定義されています。 チームが成熟するにつれて、CMMI プラクティスと作業追跡を実装することで、これらのレベルを進めます。

  1. 不完全: プロセスは予測できず、制御が不十分です。
  2. 実施済み: チームはプロセスを文書化し、理解します。
  3. マネージド: Teams は、メトリックとコントロールを使用してプロセスを事前に管理します。
  4. 定義: Teams は、組織の標準からプロセスを調整します。
  5. 最適化: Teams は、イノベーションと最適化を通じてプロセスを継続的に改善します。

CMMI に関してよく寄せられる質問 (FAQ)

Q: 変更要求とタスクの違いは何ですか?
A: タスクは、作業を実装手順に分割します。 変更要求では、承認ワークフローとコンプライアンス追跡を使用して、要件または設計の変更を正式に要求します。 規制された環境で変更要求を使用します。 定型作業の分解にはタスクを使用します。

Q: 間違ったプロセス テンプレートを使用してプロジェクトを作成した場合はどうしますか?
A: CMMI を使用して新しいプロジェクトを作成 するか、 プロセス テンプレートを CMMI に変更します。

Q: チームの CMMI をカスタマイズするにはどうすればよいですか?
A: 作業項目の種類、フィールド、ワークフローをチームのニーズに合わせて調整する方法については、「 CMMI プロセスのカスタマイズ 」を参照してください。

こちらも参照ください