FP法とは?
FP法とはファンクションポイント法の略で、情報システムの提供機能から工数見積もりを行うために1979年に米国IBMのAllan Albrecht氏により考案されました。FP法は誰が見積もりの計測を行っても同じ結果が得られ、見積もり作業のばらつきを抑えることを目的としています。
FP法ではソフトウェア開発の生産性を測定するためのユーザー要件をファンクションとして定義し、カテゴリー化することで見積もりの平準化を行います。
FP法の特徴
FP法ではシステムの機能を「ファンクション」と呼び、そのファンクションごとに点数を定めています。そのため誰が見積もりをしても、ファンクションの数を数えるだけでシステム規模の見積もりが同等に実施できるメリットを持っています。
そのファンクションはシステムの実装形式による違いがなく、開発言語にも依存しません。システム開発の形式にも依存しないため、新規開発でもパッケージ利用でも同等の結果を得られます。
FP法のメリット
FP法のメリットは、誰が算定しても同等の結果が得られることです。そのため、見積もり作業のばらつきを抑えることができます。同様に、プロジェクト期間中に仕様変更が生じた場合もFP数が変わることを指標として算定できるため、要件変動による影響をあらかじめ可視化することが可能です。
また、求める品質評価の目標値をFP法で設定することにより、品質の評価がより簡単に実施できるメリットがあります。
FP法は工数の見積もりだけでなく、プロジェクトサイクル全般で活用できます。具体的には、見積もり・評価・工数管理・品質管理・進捗管理・ベンダーの評価・運用評価・ソフトウェア資産管理・投資対効果の評価等、多岐に渡ります。
FP法におけるファンクションの分類
FP法では、ファンクションをデータ処理に関するトランザクションファンクションと、データ格納に関するデータファンクションに大別して集計します。各区分のファンクションごとに点数を定めているため、点数表に集計すると合計のスコアが簡単に求められます。
各機能はそれぞれ外部入力(EI)・外部出力(EO)・外部照会(EQ)・内部論理ファイル(ILF)・外部インターフェースファイル(EIF)に分類し算出されます。
IFPUG法では、これらの5つのタイプをトランザクションファンクションとデータファンクションに分類しています。
「トランザクションファンクション」 ー データを処理する機能 ・外部入力(EI、External Input) ・外部出力(EO、External Output) ・外部照会(EQ、External Inquiry)
「データファンクション」 ー データを保持するための機能 ・内部論理ファイル(ILF、Internal Logical File) ・外部インタフェースファイル(EIF、External Interface File)
FPの見積もり方法は?
実実際のシステムは複雑度がシステムによって異なり、プログラムの機能量が同一でも必要とされる工数に違いが発生します。
同一の関数を用いる場合であっても、オンライントランザクションとバッチ処理では要件が異なり、単一処理と分散処理では求められる設計アーキテクチャに違いが発生します。
そのため、違いを吸収するために未調整FPにシステム特性計数を乗じてFPを計算します。具体的な計算方法は以下の通りです。
(1)扱うデータを5 つのファンクション型に分類 外部入力(EI)、外部出力(EO)、外部照会(EQ)、内部論理ファイル(ILF)、外部インタフェースファイル(EIF)の5分類
(2) 扱うデータごとに、「データ項目数」とそのデータに関連する「レコード種類数」を集計 データのファンクションの複雑さを3段階(低・中・高)に分類
(3)システム全体の未調整FPの計算 各データに3段階のファンクションの複雑さに応じた未調整FP(調整係数)を掛けて合計
(4) システムの特性の合計値を計算 システム特性を14の観点から0から5の6段階で評価
(5) システム特性係数の計算 VAF= (TDI*0.01)+0.65 VAF:Value Adjustment Factor、システム特性係数 TDI:Total Degree of Influence、システム特性の合計値
(6) FPを計算 FP=UFP*VAF UFP:Unadjusted FP、未調整FP VAF:Value Adjustment Factor、システム特性係数
【参考】:情報処理推進機構(IPA)FP 計測手法における FP 規模と工数の相関の差
ぜひ『マイナビIT エージェント』をご活用ください!
FP法の計測タイプ
先に述べた通り、FPは以下の計算式で算定することができます。
FP =未調整 FP*システム特性係数
実際には、システム開発の工程はシステム設計方式によって異なります。IFPUG法では想定される開発工程について、3つの大まかなプロジェクト分類を計測タイプとして定義し、差異の発生を低減しています。
・ 新規開発プロジェクト DFP=(UFP+CFP)*VAF DFP:Development Project FP 新規開発プロジェクトのFP UFP:Unadjusted FP 利用可能な未調整FP CFP:Conversion FP データ移行機能の未調整FP VAF:Value Adjustment Factor 調整係数
・ 機能改良プロジェクト EFP={(ADD+CHGA+CFP)*VAFA}+(DEL*VAFB) EFP:Enhanced FP 機能改良プロジェクトのFP ADD:Added by the enhancement project 機能改良プロジェクトで追加される機能の未調整FP CHGA:Changed by the enhancement project 機能改良プロジェクトで変更された機能の未調整FP CFP:Conversion FP データ移行機能の未調整FP VAFA:VAF of application after enhancement 機能改良後のアプリケーションの調整係数 DEL:Deleted FP 機能改良プロジェクトで削除される機能の未調整FP VAFB:VAF of application before enhancement 機能改良前のアプリケーションの調整係数
・アプリケーション AFP={(UFPB+ADD+CHGA)-(CHGB+DEL)}*VAFA AFP:Application FP アプリケーションのFP UFPB:Unadjusted application FP count before enhancement 機能改良プロジェクト開始前のアプリケーションの未調整FP ADD:Added by the enhancement project 機能改良プロジェクトで追加される機能の未調整FP CHGA:Changed functionality after enhancement 機能改良プロジェクトで変更された機能の未調整FP CHGB:Changed functionality before enhancement 機能改良プロジェクトで変更となった機能の未調整FP VAFA:VAF of application after enhancement 機能改良後のアプリケーションの調整係数 DEL:Deleted FP 機能改良プロジェクトで削除される機能の未調整FP
この考え方や利用方法は、IFPUG(International Function Point User Group)発行の各種ドキュメントに記載されています。IFPUGは米国にあり、そのガイドラインはISOで標準化されています。
【参考】:IFPUG - International Function Points Users Group
FP法の留意点や実践方法
FP法では機能要件を低・中・高の複雑度の分類で算定するため、対象とするアプリケーション開発の工数とソフトウェア製造量と直接的に合致しない場合もあります。ソフトウェア開発では、ソフトウェアが完成していない段階で完成成果物から逆算して工数見積もりを行うため、初期段階では誤差が大きくなる傾向があります。
このことから、あらかじめ同等の業務での開発実績のデータを蓄積し、見積もり精度を向上させることが重要です。特に、要求仕様書が確定する前の見積もりでは精度のブレが生じるため、ユーザが認識していない要件が潜んでいる場合は別途追加見積の必要性が出ます。
FP法では開発初期段階で有効なFP計測手法として、FP概算法(The estimated function point count)並びにFP試算法(The Indicative function point count)が提案されています。これらはNESMA(Netherlands Software Metrics Association)によるFP計測手法で、考え方はIFPUG法と同じです。
以上の通り、見積もり誤差を吸収するために実際の計測結果を評価・分析し、次の見積もりに反映させることが求められます。FP法は長く用いられているため、ベンダー各社がそれぞれ自社の経験を活かし、見積もり手法としてプロジェクト見積もりに活用しています。
【参考】:情報処理推進機構(IPA) ソフトウェア開発見積りガイドブック
プロジェクトマネジメントに携わるならFP法を覚えよう
プロジェクトマネジメントを行うにあたって、工数見積もりは必須の工程です。実際の開発工程に進むには、見積もりを行ってリソースやスケジュールなどを調整しなければなりません。
つまり、マネジメントを行うプロジェクトマネージャーには、できるだけ正確な見積もりを行うスキルが求められます。FP法は、近年注目されている見積もり手法の1つであり、さまざまなプロジェクトで利用されています。FP法の習得はマネジメントを行う人にとって有用と言えるでしょう。
実際にFP法で見積もりを行ってスキルを身につけよう
FP法などの見積もり手法は、理論を覚えるだけでなく実際に計算をしてみることが大切です。サンプルデータで計算してみたり、小規模なプロジェクトで実際に使ってみたりしましょう。
インターネット上には、FP法を実践するためのExcelテンプレートなどもありますので、必要に応じて活用すると良いでしょう。
プロジェクトマネージャーに必要なスキルは見積もりスキル以外にもたくさんありますが、それぞれのスキル分野で経験を積むことが評価に繋がります。自身の今のスキルがどのような現場で役立つのか、転職エージェントなどを利用して確かめてみるのもおすすめです。
エンジニア転職のご相談はぜひ
『マイナビIT エージェント』へ!
スキルのあるプロジェクトマネージャーは年収も高い
プロジェクトマネージャーの年収は「マイナビエージェント職業別年収ランキング/職種図鑑」での平均年収は670万円(※2024年10月執筆時点)、経済産業省2017年発表の「IT関連産業の給与等に関する実態調査結果」から近い職種の「プロジェクトマネージャ」を参考にすると、平均年収891.5万円と分かりました。
国税庁2020年発表の民間給与実態統計調査における民間企業平均年収は433万円なので、プロジェクトマネージャーは一般平均年収よりも、やや高めであることが分かります。
プロジェクトマネージャー自体が他の職種と比べても年収が高い傾向にありますが、より高度なスキルを持っていればさらに高年収を狙えます。
【参考】:マイナビエージェント職業別年収ランキング/職種図鑑/プロジェクトマネージャー ※【平均年収 調査対象者】2019年12月~2020年5月末までの間にマイナビエージェントサービスにご登録頂いた方 【参考】:IT関連産業における給与水準の実態① ~ 職種別(P7) 【参考】:民間給与実態統計調査-国税庁
FP法の見積もりを習熟しプロジェクト見積もりの精度を高めましょう
FP法はどの工程でも利用可能で、考案されてから40年以上の利用実績があります。「政府情報システムの整備及び管理に関する標準ガイドライン」によると、政府系システムについても、経費の見積もりはファンクションポイントの見積もり並びにその見積もり根拠を提示することが求められています。
【参考】:政府情報システムの整備及び管理 に関する標準ガイドライン|総務省
このような流れからも、FP法はさらなる活用が期待されています。見積もり頻度が高いプロジェクトでは、FP法を用いることで見積もり効率と精度が飛躍的に向上します。小規模プロジェクトでも利用できるため、見積もり精度と自身の実践力をともに向上させることができるでしょう。
FP法をはじめとする見積もり手法に習熟していれば、プロジェクトマネジメントの精度向上にも期待できます。プロジェクトマネージャーへのキャリアアップ、転職を目指している人はFP法を学んでから目指すキャリアへの一歩を踏み出すのが良いでしょう。
そこでぜひご活用いただきたいのがマイナビIT エージェントです。
マイナビIT エージェントは、IT・Webエンジニア向けの無料の転職⽀援サービスです。
IT・Webエンジニアの転職事情に詳しいキャリアアドバイザーが、あなたのご経験やスキルをお伺いし、転職活動のプランをご提案致します。
アドバイザーは企業側の人事担当者と直接連携を取れますので、求人票に載っていない企業情報も確認することができます。残業時間や給与面など、働き方などをしっかり確認の上で応募企業を選んでいくのが良いでしょう。
・資格やプログラミングの勉強をしているけれど、企業が求めるレベルに達しているのかわからない ・スキルアップをして市場価値を上げていける企業の選び方を知りたい ・数多くあるITエンジニアの職種の中で、自分に向いている仕事は何か知りたい
こうした悩みを抱えていらっしゃる方は、まずは無料登録でキャリアカウンセリングをおすすめ致します。
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから