FP法ファンクション概要

【IPA PM試験合格への道】パラメトリック見積もり / ファンクションポイント法

こんにちは。
フィフス・フロアの営業を担当しているイノウエです。

現在プロジェクトマネージャ(PM)試験の勉強中の身でして、PM試験を通して実務に活かせそうな情報をシェアしようという趣向で
この記事を書いています。

今回は、実務でも悩みのタネである「見積もり」のトピックについてシェアしたいと思います。
本記事では、パラメトリック見積もりの一種であるファンクションポイント法を紹介します。

ファンクションポイント法とは?

ファンクションポイント法(function point method)とは、1979年にIBMのアレン・J・アルブレヒト氏(A.J.Albrecht)が考案した
ソフトウェアの規模を測定する見積技法の一つです。

ソフトウェアがもつ機能数や複雑さを重みづけした点数を評価し、開発工数を見積ります。

function は日本語に訳すと、「機能」といいます。
ファンクションポイント法は下記の手順にしたがって、見積工数を算出します

1. 算定基礎数値の決定
2. ファンクションポイント数の算出
3. 補正係数の算出と適用

手順1. 算定基礎数値の決定

ファンクションポイント法(以下、FP法)は、見積工数を算定するための基礎数値を用いて見積を行います。

IFPUG(International Function Point Users Group)法は、FP法に属する見積技法です。
上図の機能名称を、データファンクションとトランザクションファンクションに分類し、それぞれ略称を設定しています。
(ちなみに、PM試験では午前Ⅱ問題に出題されるそうです。覚えるとよさそうです!)

例えば、要件定義フェーズ時点では、過去に開発済みのシステムのILFの数から類推して、今回開発するシステムのILF数などを見積もります。

外部設計フェーズが完了しているのであれば、ファイル設計書や画面設計書などを見て、今回開発するシステム全体の IFL, EI数などを決めます。

また、ILF数などの基礎数値は、複雑度高・中・低の3つに分類する必要があります。
最終的には下図のようにまとめられます。

図:基礎数値表

手順2. ファンクションポイント数の算出

手順1で決定した基礎数値に、下図のような重み係数を乗じて、FP数を算出して総合計します。

図:重み係数表

ファンクションポイント数を算出した表を下図にまとめます。

図:ファンクション数合計

手順3. 補正係数の算出と適用

補正係数は、COCOMO法の補正係数と同じく、プロジェクトの特殊性を反映するために設定されます。
PM試験では下表のような内容を用いて補正係数を設定しています。

図:影響度判定基準表

上表に照らして、当プロジェクトはどれに該当するかを検討し、影響度を決定します。
算出方法は、C1+C2+C3+C4+C5+C6+C7 を合算した数値が影響度です。
補正係数は、影響度の合算×0.01+0.65 で計算されます。

折角なので、例題を用いて影響度と補正係数を算出してみましょう。
想定するケースを下表にまとめました。

影響度判定基準表と照らし合わせると、以下の数値が算出されます。
C1=10点, C2=10点, C3=5点, C4=10点, C5=0点, C6=0点, C7=10点
これらをすべて合計すると影響度合計は45点です。
補正係数は、45×0.01+0.65 = 1.1 です。

手順2 で計算したFP数合計に補正係数を乗じると、補正係数適用後のFP数合計が計算されます。
上記の場合だと542×1.1なので596になります。

見積工数の算出

過去の開発生産性の実績平均(人月/FP)を、手順3で算出した補正係数適用後FP数に乗じて見積工数を算出します。
過去の開発生産性の実績平均を 0.8人月/ポイントと仮定すると、手順3の場合は下記のように計算されます。

見積工数=596×0.8=476.8人月

おわりに

FP法は基本的に要件定義から総合テストまでの全工程の開発工数合計を見積もる技法です。
外部設計が終わってなくても、要件定義フェーズでの見積りも概算で可能です。
そのため、見積の説得力を持たせるためには適しているように思います。

ただし、外部設計より前のフェーズにFP法で見積りをすると、あくまで概算での工数しか提示できないのは留意する必要がありそうです。

とはいえFP法で100%の見積精度を出せるというわけではなく、あくまで自社でどのように活用ができるかが重要だと改めて思いました。

この記事が気に入ったらサポートをしてみませんか?