PR

文・高畑 和弥(日立総合計画研究所 知識情報システムグループ 副主任研究員)

 CMM(Capability Maturity Model:能力成熟度モデル)は、米カーネギーメロン大学ソフトウエアエンジニアリング研究所(SEI)が1991年に発表した、ソフトウエア開発組織の能力を評価するための手法です。現在はCMMI(Capability Maturity Model Integration)と呼ばれるモデルが主流になっています(注)。CMMは、米国の国防総省の依頼により、情報システムの発注先を評価し、より品質の高い情報システムを調達するために開発されたものです。米国では、国防総省に限らず官公庁の情報システム調達時の応札条件に利用されています。

 優秀なエンジニアが大勢いる組織であっても、組織として正しく機能していなければ、ソフトウエアの品質を常に一定以上に保つことは困難です。従って、ソフトウエアの品質を評価する際には、個人の能力よりも組織の能力に焦点を当てることが重要となります。CMMでは、ソフトウエア開発組織の能力を5段階の成熟度レベルで評価します。開発プロセスが属人的で、組織としての管理が存在しないレベル1が最も低い評価となり、継続的に開発プロセスを改善できるレベル5が最も高い評価となります。これにより、ユーザー企業、官公庁などの発注者がソフトウエア開発組織の評価を定量化することができるようになります。

(注)CMMは1990年代後半に多くの派生版を生み出した。ソフトの調達能力を対象にしたSA-CMM(ソフト調達CMM)、人材育成能力を対象にしたP-CMM(ピープルCMM)などがその例である。しかし、バリエーションが増えすぎて使いにくいという指摘を受け、これらを統合したCMMI(Capability Maturity Model Integration)が、SEIにより開発された。

 CMM、CMMIの活用は政府調達だけでなく民間企業にも広がっており、SEIの報告によると、CMMI活用全体に占める政府調達の割合は既に3割程度にまで低下しています。

 CMMの利点は、ソフトウエア開発組織評価の定量化にとどまりません。ソフトウエア開発組織の開発プロセスの改善効果も期待できます。CMMを利用した開発プロセス改善では、ソフトウエア開発組織はまず現状の開発プロセスの状況を診断し、自らの成熟度レベルを評価します。その過程で組織の開発プロセスの不十分な点が把握できるので、それらを改善することによってより高い成熟度レベルに到達することが可能になります。この点については以前に紹介したCOBIT(Control Objectives for Information and related Technology)ITIM(Information Technology Investment Management)など、成熟度モデルに基づく他の手法と共通しています。

 ちなみに、日本の政府機関におけるCMMの活用は、今のところあまり進んでいません。経済産業省が2001年に日本版CMM構想を掲げ、政府調達の応札条件としてCMM認定取得の義務化を目指したものの、産業界の反発により実現には至りませんでした。その後、2002年に発表された「情報システムに係る政府調達制度の見直しについて」の中でも、ソフトウエア開発プロセスの評価・改善に関する指標はCMMに限定されなかったため、政府調達の応札条件としてのCMM活用はややトーンダウンしています。とはいえ、企業のビジネスや政府・自治体の活動がソフトウエアへの依存度を増す中で、その品質をいかに確保するかという問題は今後も重要な課題であり、CMM、CMMIをはじめとするソフトウエア開発プロセスの評価・改善手法には引き続き注目していく必要があるでしょう。