FP(ファンクションポイント)法

グラフ

見積もりの際利用することもある手法の一つが、このFP法(ファンクションポイント法)です。

ファンクションポイントという独自の点数で機能を評価して、ソフトウェア開発における費用や工数を割り出すことができます。FP法はいつから存在するのか?FP法にはどんな利点があるのか?

今回は、FP法について詳しく調べていくことにしましょう。

※本ページにはPRが含まれます。

FP法はいつからあるのか?

FP法の歴史は古く、その起源は1979年にまで遡ります。

FP法を考案したのはIBMの社員、A.J.Albrecht氏。ソフトウェアの工数やコストを割り出すために考えられました。FP法登場以前を考えると、FP法はそれまでの工程予想よりも客観的にソフトウェア工程を考えることができるでしょう。

FP法でどんなことができるのか?

FP法で行うのは、ソフトウェア開発の規模を見積もるというもの。まずは工程を調べるプログラムを機能で分けます。そして分けたそれぞれの機能にファンクションポイントという独自の採点基準で評価します。

この採点を行う基順は、過去の実績をベースに行う場合が多いです。しかしIFPUG法を用いてFP法を割り出せば、担当者ごとに生まれるファンクションポイントの差異を小さく出来るとも言われています。

FP法を用いた事例

かの大手企業「リクルート」では、ソフトウェアの工数や費用の割り出しにFP方を法を活用します。リクルートがFP法を導入したのは1990年の話。その後2002年になってからは全システムの規模や開発期間などの指標を、ファンクションポイントで評価しています。

担当者は、FP法とほかの手法を組み合わせることで一層の見積もりの精度向上に取り組んでいると述べています。

しかし過去の実績を照らし合わせてファンクションポイントを算出することの多いFP法。どうしても個人差が生まれてしまいがちです。そこで、セブン-イレブン・ジャパンは自社流FPを定めることで、個人差を無くしました。

FP法で用いる用語

FP法を算出する際には、以下のような用語を用います。

  • ILF 内部論理ファイル
  • EIF 外部インターフェイスファイル
  • EI 外部入力
  • EO 外部出力
  • EQ 外部照会

それぞれの要素を、ファンクションと定めて計測を行います。

用語の言い換えが可能

上で述べたFP法の専門用語。この用語を実際に見てもピンと来なかった人のために、専門用語の言い換えを行います。
ILF内部倫理ファイルはつまり内部ファイルのこと。一連の項目の連なりのことです。EIF 外部インターフェイスファイルもわかりやすく、外部ファイルと言い切ってしまいましょう。

EI 外部入力は入力、EO 外部出力は出力、EQ 外部照会は検索と言い換えてしまえば、わかりやすくなりますよね。

FP値の計測手順

  1. FPの計測タイプを識別する
  2. 計測範囲とアプリケーション境界を分ける
  3. データファイルの複雑度識別
  4. 要素処理
  5. 未調整フィナンシャルポイント計測
  6. 調整係数を算出
  7. 調節済みフィナンシャルポイントを算出

ここまでの複雑な手順を踏んで、FPを割り出します。しかし、ソフトウェアの仕様が定かでない状態で、ここまで詳細に計算できるわけがないと思う方も多いはず。

そんな方に向けて、簡易版FP法なんてものがあるので、ぜひ探してみてください。

FP法はどれくらい一般化されているのか

FP法を使ったソフトウェア工程評価、実際にやってみたいものの、複雑そうで手が出せない方も多いはず。

現に大手企業ではこの手法が使われているものの、あれは企業の母体が大きいからこそ管理メソッドを確立できたという背景もあります。FPの算出で時間をかけていては、せっかくのソフトウェア開発に必要な時間が足りなくなってしまいます。

FP法を普及させるために非営利団体、(IFPUG)が発足しており、日本にも日本ファンクションポイントユーザ会があるなど、標準化のための試みは多く凝らされています。

COCOMOに発展 算出ツールも開発される

その後、1981年にベリーバームがCOCOMOを提唱しました。

COCOMOで行う開発期間、工程、費用の算出はプログラム言語に左右されない客観性を持っていましたが、それゆえの厳密性を欠いていました。その後、COCOMOにファンクションポイントの考え方を取り込んだCOCOMOⅡが考えられました。

COCOMOでソフトウェア開発工程を評価できる無料ツールもあります。

FP法 複雑だが使う価値あり?

FP法は確かに考え方が少し複雑です。

しかし、ソフトウェア開発前に工程の評価や開発費用の算出ができるFP法。身につけておく価値は十分あります。

ソフトウェア開発における尺度を表すことができる、ファンクションポイント。気になる方は、専門書などを見て、詳しく調べて見てください。