私の好きなことば (8)
この部屋では、私が出会ったことばや好きなことば、思い出のことばなどを紹介しています
【ファンクションポイント法】 (99.07.20)
ファンクションポイント法とは、ソフトウェア規模を表現するための「機能尺度」です。もっとわかりやすく言うと、ソフトウェアの大きさを測るためのものさしです。
例えば、皆さんが使っておられるワープロソフトの大きさはどれだけでしょうか。PCソフトの場合は、プログラムファイル(*.exe)の大きさで表すことが出来ると考えられるかもしれませんが、ユーザにとってもっと重要なことである「ソフトの機能がどれくらいあるか」「AというソフトとBというソフトはどちらの機能が多いのか」というのはファイルの大きさでは分かりません。
ただし、注意していただきたいのはファンクションポイント法でソフトウェアの大きさを表すことはできても、そのソフトウェアの性能とか、使いやすさなどは表すことはできないということです。家に例えると、ファンクションポイントで表されるのは広さだけであり、内装や外装・設備などを表すものではありません。
家を建てるには、家の広さを「広い家」というようなあいまいな表し方をするのではなく、「○○坪の家」と表すことが必要なことは理解できるでしょう。ソフトウェアに関してもまったく同様です。これまでは、往々にしてあいまいな表し方をもとにソフトウェアを開発するための費用の見積りが行われてきたのですが、ファンクションポイント法によりきちんとした大きさを元に見積もりを行うことが可能になるのです。
ファンクションポイント法(FPA:Function Point Analysis)は、IBMの A.J.Albrecht(オーブレクトと読むらしい)さんが1979年に発表した手法です。それまではプログラム行数(SLOC:Source Lines Of Code)が尺度として使われていましたが、この手法を使うことにより、ソフトウェアの機能を定義している要求定義をもとに「ソフトウェアの規模」を測定することが出来るようになりました。プログラム行数は言語や開発手法に依存したものですが、ファンクションポイント法はそれらと独立しているのでソフトウェアの価値、品質、開発の生産性などの尺度として客観的に使うことが可能になります。
ソフトウェアは目に見えないものであるため、その大きさを定量化するためにこれまでいろいろなやり方が考えられてきました。その中で、これまでもっとも一般的に使われてきたのは前述のプログラム行数(SLOC:Source Lines Of Code、ステップ数)ですが、いろいろな新しい技術が出てくる中、この方法を使い続けることは難しくなって来ました。また、プログラム行数を使うことによる不都合もいろいろあるために、このファンクションポイント法を採用する企業・団体などが増えてきています。
手法と言うからには標準化がどれだけ進んでいるかが重要です。
1986年、この尺度をより実用的に定義し、広く世界に普及させることを 目的として非営利団体 International Function Point Users Group(IFPUG) が発足しました。日本では1994年に 日本ファンクションポイントユーザ会(JFPUG) が設立され、1996年4月よりIFPUGの日本支部として活動しています。
ファンクションポイント法は世界各国(米、カナダ、豪、英、独、仏、伊、蘭、南アフリカ、デンマークインド、オーストリア、フィンランド、ノルウェー、日本など)にIFPUGの支部があり、それらの国はもちろん、それ以外の国にも普及しています。また、コンピュータを導入している企業を始め、ソフトウェアを開発するソフトウェアハウスやコンピュータメーカーなどさまざまな業種の企業や行政機関において採用されています。IFPUGでは、測定方法を具体的に規定したマニュアル、その他のドキュメントを出版しています。また、JFPUGではこのマニュアルをはじめ多くのドキュメントを和訳していますので、必要な場合はこちらから日本語版を入手することが可能です。
マニュアルの他にもいろいろな書籍が出版されています。日本語版のものは少ないですが、その中で定番といえるのは、 米国SPR社 の創設者であるCapers Jonesが書いた「ソフトウェア開発の定量化手法」という本です。ファンクションポイント法をより深く理解するためにはご一読されてはいかがでしょうか。
ファンクションポイント法の具体的な使い方などを別のページに置いていますので、興味のある方はこちらへどうぞ→ファンクションポイント法入門