能力成熟度モデル統合

能力成熟度モデル統合 (のうりょくせいじゅくどモデルとうごう、英: Capability Maturity Model Integration, CMMI) は、組織がプロセスをより適切に管理できるようになることを目的として遵守するべき指針を体系化したものである
。
CMMIは、もともとは能力成熟度モデル (CMM; Capability Maturity Model) として開発された。

歴史

CMMI（能力成熟度モデル統合）の前身である CMM（能力成熟度モデル）は、もともとは軍事研究の一環として資金を与えられて始まった。
アメリカ合衆国空軍がカーネギーメロン大学（CMU） のソフトウェア工学研究所（SEI）に資金を渡して、軍事部門がソフトウェアの下請業者を客観的に評価するものとして使えるモデルを作る研究を依頼した。
研究成果は1989年に Managing the software process の書名で出版された（日本語訳『ソフトウェアプロセス成熟度の改善』1991年）。
CMMはその後も改訂・更新を経ている。
SEIはもはや CMM に対するサポートを止め、改訂版である CMMI（能力成熟度モデル統合、Capability Maturity Model Integration）が開発・サポートの対象となっている。
2012年、カーネギーメロン大学は、CMMI研究所（CMMI Institute）という新しい研究所を設立し、CMMIに関係する成果物と活動をSEIから移行した。
2013年現在、CMMI バージョン 1.3 が公表されており、CMMI Instituteのウェブサイトで全文を閲覧することができる。

起源

アメリカ合衆国空軍が SEI（ソフトウェア工学研究所）に資金を提供して、SEIは軍がソフトウェア開発請負業者の客観的な評価基準として使うモデルを作成する研究を行った。
1989年に、CMM（能力成熟度モデル）は Managing the software process の書名で出版された（日本語訳『ソフトウェアプロセス成熟度の改善』1991年）。

成熟度レベル

CMMI (能力成熟度モデル統合) には5つの成熟度レベルがある。
SEIによると、
組織のソフトウェアプロセスの予測可能性、効率性、および管理は、これらの5つの段階を経て上ることを通じて改善されると確信している。厳格な基準ではないが、経験的な証拠がこの確信を裏づけている。

レベル1 初期

成熟度レベル1では多くの場合、プロセスは場当たり的であり、組織は安定した環境を提供しない。
こうした組織では、プロジェクトの成功は、組織に属する個々人の能力と英雄的行動に依存しており、有用性が証明されたプロセスを採用していない。
場当たり的で混沌とした環境であるにもかかわらず、成熟度レベル1の組織は実際に動く成果物とサービスを提供することが少なくない。
しかしそれらは多くの場合プロジェクトの予算および予定期限を超過する。
成熟度レベル1の組織は、超過労働、危機に対処するプロセスの欠如、過去の成功を繰り返す能力の欠如、によって特徴づけられる。
レベル1の組織が遂行するプロジェクトの成功は、高い能力をもつ個人に依存している。

レベル2 管理された

成熟度レベル2の組織はソフトウェア開発などの成功を反復して実行することができる。
このレベルの組織では、組織の全てのプロジェクトにおいて反復が実現できているとは限らない。
このレベルの組織では、何らかの基本的なプロジェクト管理を行い、費用と予定 (スケジュール) を管理している。
レベル2のプロセスの規律を実行することにより、これまで行ってきた実践は今後も意識して行われ続けられる。
これまで行ってきた実践は今後も首尾良く行われる場合、プロジェクトは文書化された計画に従って実行され管理される。
プロジェクトの情況や納品物の引渡しなどは、事前に定めておいた時点 (メジャーマイルストーンやメジャータスクの完了など) での管理を通して明確になる。
基本的なプロジェクト管理プロセスが確立し、費用、予定、開発対象の機能を管理する。
レベル2のプロセスの最低限の規律は、過去の類似した分野と範囲をもつプロジェクトの成功を、反復することである。
このレベルでは、費用もしくは納品予定日を超過するという大きなリスクは依然として存在する。

レベル3 定義された

成熟度レベル3の組織では、組織の標準プロセスが確立しており、時が経つにつれ標準プロセスは改善される。
こうした標準プロセスは、組織全体に浸透させ組織における一貫性を確立すべく使用される。
組織のプロジェクトは、組織の標準プロセスによりテーラリング指針に沿って、定義されたプロセスを確立する。
組織の管理部門は、組織の標準プロセスに基づいてプロセスの目的を確立し、こうした目的が確実に適切に取り組まれるようにする。
成熟度レベル2とレベル3の重要な違いは、標準群とプロセス記述と手続きである。
成熟度レベル2の組織では、標準群とプロセス記述と手続きは、プロセスのおのおのの具体的な内容において組織内でかなり異なっているかもしれない。
成熟度レベル3の組織では、あるプロジェクトや部門の標準群とプロセス記述と手続きは、組織の標準プロセスに適合している。

レベル4 定量的に管理された

