PR

 ソフトウエアの規模を測定するための手法の一つ。ソフトウエアが備える機能の数や複雑度などをもとに、ファンクションポイント(FP)と呼ぶ値を算出する。FP値はソフトウエアの規模を表す。機能や画面、帳票の数が増えるとFP値も増える。

 FP値を使うと、開発工数やコスト、期間を見積もることができる。対象となるソフトウエアのFP値と1人月で開発できるFP値が事前にわかっていれば、開発工数を計算できる。例えば、ソフトウエア規模が1000FP、1人月当たりの生産性が10FPであれば、工数は100人月となる。1人月当たりの費用が100万円であれば開発費は1億円、10人で作業すれば開発期間は10カ月と割り出せる。

 このほかFP値は、生産性や品質の評価指標にも用いられる。例えば、1人月で生産できるFP値を年間5%ずつ向上させようとか、1000FP当たりの欠陥数を10個以下にしよう、といった目標値の基準にする。

 FP値を基準にするメリットは、規模や言語が異なる開発プロジェクトでも、生産性や品質を比較・評価できること。FPが登場する以前は、ソフトウエアを記述するコード量(LOC:Line Of Code)をソフトウエア規模の尺度に用いていた。“今回のソフトウエアは10万行”といった表現がそれに当たる。

 しかし近年、LOCをソフトウエア規模の尺度として使うことが困難になってきた。OSや言語、ツールの多様化が主な原因だ。オブジェクト指向言語を使ってコードを再利用したり、ツールでコードを自動生成することが多くなり、コード量を基準にする意味が薄れてきたのである。そこで、規模や生産性、品質を評価するための共通尺度になるような、言語やツールに依存しない単位が必要になり、FPが注目を浴びるようになった。

 さらに最近は、システム開発を請け負うベンダーがFP値に関心を寄せている。見積もりの失敗によって赤字プロジェクトが頻発し、見積もり精度を高める必要に迫られているからだ。その有力な候補としてFP値を検討する動きが出ている。

 ただし、すぐに見積もり精度を高められるわけではない。FP値を使って見積もりを出すには、まずは統計的な手法を使って1人月当たりのFP値をはじき出す必要がある。そのために開発の実績データをたくさん集め、FP値と開発工数との関係をつかまなければならない。その相関関係が高く、1次式などの単純な関数で関係を表すことができれば、高い精度の見積もりが可能になる。つまり、精度を高めるには時間がかかる。

 また、FPの測定にはシステムのモデル化が必要であり、モデリング技術の習得が前提になる。さらに、業務分析とモデリングを見積もりの前に実施しておかなければならないが、見積もりの前に業務分析とモデリングに十分な時間を割けないことが多い。

(森側)