COCOMO(ココモ)について
COCOMO(Constructive Cost Model)は、
ソフトウェア開発における
工数や開発期間の見積もりに用いられる手法の一つです。
1981年にバリー・ベームによって提唱され、以来、多くのプロジェクトで活用されています。このモデルは、プログラム言語に依存しないため、客観的な評価が可能です。
COCOMOの基本概念
COCOMOは、開発する
ソフトウェアの規模と
工数・期間の間に非線形関係があると考えます。具体的には、
ソフトウェアの規模が大きくなると、それに比例して
工数とコストが増加するというものです。この見積もり手法は、予想されるソースコードの行数を基に、適切な係数を掛け合わせることで平均的な開発
工数を算出します。
数式で表すと、
$$ y = a x^b $$
ここで、
- - $y$ は平均的な開発工数、
- - $x$ は予想されるソースコード行数、
- - $a$ はソフトウェアの規模を表す係数(2.8, 3.0, または 3.2)、
- - $b$ はそれぞれの$a$に対応した係数です。
具体的には、$a = 2.8$ の場合は $b = 1.20$、$a = 3.0$ の場合は $b = 1.12$、$a = 3.2$ の場合は $b = 1.05$ となります。これにより、より正確にプロジェクトの
工数を見積もることができます。
特性の修正
また、COCOMOでは
ソフトウェア特質、ハードウェアの属性、開発者の能力など、15の特性を考慮に入れます。これらの特性はそれぞれ6段階の補正係数で表現されます。これらの補正係数を平均的な開発
工数に掛け合わせることで、実際に必要となる開発
工数を算出することができます。
数式で示すと、
$$ z = y imes igg( ext{product of } c_i ext{ for } i=1 ext{ to } 15 igg) $$
ここで、
- - $z$ は最終的な開発工数、
- - $y$ は平均的な開発工数、
- - $c_i$ はそれぞれの特性に対する修正係数です。
COCOMO IIの登場
1997年には、COCOMOの計算手法が改良され、COCOMO II(ココモツー)が発表されました。この新しいモデルでは、ファンクションポイント法や能力成熟度モデルといった、
ソフトウェアの機能をより正確に評価する方法が取り入れられました。これにより、
ソフトウェア開発の見積もりがさらに厳密になりました。
まとめ
COCOMOは、
ソフトウェア開発のための信頼性の高い
工数見積もり手法です。特に大規模なプロジェクトにおいて、その有用性が発揮されます。COCOMO IIの導入により、より複雑化する現代の
ソフトウェア開発にも対応した評価方法が提供され続けています。今後もこのモデルの発展に期待が寄せられています。