コストマネジメント

このページでは、標準タスク法・FP法・COCOMOなどの見積手法と、EVMのPV・EV・ACを使ってコストとスケジュールを評価する計算がわかります。

  • 一言で言うと:
    • プロジェクトに「いくらかかるか」を事前に見積もり、始まったら「お金と進み具合」を同じ物差し(金額)で追いかける(EVM)話

事前に見積もる → 途中で追いかける(EVM)

覚え方の軸

  • 見積手法は「何を手がかりに数えるか」で4つに分ける
    • ①作業を積み上げる ②プログラムの行数 ③機能の数 ④過去の経験
  • 初期ほど粗い手がかり、後になるほど細かい手がかりを使う
    • 初期は経験や機能、後になると行数や作業
  • EVMは「EVが主役」
    • 差異は「EV − ○○」、効率は「EV ÷ ○○」
    • ○○には、コスト(C)ならAC、スケジュール(S)ならPVが入る
  • マイナス、または1未満なら「悪い」
    • 予算オーバー、または遅れ

開発規模・工数の見積手法:いくらかかるか

手がかり 手法 一言で 向いている時期
①作業を積み上げる(ボトムアップ) 標準タスク法 WBSで細かく分けた作業の工数を足し上げる 後半(細かく分けられてから)
②プログラムの行数 LOC法、Dotyモデル、COCOMO 何行のプログラムになるかから工数を出す 中盤以降
③機能の数 ファンクションポイント法(FP法)、COSMIC法 画面や帳票などの機能を数えて規模を出す 初期から使える
④過去の経験 類推見積法(デルファイ法など) 似た過去の案件から類推する 初期(大まかでよいとき)
  • パラメトリック見積り(係数見積り):
    • 過去のデータと数式(統計的な関係)を使う見積りの総称
    • COCOMO、FP法、LOC法、Dotyモデルがこれにあたる

① 作業を積み上げる

  • 標準タスク法(標準値法ともいう):
    • 作業を見積もれる単位まで分解し、それぞれの標準工数をボトムアップで足し上げる
    • ふつうはWBSに沿って積み上げる
  • 標準タスク法の長所:
    • 小規模なシステムなら精度が高い
  • 標準タスク法の短所:
    • プロジェクトの初期は、細かく分解するのが難しい
  • 三点見積法:
    • 作業ごとの標準工数を出すときに使う
    • 悲観値(一番長い)、最頻値、楽観値(一番短い)の3つを使う
  • 三点見積法の標準工数=
    • (悲観値 + 4×最頻値 + 楽観値)÷ 6
    • 一番ありそうな値を4倍に重くした平均
  • 例題(三点見積法):
    • 楽観4日、最頻6日、悲観14日なら、(14 + 24 + 4)÷ 6 = 7日

② プログラムの行数

  • LOC法(プログラムステップ法ともいう):
    • プログラムの全ステップ数(行数)から規模を見積もる
  • LOC法の弱点:
    • 言語の種類や、むだなコードの量によって行数が変わる
    • 担当者によって見積りに大きな差が出る(FP法の長所の裏返し)
  • Dotyモデル:
    • LOC法の一つ
    • ステップ数の指数乗を使って規模を見積もる
  • COCOMO:
    • 行数(KLOC:千行単位)から工数を出し、その工数から期間を出す
    • 使うには、自社の生産性の実績データが欠かせない
  • COCOMOの開発工数 E(人月)=
    • a × L^b × 努力係数
    • Lは千行単位の行数。a、bは補正係数
  • COCOMOの開発期間 D(月)=
    • 2.5 × E^c
    • cも補正係数
  • 努力係数:
    • 工数を増やす要因(求められる信頼性、製品の複雑さ、開発要員の能力など)から計算する係数
  • COCOMOの3段階:
    • 基本COCOMO(初級COCOMO)は、行数だけで見積もる。努力係数はない
    • 中間COCOMOは、基本の値を努力係数で調整する
    • 詳細COCOMOは、さらに細かく見積もる
  • 規模と工数の関係(★グラフの形が問われる):
    • 規模が大きくなると、工数は比例以上に(指数的に)増える。大きい開発ほど生産性が落ちるから
    • 例えば、工数が規模の1.2乗に比例するとすると、規模が10倍なら工数は約16倍(10^1.2 ≒ 15.8)、100倍なら約251倍(100^1.2 ≒ 251)

③ 機能の数

  • ファンクションポイント法(FP法)(★長所がよく問われる):
    • 画面や帳票など、外から見える仕様をもとに機能の量を数え、規模を見積もる
  • FP法の手順:
    1. 機能を5つのファンクションタイプに分けて数える
    2. 複雑さ(低・中・高)の重みを掛けて合計する(未調整FP)
    3. 補正係数を掛ける(FP)
    4. 生産性で割る(工数)
  • 5つのファンクションタイプ:
    • トランザクションファンクション(データの出入り)は、①外部入力 ②外部出力 ③外部照会
    • データファンクション(データのかたまり)は、④内部論理ファイル ⑤外部インタフェースファイル
    • 例えば、「会員登録画面」は外部入力に分類し、難易度も評価する
  • 例題(FP法):
    • 未調整FP 300 × 補正係数1.1 = 330FP。生産性が15FP/人月なら、330 ÷ 15 = 22人月
    • 簡単な数字では、未調整FP 200 × 0.9 = 180FP。生産性が10FP/人月なら、180 ÷ 10 = 18人月
  • IFPUG法(JIS X 0142):
    • FP法の代表的なやり方
  • IFPUG法の補正係数=
    • 14の観点の評価点の合計 × 0.01 + 0.65
    • システムの特性を14の観点(データ通信、分散処理、性能など)で、それぞれ0〜5点で評価する
    • 0.65〜1.35の範囲になる
  • FP法の長所:
    • プログラム言語に依存しない
    • 初期から使える
    • ユーザーから見える画面単位なので、ユーザーと合意しやすい
    • 根拠が客観的なので、LOC法などより担当者による差が小さい
  • FP法の短所:
    • 基準値を決めるために、実績データの収集・評価が必要
    • 数え方の解釈をそろえる(標準化する)必要がある
  • COSMIC法:
    • 機能プロセスごとに、データの移動(入力・出力・読込み・書込み)の回数を数え、単位規模を掛けて機能規模を出す
    • IFPUG法より測りやすいとされる

