【発注者向け】FP法とは?計測方法やメリット・デメリットを解説

最終更新日:2023年03月14日
AOIS Consulting株式会社
監修者
代表取締役 青井真吾
【発注者向け】FP法とは?計測方法やメリット・デメリットを解説
この記事で解決できるお悩み
  • FP法の計測方法はどうやるの?
  • FP法の見積もりを正確の行うには?
  • 見積もりの適正価格はいくら?

FP法(ファンクションポイント法)はシステム開発の見積もり・規模計測によく用いられる手法の1つです。円滑に業務を進めるために、また見積もりおよび取引先の信頼性を確かめるために、発注者もFP法について知っておいて損はありません。

この記事では非エンジニアでもわかりやすいFP法の基礎知識、メリット・デメリットや注意点を解説します。

システム開発にお困りではありませんか?

もしも今現在、

  • どの開発会社に依頼したらいいかわからない
  • 新たな機能・システムを導入したい
  • chatgptを使ったシステムを開発したい

全国に何万もあるシステム開発会社から、ピッタリの一社を見つけるのは大変です。比較ビズではシステム開発会社の登録に力を入れており、価格重視、デザイン重視、技術重視など、様々な特徴を持った会社から一括で見積もりが貰えます。まずはお気軽にご相談ください。

掲載企業から一覧で比較して探す

FP法は機能から開発工数を見積もる方法

k4UP6YGGv9kztzn1676271080_1676271090

出典:IFPUG

FP法(ファンクションポイント法)とは、ユーザーが利用する機能(ファンクション)に点数(ポイント)をつけてシステムの開発工数を見積もる方法です。大手ソフトウェア開発会社アメリカIBMのアラン・アルブレクト氏が、見積もりの計測を平準化するためにFP法を考案しました。

1986年に設立されたIPFUG(International Function Point Users Group)や、1994年に設立されたJFPUG(日本ファンクションポイントユーザー会)が、FP法の普及や手法確立に尽力。ISOおよびJISの規格も制定されるほど開発規模の計測手段として定番化しています。

ユーザーが利用する機能を定量化する

FP法ではユーザーが利用する機能を定量化し、開発規模を計測します。

すべてのシステムは「入力」「出力」「記憶」「演算」「制御」という五大要素が搭載されることで機能する仕組みです。このうち、FP法ではユーザーが外的に観察できる「入力」「出力」「記憶」のみを対象とします。「演算」と「制御」はシステムの裏側で確実に行われているものの、ユーザーにはわからないためFP法では対象としていません。

まず、それぞれの機能に対して実装難易度を考慮した点数を付与し合計。次にシステム特性に応じて傾斜をかけることで開発規模を計測します。

標準ガイドラインが制定されている

FP法を用いた開発規模の計測には標準ガイドラインが制定されています。

FP法は見積もり計測の平準化のために考案されました。しかし実際のところ、難易度の推定のように主観に基づく部分も少なくありません。そこで下記のようなガイドラインおよび計測手法の整備がされています。

  • IFPUG法

    IFPUGが制定している手法で、ISO/JIS規格にも採用されている。

  • SPR法

    アメリカのSPR社が、工数削減のために計測を簡略化した手法。

  • NESMA概算

    NESMA(オランダソフトウェア計測協会)が、開発の初期段階でも簡単に利用できるように考案した手法。

エンタプライズ系ソフトウェア開発においては、IFPUG法が最も一般的に利用されています

計測手法 エンタプライズ系ソフトウェア開発での採用率
IFPUG法 32%
SPR法 21%
NESMA法 10%
その他 33%

参考:独立行政法人情報処理推進機構

FP法(IPFUG法)で開発工数を計測する5ステップ

FP法(IPFUG法)で開発工数を計測する5ステップ

FP法(IPFUG法)で開発工数・規模を計測する場合、上記のようなステップを踏みます。

1. 機能を型に分類しカウント

機能(データ)を「外部入力(EI)」「外部出力(EO)」「外部照会(EQ)」「内部論理ファイル(ILF)」「外部インターフェースファイル(EIF)」の5つに分類し、それぞれの数をカウントします。

2. 分類した機能の複雑度を評価し合算

過去の類例をもとに機能(データ)ごとの複雑度を「低」「中」「高」の3段階に分類して点数を与え、すべての機能(データ)の点数を合算。点数の合計値を「未調整FP」と呼びます。

3. システム特性を評価

システム特性を「分散が必要」「データ通信が必要」といった14の項目にもとづき、0〜5の6段階で評価し合算します。

4. システム特性係数を計算

「システム特性係数=0.65+((ステップ3で合算したシステム特性の合計値)×0.01)」の式を用いて、システム特性係数を計算します。システム特性係数は0.65〜1.35の間です。

5. 未調整FPとシステム特性係数を乗算

「FP=未調整FP(ステップ3の合計値)×システム特性係数(ステップ4の値)」の式を用いて、最終的なFPを計算します。

発注側であれば上記のステップをすべて理解する必要はありません。大まかに把握しておけば十分でしょう。

またJIS規格に採用しているのは「未調整FP」を計算するステップまでです。3以降については会社によって異なる場合があるため、注意しましょう。

FP法の3つのメリット

FP法の3つのメリット

FP法には上記のようなメリットがあります。

発注者でも直感的に理解しやすい

たいていの場合、システムの内部でどれだけ複雑な処理が行われていても発注者は直感的に理解できません。「ユーザーからは見えない〇〇という機能の実装に△△万円かかります」と提示され、本当かどうかわからないまま支払うこともあるでしょう。

