パラメトリック見積り法(parametric estimating)について
パラメトリック見積り法とは
パラメトリック見積り法とは
パラメトリック見積り法とは、関連する過去のデータとその他の変数との統計的関係を用いて,プロジェクトにおける作業のコストを見積る手法です。
簡単に言えば、過去の案件の分析結果を元に、パラメータ(係数)を用いて見積もりを行う手法です。
例えば、1つの成果物を作成するのに6時間かかるならば、同じものを10個作成するのに60(6×10)時間かかると見積ります。
このように根拠となるパラメータと数学的な関数を用いて見積りを算出することがパラメトリック見積りの基本概念です。
パラメトリック見積り法は、係数モデル見積り、係数見積りとも呼ばれます。
パラメトリック見積りの具体的な手法として、COCOMOやFP法などがあります。
パラメトリック(parametric)とは
パラメトリックとは、数学や物理学、統計学などの分野で用いられる用語であり、特定のパラメータ(parameter)によって特性や挙動が決定される事象やモデルを指す際に使用されます。
簡単に言えば、そのパラメーターの値によって計算結果が変化するという特性を意味します。
LOC法(Lines Of Code method)
LOC法とは
LOC法とは、その名前の通り、ソースコードの行数(ステップ数)から開発規模を見積る手法です。
例えば、ソフトウェア規模が「50,000行」、生産性が「1000行/月」、プログラマー単価が「百万円/月」の場合、開発コストは「5千万円」と算出します。
LOC法はパラメトリック法の中で最も古典的な見積り手法です。
ソフトウェア開発の黎明期から使用された手法であり、分かりやすくて容易に見積りを出せる利点があります。
LOC法の問題点
LOC法の最も大きな問題は、見積もりと実績のズレが大きい点です。
プログラミングでは、同じ問題を解決するためにもさまざまな解決法があり、無駄な処理をしたり効率の悪いアルゴリズムを使ったりすればLOCは増えることになります。
また、カウントが主観的であり、サバを読む余地が多いため、客観的な指標となりにくい点に注意が必要です。
LOC法を利用するならば、「人月の神話」という書籍を一度読んでおくと適切な考え方が身に付きます。
ファンクションポイント法(FP法:Function Point Method)
FP法とは
FP法とは、外部入出力や内部論理ファイル、外部照会、外部インタフェースなどの個数や特性などから、開発規模を見積もる手法です。
つまり、ソースコード規模や実装難易度という開発者の論理よりも、機能や操作というユーザの論理に合わせた見積り方法です。
FP法の計測手法には、IFPUG 法、COSMIC 法、フルファンクションポイント法、フィーチャポイント法、MarkⅡ法、NESMA 概算法、SPR 法など様々な手法が提案されています。
詳細については、ファンクションポイント法(FP法:Function Point Method)についてを参照ください。
COCOMO(Constructive Cost Model、ココモ法、COCOMO見積りモデル)
COCOMOとは
COCOMOとは、予想されるプログラム行数にエンジニアの能力や要求の信頼性などの補正係数を掛け合わせて、工数や作業のコストを見積る手法です。
COCOMOの特徴は、プログラム言語などに左右されないため客観性を保つことができる点となります。
この手法は、1981年にアメリカのBarry W. Boehm氏がTRW社で収集した開発データを基にして考案したとされます。
なお、Constructive Cost Modelとは和訳すると、「構造的なコスト推計モデル」という意味になります。
COCOMOの計算方法
以下は基本モデル(Basic COCOMO)と呼ばれ、小規模なプロジェクトや、詳細な情報が少ないプロジェクトに適している計算モデルです。
(この他に、COCOMOモデルには、中間モデルと詳細モデルがあります。)
プログラム規模と開発者の能力を主な入力情報として、開発工数を算出します。
開発工数 = a × ソースコードの行数(KLOC) ^ b
a:ソフトウェアの規模を表す係数(2.8, 3.0, 3.2のいずれか)
b:補正係数(a=2.8なら1.20, a=3.0なら1.12, a=3.2なら1.05)
COCOMOの注意点
COCOMOの使用には、自社における生産性に関する蓄積されたデータが必要である、といわれています。
COCOMOは統計モデルに基づいており、過去のプロジェクトデータから算出した平均的な値を元に算出を行います。
そのため、個々のプロジェクトの状況によっては、見積もり誤差が発生する可能性がある。
COCOMO II(ココモ2、ココモツー)とは
COCOMO IIとは、1997年にBarry W. Boehm氏が発表した、COCOMOを改良した新たな見積り手法です。
ソフトウェアの機能を評価する方法としてファンクションポイント法や能力成熟度モデルなどの考え方を取り入れ、拡張および厳密化を施している点が特徴です。
また、2000年には他の多くの開発プロジェクトから得られたデータをフィードバックした「COCOMO II.2000」が発表されています。
CoBRA(A Hybrid Method for Cost Estimation, Benchmarking, and Risk Assessment)
CoBRA法とは
CoBRA法とは、様々な要因によってコストが増加することを前提として、その変動要因(リスク要因)や標準生産性を過去のプロジェクトを元にして計算する見積り手法です。
開発工数を見積る時は、見積りモデルに対して、ソフトウェアの規模とプロジェクトの工数を上げる要因(変動要因)のレベルを入力して算出します。
CoBRA法は、ドイツのフラウンホーファー研究機構(IESE:実験ソフトウェア工学研究所)により開発された見積り手法です。
CoBRA法に基づいた見積りモデル構築ツール
IPAが提供する「CoBRA法に基づいた見積りモデル構築ツール」を使うことでCoBRA法を効率的に実施することができます。
CoBRA法に基づく見積り支援ツール
関連ページ
- プロジェクトマネジメント
- トップダウン見積り法
- ボトムアップ見積り法
- パラメトリック見積り法(係数モデル見積り)
- ファンクションポイント法(FP法:Function Point Method)
- 三点見積もり法