- トップページ
- COCOMO法
更新日:2024年10月20日
COCOMO(COnstructive COst MOdel、構築的コストモデル)は、ソフトウェア開発プロジェクトの工数やコストを見積もるための定量的な方法であり、1981年にバリー・ボーム(Barry Boehm)によって提唱され、いくつかの改良が行われてきました。以下は基本的なCOCOMO法についての説明です。COCOMOには主に3つのモデルが存在します。まず基本COCOMO(Basic COCOMO)ですが、これはソフトウェアの規模(行数や機能点)を元に工数を見積もるシンプルなモデルで、予測の精度はあまり高くないため、小規模なプロジェクトや粗い見積もりに適しています。次に中程度のCOCOMO(Intermediate COCOMO)は、基本COCOMOに開発プロジェクトの特徴やリスク要素を加味し、15の属性(例:製品の信頼性、データベースの規模、開発者の経験など)に基づいて補正するものです。最後に詳細COCOMO(Detailed COCOMO)ですが、これは中程度のCOCOMOの要素に加え、開発工程ごと(例:設計、コーディング、テスト)の工数を詳細に見積もり、大規模なプロジェクトや複雑なプロジェクトの見積もりに適しています。このように、異なる詳細度のモデルを使い分けることで、さまざまなプロジェクトに対応できる点がCOCOMO法の特徴となっています。
基本COCOMOモデルでは、ソフトウェアの規模を見積もる際に以下の式を使用します。Effort (E) = a × (Size)^b ここで、係数aおよび指数bはプロジェクトの種類により異なり、有機モード(Organic Mode)、半分組み込みモード(Semidedicated Mode)、組み込みモード(Embedded Mode)の3つのモードに分類され、それぞれ異なるパラメータが使用されます。まず有機モードに適用される式は E = 2.4 × (Size)^1.05 です。このモードは、小?中規模のプロジェクトで経験豊富なチームにより柔軟で変更に強いプロジェクトに適しています。次に半分組み込みモードでは E = 3.0 × (Size)^1.12 という式を用います。このモードは中?大規模のプロジェクトで、中程度の経験や標準的なプロセスがある場合に適しています。最後に組み込みモードには E = 3.6 × (Size)^1.20 という式が使われ、大規模かつ複雑なプロジェクトで厳格な要件や制約がある場合に適しています。また、サイズ(Size)はソフトウェアの規模を示し、例えばKLOC(千行のコードライン)で表されます。そして工数Eが求まった後、開発期間Tを以下の式で求めます。T = c × (E)^d ここで、係数cおよび指数dはモードにより異なり、有機モードでは T = 2.5 × (E)^0.38、半分組み込みモードでは T = 2.5 × (E)^0.35、組み込みモードでは T = 2.5 × (E)^0.32 となります。
990年代には、ソフトウェア開発環境の変化に対応するために、COCOMO IIが提案されました。COCOMO IIは、現代の開発プロジェクト(オブジェクト指向、再利用、ラピッドプロトタイピングなど)を考慮した新しい見積もりモデルです。この新モデルは、特にオブジェクト指向や反復的な開発手法が主流となる現代のソフトウェア開発に適しています。こうしてCOCOMO法は進化を遂げ、より多様な開発環境に対応できるようになっています。COCOMO法にはいくつかのメリットがあります。まず、定量的な見積もりが可能になる点が挙げられます。また、さまざまなプロジェクト種類に対応できる柔軟性も持っています。しかし、デメリットも存在します。その一つとして、入力データの精度が求められる点が挙げられます。加えて、COCOMO法を初めて適用する際には、パラメータのチューニングが必要となるため、ある程度の準備と理解が必要です。しかし、COCOMO法を使用することで、多くの企業やプロジェクトが詳細で信頼性のある工数見積もりを行うことができると考えられています。他の見積もり手法と併用することでさらに精度を高めることが推奨されるため、プロジェクトマネジメントの一手法として有効です。