見積り3法 — 機能で測る、行数で測る、過去に聞く
システム開発の見積書に「48人月」と書いてあったら、その数字はどこから来たのでしょう。家のリフォームなら「畳数×単価」や「前回の似た工事」で概算できます——ソフトウェアにも同じ発想の3つのものさしがあります。
機能の量で測るか、コードの行数で測るか、過去の似た仕事に聞くか、です。
FP法・COCOMO・類推法は、それぞれ何を根拠に工数を見積もるのでしょうか。
3つのものさし——根拠がそれぞれ違います
FP法(ファンクションポイント法)=機能の量で測る。画面や帳票などユーザーから見える機能を数えて点数化するので、プログラミング言語に依存しないのが強みです。COCOMO=ソースコードの行数(LOC)から工数を推定する数式モデル。類推法=過去の類似プロジェクトの実績から推定する——一番素朴で、一番よく使われている方法です。
FP法の5対象とCOCOMOの3モードまでが試験の射程です
FP法の計測対象は5つ——外部入力・外部出力・外部照会(ユーザーとのやりとり3種)と内部論理ファイル・外部インターフェースファイル(データの持ち方2種)。この5分類を数えて重み付けし、機能量を点数化します。
COCOMOはバリー・ベーム(Barry Boehm)が1981年に発表したモデルで、プロジェクトの性質によりOrganic(小規模・安定)・Semi-detached(中間)・Embedded(制約の厳しい組み込み)の3モードで係数を変えます。行数ベースなので、言語や書き方で行数が変わるという弱点と裏表です。
「FP法は行数ベース」という根拠のすり替えと、提唱者の的です
定番の誤り肢は根拠のすり替え——「FP法はソースコード行数に基づいて見積もる」(行数ベースはCOCOMO。FP法は機能量ベースで、だからこそ言語非依存)。「COCOMOは言語に依存しない」も逆です。
提唱者のすり替えも出ます——COCOMOの提唱者はバリー・ベーム(1981年)。経営理論の「提唱者×理論」と同じ手口が、この科目でも使われます。FP法の5対象に「内部照会」のような実在しない項目を混ぜる肢にも注意です。
顧問先が受け取った見積書の「48人月」に対し、診断士が最初にすべき質問は「その根拠はどの方法ですか」です——類推なら「どの過去案件に似ているか」、FP法なら「機能一覧と点数の対応表」を出してもらえます。根拠の方法名を聞くだけで、どんぶり勘定の見積りはあぶり出せる——金額交渉の前に、ものさしの確認です。
冒頭の問いに答えます。FP法は機能の量(5対象の点数化・言語非依存)、COCOMOはコード行数(ベーム・1981年・3モード)、類推法は過去の類似実績——根拠がそれぞれ違う3つのものさしです。これでデータベースと開発の5枚が揃いました。次のWaveは科目の仕上げ——毎年出る信頼性計算と、素材にない統計の基礎を一次リサーチから立ち上げます。