一方でFP法ではユーザーが外的に認識できる機能だけを対象とします。SNSのようなシステムの開発を依頼した場合を考えてみましょう。「投稿機能に□□万円、フォロー機能に××万円かかります」と提示されれば、金額が妥当か否かはともかく、見積もりの根拠を直感的に理解できるはずです。

設計段階でも一定の正確性がある

システム開発においては「どのような機能が必要か」という仕様を設計するのが第一段階です。FP法では機能を対象に見積もりを計測するため、仕様設計を固めれば固めるほど見積もりの正確さも増します

発注者が途中で仕様変更を要求したような場合を除き、FP法の見積もりは設計段階でもある程度正確です。

見積もり金額がプログラミング言語や実装方法に依存しない

ユーザーにとっての機能がまったく同じシステムを、JavaScriptとPythonのどちらを用いて開発するかによって見積もり金額が異なっていたら、発注者は「わかりづらい」「納得できない」と思うでしょう。ソースコードの行数で開発規模を計測するLOC法(Lines Of Code法)では、開発者の癖や力量によって見積もりが上下します。

ユーザーから見た機能を基準にすることで実装方法や開発者に関係なく規模を計測できる点がFP法のメリットです。

FP法の2つのデメリット

FP法の2つのデメリット

FP法には上記のようなデメリットも存在します。あらかじめ把握し、後々のトラブルを防ぎましょう。

過去に類例がない場合の見積もりが難しい

過去に同様のシステムや機能を開発した経験・実績がない場合、正確な見積もりはできません。

IFPUG法を用いた計測のステップ2で紹介した機能(データ)の複雑度評価は、過去の類例をもとに行われます。過去に類例がなければ完全な推測・憶測での見積もりとなるため、信頼度は低いでしょう。

ただし見積もりに類例を必要とするのはFP法に限った話ではありません。FP法以外でも開発規模の推定には過去の経験・実績を少なからず参考にしています。

主観を完全に排除できるわけではない

FP法を用いた開発規模の計測では、主観を完全には排除できません。ガイドラインが制定されていても複雑度やシステム特性を明確に数値化できない以上、評価には開発者の主観が入ります。

この点に関しても、FP法に特有なデメリットとはいえません。ほかの計測手法でも主観が入りうるため、ソフトウェア開発の見積もり一般に対してという認識が適当でしょう。

注意|必ずしも初めの見積もりどおりの金額にはならない

Fte7jRtZWXlizoc1676271145_1676271171

FP法は見積もりと実際の費用との誤差が生まれにくい手法ですが、完全に0になるわけではありません。

設計段階の想定よりも必要な機能が増えたり実装に手間取ったりといった原因で、開発コストが膨らむ可能性があります。見積もりよりもコストが大きくなる可能性があることを前提に、上長へ許可をとったり社内で稟議にかけたりしましょう。

まとめ|FP法を理解して見積もりの正確性をチェックしよう

この記事ではFP法の基礎知識を中心に、システム開発の見積もり発注で覚えておきたいポイントを紹介しました。

  • FP法とはユーザーが認識できる機能(ファンクション)に点数(ポイント)をつけてシステムの開発規模を計測する手法を指す
  • IPFUG法が最も一般的でISO/JISの規格にも採用されている
  • 設計段階の見積もりでも一定の正確性があるが、必ずそのとおりの金額になるわけではない

見積もりが適正か、取引先が誠実かを判断するために、発注者もFP法について理解しておきましょう。

監修者の一言

システム開発プロジェクトでは、この記事で紹介されているFP法などを利用して開発費用の見積を行うことがとても重要です。不正確な見積でプロジェクトを開始することは、プロジェクトの失敗に直結してしまいます。

当初の想定よりも膨大な費用がかかってしまうことが多く、プロジェクトが頓挫してしまうことも少なくありません。正確な見積を行っておけば、仮に予算を大きく超えるコストがかかってしまうという結果になった場合でも、機能に優先順位を付けて必須の要件のみ実現するなどの選択肢が出てきます。

できるだけ正確な数値を出せるよう注力することが推奨されます。状況によってはFP法以外の見積方法(類推見積、工数積上見積、など)が適切である場合もあるため、専門家の力をうまく借りることもオススメです。

AOIS Consulting株式会社
代表取締役 青井真吾
監修者

大学卒業後はIT企業に入社。システムエンジニアとして大手企業向けのERPシステム開発を経験。その後は、フリーのITコンサルタントとして、人材派遣会社の基幹システムの開発、不動産会社の商業施設での販促システムの導入、自動車メーカーでコネクティッドカー開発のプロジェクト管理、SIerでのSalesforceの導入、ファッション業界の企業でSalesforceと連携する周辺システムの導入を経験。現在は法人化し主に企業のシステム開発プロジェクトを支援。

比較ビズ編集部
執筆者
比較ビズ編集部では、BtoB向けに様々な業種の発注に役立つ情報を発信。「発注先の選び方を知りたい」「外注する際の費用相場を知りたい」といった疑問を編集部のメンバーが分かりやすく解説しています。
システム開発にお困りではありませんか?

もしも今現在、

  • どの開発会社に依頼したらいいかわからない
  • 新たな機能・システムを導入したい
  • chatgptを使ったシステムを開発したい

全国に何万もあるシステム開発会社から、ピッタリの一社を見つけるのは大変です。比較ビズではシステム開発会社の登録に力を入れており、価格重視、デザイン重視、技術重視など、様々な特徴を持った会社から一括で見積もりが貰えます。まずはお気軽にご相談ください。

掲載企業から一覧で比較して探す