連載
» 2012年01月23日 11時22分 UPDATE

山浦恒央の“くみこみ”な話(39):ついに登場! 究極の見積もり技法(その2:実践編) (2/2)

[山浦恒央 東海大学 大学院 組込み技術研究科 准教授(工学博士),@IT MONOist]
前のページへ 1|2       

具体的な算出手順

ステップ1:プログラムサイズ、工数、開発時間から生産性指標を計算

 生産性指標の算出が、全ての基礎になります。なお、生産性指標の数値が「1」違うだけで、工数、開発期間、開発規模の計算に大きな誤差が出ますので、きちんと算出する必要があります。生産性指標は、過去の開発データから算出しますが、過去のデータの蓄積がない場合は平均値として「13」を使うとよいでしょう。

 算出手順は、以下の通りです(Excelファイルの「計算式1」を使用)。

  1. 過去のソフトウェア開発データから、開発時間(単位:月)、工数(単位:人月)、プログラムサイズ(LOC)を求め、Excelファイルの「計算式1」を適用し、生産性指標を求める
  2. 生産性指標は、以下の要素の影響を受けるので、類似データで算出することが望ましい 
    ・プロジェクトの構成人員と人数 
    ・開発対象ソフトウェアの分野
  3. 求めた生産性指標をCMM(Capability Maturity Model)のレベルと比較し(CMMと生産性指標の関係は前回を参照)、妥当性をチェックする

ステップ2(1):工数、開発時間からプログラムサイズ(LOC)を計算

 算出手順は、以下の通りです(Excelファイルの「計算式2」を使用)。

  1. 上記の「ステップ1:プログラムサイズ、工数、開発時間から生産性指標を計算」の手順に従って、過去のソフトウェア開発データあるいはCMMのレベルから、生産性指標を求める。過去のデータがない場合は、平均値の「13」を使う
  2. βとして、取りあえず、適当な値(例えば、0.28)を選ぶ
  3. コストを人月単価で割り、投入可能な工数(単位:人月)を求める。例えば、開発コストが3200万円で人員単価が80万円/月だとすると、投入可能な工数は40人月になる
  4. Excelファイルの「計算式2」を使用し、プログラムサイズ(LOC)を計算する
  5. βの値とLOCの関係が以下の表に適合すれば終了。範囲外ならばβを調整し、4.へ戻る
プログラムサイズ(KLOC) 5〜15 20 30 40 50 70〜
β 0.16 0.18 0.28 0.34 0.37 0.39
表1 βの値とプログラムサイズの関係

ステップ2(2):プログラムサイズ(LOC)、開発時間から工数を計算

 算出手順は、以下の通りです(Excelファイルの「計算式3」を使用)。

  1. 上記の「ステップ1:プログラムサイズ、工数、開発時間から生産性指標を計算」の手順に従って、過去のソフトウェア開発データあるいはCMMのレベルから、生産性指標を求める。過去のデータがない場合は、平均値の「13」を使う
  2. ソフトウェアの開発規模(プログラムサイズ(LOC))を見積もる。規模見積もりは、FP試算法プログラムを適用するとよい
  3. プログラムサイズ(LOC)から、該当するβの値を選ぶ(表1)
  4. Excelファイルの「計算式3」を使用し、工数(単位:人月)を計算する
  5. 求めた工数に人月単価を乗じれば開発コストを算出できる。例えば、工数が40人月で人員単価が80万円/月だとすると、開発コストは3200万円になる

ステップ2(3):工数、プログラムサイズ(LOC)から開発時間を計算

 算出手順は、以下の通りです(Excelファイルの「計算式4」を使用)。

  1. 上記の「ステップ1:プログラムサイズ、工数、開発時間から生産性指標を計算」の手順に従って、過去のソフトウェア開発データあるいはCMMのレベルから、生産性指標を求める。過去のデータがない場合は、平均値の「13」を使う
  2. ソフトウェアの開発規模(プログラムサイズ(LOC))を見積もる。規模見積もりは、FP試算法プログラムを適用するとよい
  3. 算出したプログラムサイズ(LOC)から、該当するβの値を選ぶ(表1)
  4. 開発コストを人月単価で割り、投入可能な工数(単位:人月)を求める。例えば、開発コストが3200万円で人員単価が80万円/月だとすると、投入可能な工数は40人月になる
  5. Excelファイルの「計算式4」を使用し、開発時間(単位:月)を計算する


 今回はExcelを用い、SLIMのソフトウェア開発関係式を適用した、工数(コスト)、開発期間(月)、機能総量(規模)、(プロセス)生産性の具体的な算出法を解説しました。

 SLIMのトレードマークともいうべき考え方が「最短開発期間」です。これは、「開発技術者を何万人投入しても、これより早くは開発できない」という“時間(月)”のことです。「18カ月かかるところを12カ月でやれ!」といわれて、「それは無理です」と答えると、必ず「何の工夫もしないでできない何て言うな!!」と上層部から叱責を受けます。その場合の究極の反撃法が、このSLIMで算出する最短開発期間です。「最短開発期間を計算したところ、14カ月となりました。ですので、12カ月で開発することは不可能です」と根拠のある反撃ができます。次回は、この“最短開発期間の算出方法”について解説します。お楽しみに! (次回に続く)

【 筆者紹介 】
山浦 恒央(やまうら つねお)
東海大学 大学院 組込み技術研究科 助教授(工学博士)

1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科助教授、現在に至る。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


「山浦恒央の“くみこみ”な話」バックナンバー
前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.