Capability Maturity Model, Capability Maturity Model Integration

 米Carnegie Mellon UniversityのSoftware Engineering Institute(SEI)が策定した,ソフトウエア開発のプロセス改善の指標である。開発の進捗やその成果が文書などを使ってどれだけ目に見える形で管理されているかを5段階のレベルで評価する。

 たとえばCMMのレベル1は,「chaos(混沌)」とも表現されるように,事実上何もしていない状態である。レベル3以上ならば,一定品質のソフトウエアを開発する期間やコストを正確に見積もれる状態にある。レベル4以上では,定量的な評価基準の導入が求められる。

 CMMのレベルの認定は,一般に「アセスメント」と呼ばれる。アセスメントは,SEIが認定する「リード・アセッサ」と呼ぶ資格を持つ人が行う。アセスメントは企業単位ではなく,部署単位で取得する。

 CMMは当初,米国防総省がソフトウエアを外部調達する際に,ソフトウエア会社を評価するために採用した。近年では,ソフトウエアのオフショア開発の受託を多く手掛けるインドや中国の企業で,CMMのレベル3以上の認定を取得する例が増えている。

 日本国内では,1つのソフトウエアの開発にかかわる技術者の人数が比較的多い,法人向けの情報システム構築を手掛けるシステム・インテグレータがCMMの取得に積極的である。しかし,日本の電機メーカーの民生部門や組み込みソフトウエア関連企業でレベル3以上の認定を受けた企業は今のところ少ない。

 これは,組み込みソフトウエアの開発が情報システム向けソフトウエアの開発と異なり,独特の難しさがあることと関係している。具体的には,開発作業にソフトウエア部門だけでなく機器やLSIの部門も携わること,ソフトウエアを新規開発するのでなく既存製品に組み込んでいたソフトウエア・モジュールに手を加えるという案件が多いこと,などである。

 CMMは主にソフトウエア開発に向けたモデルだが,これにハードウエア開発とのインタフェースを加味した「CMMI(Capability Maturity Model Integration)」と呼ぶ新たなモデルが考案されており,順次移行が進んでいる。

CMMの5つのレベル
図 CMMの5つのレベル
2004年3月1日号より抜粋