ファンクションポイント法
① 物語性を取り入れた説明: 「ファンクションポイント法」
新入社員のタカシは、IT企業でシステムの開発プロジェクトに初めて参加しました。彼は、プロジェクトの見積もり方法について課長に質問しました。
「課長、このプロジェクトの作業量をどうやって見積もるんですか?プランニングポーカーは聞いたことがありますが、他にも方法はありますか?」
課長はうなずきながら答えました。「良い質問だね、タカシ。今回のプロジェクトでは、ファンクションポイント法を使う予定だよ。この方法は、システムの機能を数えて見積もるんだ」
「ファンクションポイント法…ですか?それはどういう手法なんですか?」
「簡単に言うと、システムが持つ機能を基に見積もる方法なんだ。システムが提供する画面の数やレポートの数、データの種類をポイントとしてカウントして、どれくらいの労力が必要かを計算するんだよ。例えば、ログイン画面は1ポイント、顧客情報の登録機能は3ポイント、といった具合にね」
「なるほど、それなら具体的な機能の数に基づいて作業量を見積もれるんですね」
「そうだ。ファンクションポイント法は、プログラムの規模やコードの行数に関係なく、システムの機能に焦点を当てて見積もりができるから、より客観的な見積もりができるんだ。ただし、この方法は慣れるまで少し時間がかかるかもしれないけれど、一度理解すればプロジェクト全体の見積もり精度が上がるんだ」
「他の見積もり手法と比べて、ファンクションポイント法はどんな特徴があるんですか?」
「いい質問だね。たとえば、ファンクションポイント法は、ソフトウェアの内部構造に関係なく見積もりができるんだ。これは、システムの複雑さや実装方法に影響されにくいということだ。ただし、具体的なコード量を知りたい場合は、コード行数法の方が適している。ファンクションポイント法は、あくまでシステムの提供する機能に基づいて見積もるんだ」
「そうなんですね。見積もりについてですが、ポイントを計算した後は、どのように見積もりを作るんですか?」
課長は答えました。「それも良い質問だね。ポイントを計算した後は、それを作業量に変換するんだ。ただし、ここではコードを書く人の熟練度も重要だ。熟練したプログラマーなら1ポイントあたりの作業時間が短くなるし、経験が少ない場合は、少し多めに見積もる必要がある。だから、開発チームのスキルレベルも考慮しながら見積もりを調整するんだよ」
「なるほど、ポイントだけでなく、実際に作業する人のスキルも見積もりに影響するんですね」
「その通り。でも、近年ではAIの活用も進んでいる。AIがプログラムのコード生成を支援したり、過去のプロジェクトデータを分析してより正確な見積もりを出すようになってきているんだ。AIが正確な見積もりを出すことで、これまで以上に効率的なプロジェクト管理が期待できる」
「AIが見積もりに役立つとは驚きです!ますます便利になっていくんですね」
「そうだね、タカシ。だけど、最終的にはAIの提案を人間が判断して使うことが大切だ。ファンクションポイント法も、AIの補助によってよりスムーズに使えるようになるけど、人間の経験と知識はやっぱり欠かせないんだよ。ファンクションポイントについての書籍もあるから一度目を通しておくといいかもね。」
② 実際の事例: ファンクションポイント法の使用例
ファンクションポイント法は、ソフトウェア開発やシステム導入の見積もりに広く使われています。
たとえば、ある大手金融機関では、顧客管理システムの開発プロジェクトにこの手法を導入しました。システムの機能を細かく分解し、それぞれの機能をポイントとしてカウントすることで、開発チームはより正確な作業量を予測できました。この手法を使ったことで、見積もりの偏りが減り、無駄な作業を減らすことができました。
また、自治体でも、新しいITシステムを導入する際にファンクションポイント法が活用されています。住民サービス向上のために開発されたアプリケーションでは、画面数やデータの種類を基に見積もりを行い、予算やスケジュールの調整がスムーズに進んだ例があります。
➂ クイズや小テスト
クイズ1
ファンクションポイント法の目的は何ですか?
A. プログラムのコード行数を計算する
B. システムの機能に基づいて作業量を見積もる
C. プロジェクトの予算を決定する
クイズ2
ファンクションポイント法で評価するのは何ですか?
A. システムの機能
B. ユーザーの使いやすさ
C. プロジェクトの進捗速度
クイズ3
ファンクションポイント法と比較される見積もり手法は何ですか?
A. ガントチャート法
B. コード行数法
C. スクラム開発法
⑤ 回答
- B – ファンクションポイント法は、システムの機能に基づいて作業量を見積もる手法です。
- A – ファンクションポイント法は、システムの機能を評価します。
- B – コード行数法は、ファンクションポイント法と比較される見積もり手法です。