プットナムモデルとは何か?システム開発の見積り方法を解説

2021年2月12日

プットナムモデルの概要

プットナムモデルとは、ソフトウェア開発のコンサルティング会社を経営していたプットナム(Lawrence H. Putnam)によって提案されたシステム開発の見積り方法の1つです[1]Dorset House Publishing – Lawrence H. Putnam
プットナムモデルはシステム規模によって工数が異なることを考慮した手法であり、大規模~超大規模のシステム開発に向けた見積りモデルとされています。

プットナムモデルはトップダウン法の見積り方法です。
まず全体の要員数・工数などのコストを見積り、それを元に工数・サブシステム・プログラムといった単位の詳細を出していきます。

プットナムモデルでは、開発規模・工数・期間にはそれぞれ関係性があるとしています。
「必要な工数は開発期間の時期によって変化する」といった点を考慮しているのもプットナムモデルの特徴です。
プットナムモデルでは開発環境も考慮に入れるため、プロジェクトの困難度を加味して見積りを行うことができます。

プットナムモデルのソフトウェア式

プットナムモデルでは、ステップ数(ソースコードの行数)・工数(コスト)・開発期間の関係を利用して、計算式で見積りを行うことが可能です。
プットナムモデルの代表的な式に、以下の2つがあります。

  • ステップ数の算出
    ステップ数=【環境ファクタの1/3乗】×【開発期間[年]の4/3乗】
  • 総工数の算出
    総工数[人・年]=【ステップ数の3乗】÷(【環境ファクタの3乗】×【開発期間[年]の4乗】)

上記のようにプットナム方式では、ステップ数や環境、開発期間が相互に作用しあっているものとして考えます。
これはすなわち、開発期間や技術レベル、ステップ数をわずかに改善するだけで、大幅にコストを改善できる余地があることも指しています。

プットナムモデルのマンパワー曲線

プットナムモデルでは、システム開発を行うとき、計画の時期に応じて必要な要員数が変化することを考慮します。
それを示したものがマンパワー曲線です。
これによりピーク時に必要な要員数はもちろん、計画後期の開発が落ち着いた時期に必要な要員数、計画全体を通しての累積要員数も検討可能です。
大規模なシステム開発では要員数の管理が重要となります。プットナムモデルで検討することで、過去の開発例やデータをもとに動的な見積りを出すことが可能です。

近しい見積り方法「COCOMOモデル」

プットナムモデルに近しいトップダウン法の見積り方法として、COCOMOモデルが挙げられます。
COCOMO方式では、過去のソフトウェア開発を元にした統計的なモデルを使用します。
予想されるステップ数にプログラムの難易度やエンジニアの能力を掛け合わせることで、期間・要員・生産性などの工数の計算を行います。
COCOMOモデルによる見積りは、実装言語に左右されることなく、客観的な数値を算出しやすいとされています。
また、プットナムモデルは大規模な開発の見積りに適していますが、COCOMOモデルは見積り式の種類が複数あり、プロジェクトの規模に合わせて計算が可能です。

参考