成熟度レベル4の組織では、実施プロセスを安定化し、さらに実績を予測するモデルを持つことで、ソフトウェア開発などの有効性を効果的に制御することができる。
特に、個別のプロジェクトに対してプロセスを調整し適合する道筋を同定することができる。
このとき測定可能な品質の低減や仕様からの逸脱が無いようにプロセスが制御され、安定化される。
成熟度レベル4の組織は、ソフトウェア開発プロセスやソフトウェア保守などのための定量的な品質の目標を設定する。注意すべきことは、この目標がプロセスの実績データを基にした実現可能なものであり、（低いレベルの組織でありがちな）管理層からの一方的押しつけや実現不可能な努力目標ではないということである。
プロセス全体の遂行に非常に大きく貢献するサブプロセスが選択される。
この選択されたサブプロセスは、統計的な技法と他の定量的な技法により制御される。
成熟度レベル3とレベル4の重要な違いはプロセス遂行の予測可能性である。
成熟度レベル4では、プロセスの遂行は統計的な技法と他の定量的な技法により制御され、定量的に予測可能である。
成熟度レベル3では、プロセスは単に定性的に予測可能なだけである。

レベル5 最適化している

成熟度レベル5は、段階的および革新的な技術的進歩を通じた継続的なプロセスの有効性の改善を重視する。
組織にとっての定量的なプロセス改善の複数の目標が定められる。
これらの目標は、ビジネス上の目標の変更を反映して継続的に改訂される。
またこれらの目標は、プロセス改善の管理における基準として使われる。
適用されたプロセス改善の有効性は計測され、定量的なプロセス改善目標に照らして評価される。
定義されたプロセスと組織の標準プロセスのセットの双方が、改善活動の計測の対象となる。
プロセス改善は、プロセスにおける変動の共通の原因に取り組み組織のプロセスを計測可能な形で改善するために、同定され評価され適用される。
敏捷で適応力のある進取的なプロセスの最適化は、能力の高い労働者がビジネス価値と組織の目標に同調して参加するかどうかにかかっている。
組織における変化と機会にすばやく対応する能力は、学習を加速し共有する道筋をみつけることで高まる。
成熟度レベル4とレベル5の重要な違いは、取り組む対象である、プロセスにおける変動の種類である。
成熟度レベル4では、プロセスはプロセスにおける変動の特定の原因に取り組むことと結果の統計的予測と関連している。
プロセスは予測可能な結果を出すかもしれないが、その結果はあらかじめ定めた目標の達成には不十分であるかもしれない。
成熟度レベル5では、プロセスはプロセスにおける変動に共通する原因に取り組むこととプロセスを変更し (すなわちプロセスの遂行能力の平均値を変更する) その遂行能力を向上させ (統計的確率を修整しつつ) あらかじめ定めた定量的なプロセス改善目標を達成できるようにすることと関連している。

レベルに関する表現

成熟度レベル5は「最適化しているレベル」であって「最適化されたレベル」ではない。
これは、プロセス改善に終わりはなく、常に改善し続けていくものだという
考えに基づいている。
同様の考え方から、レベルに関しては「認証」「認定」「取得」といった表現は使わず、
「達成」という表現を使うべきものとされている。レベル「認定」を「取得」する
ことだけが目的の改善ならば、「認定」された時点で活動が終わってしまうからである。
仕組みとしても、CMMIでは
何らかの認証機関が成熟度レベルを認証したり、認定することはない。
資格を持ったリードアプレイザが（通常、その組織の人たちを含めた）
アプレイザルチームを構成して、評定結果を出す仕組みがあるのみである。

能力度レベル

CMMIの連続表現ではプロセスごとにレベルをつけることができ、能力度レベルという名で呼ばれる。段階表現でも連続表現でもレベルの概念は同じであるとされているが、能力度レベルには、成熟度レベルにはない、レベル0が存在する。また、v1.3以降、能力度レベル4, 5は廃止された。
レベル0は、「不完全な」プロセスレベルとして特徴づけられる。
CMMIに関心をもつ多くの人々は、このレベルを冗長であるもしくは重要ではないとして、無視している。
ただしプレスマンなどの人々はこのレベルに注目している。
SEI CMMI 2002年8月のバージョンの18頁を参照。
アントニー・フィンケルシュタイン
は、負 (マイナス) のレベルが何段階か必要だと考えている。
負のレベルは、平凡であるに加えてはっきり非生産的な環境を表す。
この負のレベルは、トム・ショルシュ
により「能力非成熟度モデル」("Capability Immaturity Model") として改良された。

論争

ソフトウェア業界内は多様でありまた気まぐれである。
あらゆるソフトウェア開発方法論には支持者と批判者が存在する。
CMMI (能力成熟度モデル統合) も例外ではない。

高いCMMIレベルで評価された企業

世界中の非常に多くの情報技術企業が CMMI (能力成熟度モデル統合) とそのレベルに関心をもっている。
1999年6月にインドの Wipro Technologies 社が、SEI CMM レベル5を達成した世界で最初の情報技術サービス企業となった。
レベル5はCMMの最高の水準である。
毎年、世界中の多くの情報技術企業が CMMI の制度を導入し、自社の CMMI レベルを向上させている。
2006年現在、CMMI レベル5を達成した企業の約75%がインドに存在する企業である。
これらの企業の多くはバンガロール市に存在する。
完全なリストは List of Published SCAMPI Appraisal Results を参照。
リストは、SEIだけでなく、英国の次のサイトhttp://www.pparegister.com/でも公開されている。