**事例2** 言語係数の使用方法を誤ったケース

経験のない開発言語を使用するため規模感がわからない場合、規模見積りにおいて言語係数を使用することがあります。

言語係数とは、同じ機能を実現するために必要な平均SOLC数を指します。通常、1FP(ファンクションポイント)を実現するために必要なSLOC数という形で表現されます。COBOLの場合は、1FP当たり約100SLOCと言われています。また、高水準言語になればコーディングするSLOC数は少なくて済むため、1FP当たりのSLOC数は少なくなります。

筆者の知っているあるプロジェクトでは、経験のない言語を使用することになり、言語係数を使用して見積りを行うことにしました。まず要求仕様からFP数を見積もり、そのFP数当たりの言語係数を用いてSLOCを算出し、SLOCから工数を見積もったのです。しかし、このプロジェクトでは設計工程から進捗の遅れが目立ち始め、最終的には納期を延ばさざるを得なくなりました。これは、過小見積りによる明らかなリソース不足です。では、どこで見積りを間違ってしまったのでしょうか。問題は2つあります。

問題の1つは、FP数からSLOCに変換した後の工数見積りの範囲にあります。このプロジェクトではSLOCから全工程の工数を見積もったことが過小見積りの大きな原因です。工程を大きく「設計」「製造」「試験」と分けた場合、設計や試験の工数は要求仕様の大きさに比例し、製造の工数は実装されたソースコードの大きさに比例します。低水準言語の時代は、要求仕様と実装の差はさほど意識しなくてもよかったのですが、高水準言語になればなるほど、要求仕様と実装のギャップは大きくなります。少しでもコーディングを少なくするために部品やツールを用意しているので当然です。

で、この小さくなった実装のSLOCからすべての工数を見積もると、設計、試験の分量の実装同様に半減して見積もっていることになり、過小見積りとなるわけです。いくらSLOCが少なくなるといっても、設計や試験の対象となる画面数が減るわけではありません。この場合、SLOCから見積もるのは製造工程の工数だけに留めるべきであり、設計や試験の工数はFP数をベースに見積もった方が適切だと思います。

もう1つの問題は次回に説明します。

執筆者プロフィール

藤貫美佐(Misa Fujinuki)
株式会社NTTデータ SIコンピテンシー本部 SEPG 設計積算推進担当 課長。IFPUG Certified Function Point Specialist。日本ファンクションポイントユーザー会の事務局長を務める。

『出典:システム開発ジャーナル Vol.2(2008年1月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは 異なる場合があります。ご了承ください。