ソフトウエアの開発コストを見積もる手法の1つ。システムを機能単位に分解し、機能別に標準化されたポイント数に換算することで全体の規模を見積もる。

 ソフトの開発費用を正確に見積もることはソフト技術者にとって永遠の課題です。その中で、見積もり手法の1つとして考案されたのが「ファンクションポイント法(FP法)」です。1979年に米IBMのA・J・アルブレヒト氏が考案しました。FP法の国際団体IFPUGが標準化を推進し、実施方法をCPMという文書にまとめています。CPMに基づく手法を「IFPUG法」と呼びます。

 IFPUGの日本支部JFPUG(日本ファンクションポイントユーザ会)には、2006年時点で300社近い法人会員が所属しています。

効果◆規模を見積もる

 FP法の基本的な考え方は以下のようなものです。まず、仕様設計段階でプログラムを機能(ファンクション)別に分解し、それぞれの機能に応じたポイント数(FP値)を合計します。この換算には過去の実績をベースに標準化されたものを用います。IFPUG法のCPMに基づいてFP値を算出すれば、見積もり担当者の違いによるブレは小さいといわれています。そのポイント数を生産性係数で割ることで開発工数を求め、さらに工数当たりの人件費を乗じることで、開発コストを算出できます。

 ただし、FP法を単に適用しても大きな誤差が生じるケースがあります。例えば、未経験な新技術に挑戦するようなケースでは、生産性が従来より悪化するかもしれませんが、そのさじ加減が困難です。

 また、ウェブ時代の今、画面表示の機能は動画や複雑なロジックが盛り込まれたりと高度化しています。こうしたケースで従来のFP法における「画面」の定義を流用すると過少な見積もりになってしまう可能性があります。

 そこで、生産性係数を言語別や業務別に細かく定めたり、従来のFP値の定義に該当しない新機能については別なやり方で別途見積もるなどの工夫も必要になります。

 また、生産性係数や工数当たりの人件費はユーザー1社だけでは検証が困難です。そこで日本情報システム・ユーザー協会は会員企業を対象に「ソフトウェアメトリックス調査」を実施してこれらの数値を毎年4月に算出することで、FP法の普及を図っています。

事例◆開発生産性などを指標化

 リクルートは1990年代からFP法を研究し、2002年から全システムの規模・開発生産性・開発期間・品質などの指標をFP法をベースに算出し比較するルールを導入。いったん稼働したシステムを廃棄するなどの意思決定に活用してきました。現在は「FP法とほかの手法を組み合わせることで一層の見積もりの精度向上に取り組んでいる」(同社)としています。