④ 過去の経験

  • 類推見積法:
    • 過去の似たシステムの実績から類推して見積もる
    • 経験者の感覚、標準のテンプレート、デルファイ法など、やり方には粗いものから整ったものまである
  • デルファイ法:
    • 複数の専門家が、他の人の意見を見ながら何度も意見を出し直して、まとめていく

EVM(アーンドバリューマネジメント):お金と進み具合を金額で追いかける(★計算がよく出る)

  • EVM:
    • 進み具合を金額に換算して、コストとスケジュールを同じ物差しで評価する
    • 今の状況を評価し、このままいくと最後にいくらかかるかも予測する
  • アーンドバリュー分析:
    • PV・EV・ACの3つで成果を測ること
指標 意味 例え(家のペンキ塗り、総予算100万円)
PV(計画価値) 今日までに終わっているはずの作業の金額 今日までに半分塗る予定 → 50万円
EV(出来高) 今日までに実際に終わった作業の金額 実際は4割しか塗れていない → 40万円
AC(実コスト) 今日までに実際に使ったお金 実際には50万円使った
BAC(完成時総予算) 全体の予算 100万円
  • PV:
    • 経過期間に比例して増える
  • BAC:
    • 完成時点のPVのこと
  • 例:
    • BACが2,000万円で、期間の60%が過ぎた時点なら、PVは1,200万円
    • そのときの進捗率が50%なら、EVは1,000万円
    • それまでにかかったコストが1,100万円なら、ACは1,100万円

今の状態を見る(EVが主役。C→AC、S→PV)

評価値 式 例の答え 読み方
CV(コスト差異) EV − AC 40 − 50 = −10 マイナスなら予算オーバー
SV(スケジュール差異) EV − PV 40 − 50 = −10 マイナスなら遅れ
CPI(コスト効率指数) EV ÷ AC 40 ÷ 50 = 0.8 1未満なら予算オーバー(1円で0.8円分しか進んでいない)
SPI(スケジュール効率指数) EV ÷ PV 40 ÷ 50 = 0.8 1未満なら遅れ

この先を予想する(今の効率がこのまま続くと考える)

評価値 式 例の答え
ETC(残りの作業にかかるお金) (BAC − EV)÷ CPI (100 − 40)÷ 0.8 = 75万円
EAC(完成までの総額) AC + ETC 50 + 75 = 125万円
VAC(完成時の予算との差) BAC − EAC 100 − 125 = −25万円(25万円オーバー)
  • CPIの読み方:
    • 1なら予定どおり
    • 1より大きければ、想定より生産性が高い
    • 1より小さければ、想定より生産性が低い
  • ETCの考え方:
    • 残りの仕事は60万円分。でも1円で0.8円分しか進まないので、60 ÷ 0.8 = 75万円かかる
  • グラフで出たときの読み方:
    • EVの線が一番下なら、「コスト超過、かつ遅れ」(ACもPVもEVより上なので、CVもSVもマイナス)
    • 遅れの日数は、「今のEVと同じ高さになるPVの時点」と「今日」の差で読む

混同しやすいペア

  • PV / EV / AC
    • PVは、終わっているはずの分
    • EVは、実際に終わった分
    • ACは、実際に使ったお金
  • CV・CPI / SV・SPI
    • CVとCPIの相手は、AC(コスト)
    • SVとSPIの相手は、PV(スケジュール)
  • 差異 / 効率
    • 差異は引き算で、0より小さいと悪い
    • 効率は割り算で、1より小さいと悪い
  • ETC / EAC
    • ETCは、残りにかかる額
    • EACは、全体でかかる額
  • 標準タスク法 / 類推見積法
    • 標準タスク法は、ボトムアップ。細かく分けてから使う
    • 類推見積法は、過去から類推する。初期向き
  • FP法 / LOC法
    • FP法は、機能を数える。言語に依存しない
    • LOC法は、行数を数える。言語や人で差が出る
  • IFPUG法 / COSMIC法
    • IFPUG法は、5つのファンクションタイプに重みを掛ける
    • COSMIC法は、データの移動の回数を数える。測りやすい
  • トランザクションファンクション / データファンクション
    • トランザクションファンクションは、外部入力・外部出力・外部照会
    • データファンクションは、内部論理ファイル・外部インタフェースファイル
  • 基本COCOMO / 中間COCOMO / 詳細COCOMO
    • 基本は、行数だけ。努力係数なし
    • 中間は、努力係数で調整する
    • 詳細は、さらに細かく見積もる

← 10 プロジェクトマネジメント・サービスマネジメントの目次に戻る

タイトルとURLをコピーしました