2003年10月  JEITAニューヨーク駐在・・・荒田 良平

ソフトウェアプロセス等の成熟度に関するモデルCMMの概要


はじめに

今月は、米国カーネギーメロン大学(CMU)のソフトウェア工学研究所(SEI)が開発したソフトウェアプロセス等の成熟度に関するモデルCMMについて取り上げる。
ITシステムの政府調達においてベンダーを価格以外でどのように評価すべきかについては、米国でも古くから提起されてきた問題であった。こうした中で米国国防総省が設立したSEIによって開発されたCMMは、政府調達もさることながら、広くグローバルIT企業のソフトウェアプロセス改善(SPI)/ソフトウェアプロセスアセスメント(SPA)のために参照すべきモデルとして用いられるようになってきている。いわば、製造業におけるTQM(総合的品質管理)のソフトウェア版とでも言うことができよう。
このたび、CMMを開発したCMUのSEIを訪問する機会を得たので、これを機にCMMの概要について整理してみることとしたという次第である。
なお、本稿の執筆に当たっては、ワシントンコア社の小林千代さんに情報収集等で御協力をいただいた。


1. CMMとは

CMM(Capability Maturity ModelR)は、米国カーネギーメロン大学(CMU)のソフトウェア工学研究所(SEI)によって開発されたソフトウェアプロセス等の成熟度に関するモデルである。
最初に開発されたソフトウェアを開発する組織向けのSW-CMMに加えて、人材管理向けのP-CMM、ソフトウェア調達向けのSA-CMM、システムエンジニアリング向けのSE-CMM、統合製品開発向けのIPD-CMMが開発されており、さらにこれらを統合したCMMIが開発されている。

といってもこれだけで直ちに理解できる人は多くはないであろう。もう少し詳しい概要は、例えば経済産業省が主催したソフトウェア開発・調達プロセス改善協議会の報告書「ソフトウェアプロセスの改善に向けて〜SPIへの今後の取組み〜」(平成14年4月19日)やIPA(情報処理振興事業協会)から三菱総研への委託調査の報告書「国内及び海外におけるソフトウェアプロセス改善活動の状況に関する動向調査」(平成14年3月)にまとめられている。ここではこれらも参考にしつつ、SW-CMMを例にしてもう少し具体的なイメージについてごく簡単に触れておくこととする。

まず、ソフトウェアプロセスの成熟度とは何かということであるが、これはソフトウェアプロセス(ソフトウェア及び関連成果物を作成・保守するための一連のステップ)がどの程度明確に定義され、管理され、測定され、制御され、効果的であるかを測定する尺度とされている。そして、SW-CMMでは、図表1のような5つの成熟度段階を提示している。


そして、レベル2〜5の各成熟度段階に達するために満たされるべき事項として、図表2のようにいくつかのキープロセスエリア(KPA)が設定されており、各KPAでは、その効果的な実行と制度化のために最も貢献する活動等がキープラクティスとして定義されている。



このようにソフトウェアプロセスの成熟度を定義する前提には、ソフトウェアの品質はその開発プロセスの質によって左右されるという基本的思想がある。SW-CMMは、実際のソフトウェア開発での成功事例(ベストプラクティス)におけるソフトウェアプロセスの有効性の議論に基づいて策定されており、ソフトウェアプロセスの成熟度段階が上がるに従って、そのプロセスで開発される成果物の品質、コスト、納期について、平均実績値と目標値との乖離が少なくなり、プロジェクト間の実績のばらつきが小さくなり、より高い目標値の達成が可能になると期待される。

なお、SW-CMMはあくまでモデルであり、ソフトウェアプロセスについて何を(What)すべきかを提示してはいるが、それを具体的にどのように(How)実施すべきかについては示していない。その成熟度段階を上げること自体を目的とするのではなく、ソフトウェアプロセス改善(SPI)/ソフトウェアプロセスアセスメント(SPA)のために参照すべきモデルの一つとして捉えるべきであると思われる。


続き→

| 駐在員報告INDEXホーム |

コラムに関するご意見・ご感想は Ryohei_Arata@jetro.go.jp までお寄せください。

J.I.F.に掲載のテキスト、グラフィック、写真の無断転用を禁じます。すべての著作権はJ.I.F..に帰属します。
Copyright 1998 J.I.F. All Rights Reserved.