FP法とは?メリットやデメリット・見積もりの流れ・スキルアップの方法を紹介
- FP法とは?
- FP法のメリット・デメリットは?
- FP法による見積もりの流れは?
「FP法は何をするものなのかよくわからない...」とお悩みのシステム開発担当者、必見です。
FP法とは、開発したいシステムの「機能」ごとにかかる時間・労力をポイントで表し、見積もる手法です。誰でも同じように算出できるため、見積もり作業のばらつきを抑えられます。機能要件のみに該当する見積もり方法のため、非機能要件の見積もりはできません。
本記事では、FP法の概要やメリットやデメリット、見積もりの流れ・スキルアップの方法を紹介します。記事を読み終わった頃には、FP法の概要や見積もり方法を理解してシステム開発に役立てられるでしょう。
もしも今現在、
- どの開発会社に依頼したらいいかわからない
- ChatGPTを使ったシステムを開発したい
- 新たな機能・システムを導入したい
上記のようなお困りがありましたら、比較ビズへお気軽にご相談ください。比較ビズでは、複数のシステム開発会社に一括で見積もりができ、相場感や各社の特色を把握したうえで業者を選定できます。見積もりしたからといって、必ずしも契約する必要はありません。まずはお気軽にご利用ください。
FP法とはシステム開発にかかる時間・労力を換算する見積もり手法
FP法とは「ファンクションポイント法」の略称で、開発したいシステムの機能ごとにかかる時間・労力をポイントで表して見積もる手法です。
FP法を用いることで、誰が見積もりを実施しても同じ結果が得られるため、見積もり作業のばらつきを抑えられます。ソフトウェア開発の生産性を測定するための要件を「ファンクション」として定義し、カテゴライズすることで見積もりを均一にできます。
ファンクションは、システムの実装形式・開発形式・開発手法の違いに影響を受けずに同じスコアにでき、開発言語の違いにも影響を受けません。
FP法のメリット
FP法のメリットは、以下の3つが挙げられます。
- 開発要件を分類して計算し正確な見積もりができる
- 見積もり作業のばらつきを抑えられる
- あらかじめ要件変動による影響を可視化できる
FP法は開発要件を分類して、開発にかかる時間・労力を正確に見積もりできます。見積もりのばらつきを抑え、要件変動による影響を可視化できる点が特徴です。
開発要件を分類して計算し正確な見積もりができる
FP法を用いることで、開発案件を機能要件とそのほかの要件に分類して正確な見積もりが可能です。実現したい機能を基準にポイント形式で見積もることで、定量的になります。ITに詳しくない人でもわかりやすく、内容に納得を得られやすいことが特徴です。
見積もり作業のばらつきを抑えられる
FP法を用いることで、見積もり作業のばらつきを抑えられます。見積もり算定方法を系統立てて実施できるようにまとめた手法のため、誰が算定しても同等の結果が得られるでしょう。
あらかじめ要件変動による影響を可視化できる
FP法は、あらかじめ要件変動による影響を可視化できます。全体の枠組みを先行して完成させるためです。プロジェクト期間中に仕様変更が生じたとしても、変更箇所のFP数をアップデートすることで算定できます。
FP法のデメリット
FP法のデメリットは、以下の3つが挙げられます。
- 過去に事例のない機能の評価は難しい
- 非機能要件は数値化できない
- 入力機能の見極めができない
FP法は過去に事例のない機能の評価は難しく、入力機能の複雑さ・単純さの見極めが難しいです。機能要件の見積もりを算出する方法のため、非機能要件の数値化もできません。
過去に事例のない機能の評価は難しい
過去に事例のない機能の評価が難しいことは、デメリットの1つです。事例のない機能の評価を行うと、完全に推測・憶測による見積もりとなり、正確さは低下するでしょう。
FP法以外でも開発規模の推定には過去の評価を少なからず参考にしているため、FP法に限ったことではありません。
非機能要件は数値化できない
FP法は機能要件を定量化する手法であり、性能や信頼性・セキュリティなどの非機能要件は数値化できません。機能要件・非機能要件それぞれにかかるコストを分離して見積もるか、非機能要件のグレードを考慮した生産性を使用するなどの対処が必要となります。
入力機能の見極めができない
FP法では、入力機能の複雑さ・単純さの見極めができません。ファンクションの複雑さを3段階に分類しますが、ルール上「処理の複雑さ」が考慮されないためです。非常に複雑なロジックを伴う入力機能と単純な入力機能が同じFPになる可能性があります。
FP法による見積もりの流れ
FP法を用いた見積もりの流れは、以下のとおりです。
- 5つのファンクション型に分類
- ファンクションの複雑さを3段階に分類
- システム全体の未調整FPを計算
- システムの特性の合計値を計算
- システム特性係数の計算
- FPを計算
FP法は、5つのファンクション型に分類し、それぞれのファンクションの複雑さを3段階に分類したのち、ファンクションポイントの算出を開始します。計算方法を間違えないように注意しましょう。
1. 5つのファンクション型に分類
システムの機能を、以下の5つのファンクション型に分類します。
- 外部入力(EI、External Input)
- 外部出力(EO、External Output)
- 外部照会(EQ、External Inquiry)
- 内部論理ファイル(ILF、Internal Logical File)
- 外部インタフェースファイル(EIF、External Interface File)
外部入力とは、外部からのデータ入力によってデータ・ファンクションを更新する処理です。外部出力とは、外部にデータを出力する処理を指します。
外部照会とは、内部論理ファイルを更新せずに外部にデータを出力する処理です。外部入力・外部出力・外部照会は、トランザクションファンクションと呼ばれています。
内部論理ファイルとは、追加・更新・削除などの操作対象ファイルを指します。外部インタフェースファイルとは、アプリケーション境界外にあるファイルです。内部論理ファイル・外部インタフェースファイルは、データファンクションと呼ばれています。
2. ファンクションの複雑さを3段階に分類
機能(データ)ごとの複雑さを「低」「中」「高」の3段階に分類して、それぞれに点数を与えます。過去の類例をもとに分類することが大切です。
3. システム全体の未調整FPを計算
システム全体の未調整FP(UFP:Unadjusted FP)を計算します。各データに「低」「中」「高」の3段階の複雑さに応じた点数をかけて、合算することで得られる値が未調整FPです。
4. システムの特性の合計値を計算
システム特性の合計値は、以下の14種類の観点を合算します。
- データ通信
- 分散処理
- 性能
- 高負荷構成
- 要素処理(トランザクション)量
- オンラインデータ入力
- エンドユーザ効率
- オンライン更新
- 複雑な処理
- 再利用可能性
- インストール容易性
- 運用性
- 複数サイト
- 変更容易性
以上の項目をそれぞれ「0〜5の6段階」で評価して、合計した数字がシステム特性の合計値です。
5. システム特性係数の計算
システム特性係数を計算します。システム特性の合計値を以下の式にあてはめてください。
システム特性係数=システム特性の合計値 × 0.01+0.65
6. FPを計算
FPを以下の式で求めます。
FP=未調整FP × システム特性係数
FP法には標準化団体が存在する
FP法には、以下の2つの標準化団体が存在しています。
- 国際標準化機構「ISO」(International Organization for Standardization)
- 国際電気標準会議「IEC」(International Electrotechnical Commission)
ISOは、各国の代表的な標準化機関から成り立っている国際標準化機関です。電気・通信・電子技術分野以外の全産業分野(鉱工業・農業・医薬品など)に関する国際規格の作成を行っています。IECは、電気・通信・電子技術分野の国際規格の作成を行う国際標準化機関です。
日本のFP法ユーザー団体は「JFPUG」
日本のFP法ユーザー団体はJFPUG(Japan Function Point User Group)であり、1994年に設立されました。海外支部のひとつであり、本部はアメリカにあるIFPUG(International Function Point User Group)です。FP法のガイドラインは、ISOで標準化されています。
そのほかのソフトウェア開発見積もりモデル
FP法以外で、主なソフトウェア開発見積もりモデルは以下の2つです。
- COCOMO
- LOC
COCOMO(Constructive Cost Model)は、日本語に変換すると「構造的なコスト推計モデル」です。算出方法は、ソフトウェアの想定ソースコード行数にソフトウェアの規模を表す係数をかけます。「開発するソフトウェアの規模が大きいほど多くの工数が発生する」考えをもとにしているためです。
LOC(Lines Of Code)は「ステップ数による見積もり」とも呼ばれ、プログラムソースの行数に比例して工数を求める方法です。長く使われてきた見積もり手法ですが誤差のブレ幅が大きく、システムの規模が大きくなるほど客観的な指標になりづらいとされています。
FP法のスキルアップは机上で知識を高めて実践することがおすすめ
FP法を用いた見積もりのスキルアップを目指す場合、机上で知識を高めて実践することがおすすめです。IFPUGとJFPUGは、FP法に関連するドキュメントの提供を行っています。
情報処理推進機構(IPA)は「ソフトウェア開発見積りガイドブック(2006年)」を発行しています。IPAの公式サイトから、PDF形式でのダウンロードが可能です。
総務省は「政府情報システムの整備及び管理に関する標準ガイドライン(2014年)」を発行しています。政府系システムに関連する業務にあたる場合は確認してください。
開発業者は、原則としてファンクションポイントの見積もりとその見積もりの根拠の提示が求められています。
まとめ
FP法は、システム開発による機能要件の時間と労力を算出する計算方法です。考案されてから40年以上の利用実績があり、信頼性が高く、政府系システムの見積もりもFP法の利用が求められています。今後も活用される手法といえるでしょう。
見積もりの頻度が高いプロジェクトでは、FP法を用いると見積もり効率と精度が非常に高まります。小規模なプロジェクトにも活用できるため、実践するなかで見積もり業務のレベルアップを目指しましょう。
比較ビズでは、多数のシステム開発会社のなかから気になる業者を無料で比較できます。システム開発を検討している方は、ぜひ比較ビズを利用してください。
大学卒業後はIT企業に入社。システムエンジニアとして大手企業向けのERPシステム開発を経験。その後は、フリーのITコンサルタントとして、人材派遣会社の基幹システムの開発、不動産会社の商業施設での販促システムの導入、自動車メーカーでコネクティッドカー開発のプロジェクト管理、SIerでのSalesforceの導入、ファッション業界の企業でSalesforceと連携する周辺システムの導入を経験。現在は法人化し主に企業のシステム開発プロジェクトを支援。
当初の想定よりも膨大な費用がかかってしまうことが多く、プロジェクトが頓挫してしまうことも少なくありません。正確な見積を行っておけば、仮に予算を大きく超えるコストがかかってしまうという結果になった場合でも、機能に優先順位を付けて必須の要件のみ実現するなどの選択肢が出てきます。
できるだけ正確な数値を出せるよう注力することが推奨されます。状況によってはFP法以外の見積方法(類推見積、工数積上見積、など)が適切である場合もあるため、専門家の力をうまく借りることもオススメです。
比較ビズ編集部では、BtoB向けに様々な業種の発注に役立つ情報を発信。「発注先の選び方を知りたい」「外注する際の費用相場を知りたい」といった疑問を編集部のメンバーが分かりやすく解説しています。
もしも今現在、
- どの開発会社に依頼したらいいかわからない
- ChatGPTを使ったシステムを開発したい
- 新たな機能・システムを導入したい
上記のようなお困りがありましたら、比較ビズへお気軽にご相談ください。比較ビズでは、複数のシステム開発会社に一括で見積もりができ、相場感や各社の特色を把握したうえで業者を選定できます。見積もりしたからといって、必ずしも契約する必要はありません。まずはお気軽にご利用ください。
発注ガイド
システム開発会社のお役立ち情報
編集部オススメ記事
- システム開発の基本を知る
- システム開発の種類
- システム開発の流れ
- 要件定義書に記載すべき項目
- 見積もり時のチェックポイント
- システム開発の相場を知る
- システム開発の費用相場
- システム改修の費用相場
- システム保守の費用相場
- データベース構築の費用相場
- ECサイトの費用相場
- Eラーニング開発の費用相場
- マッチングサイトの費用相場
- 予約システムの費用相場
- システム開発業者を探す
- WEB系システム開発会社一覧
- 業務系システム開発会社一覧
- 格安なシステム開発会社
- 決済システムが得意な開発会社