EVMについて調べたこと。そして思うこと。そしてESM

仕事で使う技術的なこと

転職先のチューターから、EVM については知っててほしい(というか、EVMくらい知ってるでしょ的なニュアンス)ということだったので、学習したメモを残します。
それと、EVMを調べて思ったこともポエムで残します。

EVM(Earned Value Management)とは

EVMなんて情報処理試験に出てきたなぁくらいだったんで、スタート地点は興味なかったです。

まずは学習させていただいたリンクを以下にはります。

↓定義としてのEVMを理解するのに役立ちました。

EVMとは?アーンドバリューマネジメントでプロジェクト管理を効率化|ITトレンド
EVMは、プロジェクトの進捗にかかる工数や成果物を人件費や労力などのコストとして換算するのが特徴です。この記事では、EVMで算出するEVやACといった要素について、違いをわかりやすく解説します。フリーでEVMを活用できるプロジェクト管理ツールも紹介します。

↓さすが識学さんの記事です。腹落ちします。

https://souken.shikigaku.jp/11741/

自分なりの言葉で説明すると、以下の感じです。

EVM の目的

プロジェクトには四天王がいます。(アジャイル侍より)

プロジェクトの進捗において、これらがリスク源泉となるのは有名な話です。
すべてを満たすことは不可能であり、トレードオフを前提として優先度付けをしてプロジェクトを進めるのが現代では当たり前と理解しています。

そんな中、乱暴な解釈ですが、EVMはこの四天王の中で予算に焦点を当てたプロジェクト管理手法と認識しています。

各種定義

以下のプロジェクトがキックオフしたとする。

  • 予算400万円
  • 工期4か月

現在、2か月経過して、

  • 使用した予算は300万円
  • 進捗率20%

上記の場合におけるEVMを計算する。

基本的な指標

名称 説明
BAC(Budget at Completion) プロジェクトの予算
AC(Actual Cost) 現時点で実際にかかっているコスト
PV(Planed Value) 現時点でかかっていると予想していたコスト
EV(Earned Value) 現時点の成果(現時点の進捗までに予想していたコスト)

BACとACとPVは、事実なので愚直に算出できます。

  • BAC=400万円
  • AC=300万円
  • PV=2か月経過しているので、当初予想工期の半分経過しているから、2か月経過時の予想コストは、400 × 0.5 =200万円

ただし、EVが微妙です。進捗の仕方が線形であると仮定するならば、予算×進捗率 で計算できますが、非線形である場合はどうやって計算するんでしょう?ちょっと調べたけどわかりませんでした。ぱっと思いつく式としては以下の感じでしょうか。

EV = PV × 現時点の実際の進捗率 / 現時点で予想していた進捗率

ここでは上記式より、 EV=200 * 0.2 / 0.5=80万円

コスト100万円200万円300万円400万円予定1か月目2か月目3か月目4か月目PV = 200万円AC=300万円EV=80万円

導き出される指標

名称 説明
CPI(Cost Performance Index) コスト効率指数。ぶっちゃけ後述する残りの予想コスト算出で使用するために使うので、意味はどうでもよさそう
SPI(Schedule Performance Index) スケジュール効率指数。個人的にはこの指標には何の意味もないと思っている。スケジュールに関しては後述するESMを使用したほうが良い
  • CPI=EV/AC

残りの予想コストの算出

名称 説明
ETC(Estimate To Completion) 残作業コスト予測。プロジェクト完了するまでに、残りどのくらいのコストがかかるかの予想値
EAC(Estimate At Completion) 完了時コスト予測。プロジェクト完了時の総コストの予想値
(つまり、ETC+現時点までのコスト)
VAC(Variance At Completion) 完了時コスト差異。プロジェクト完了時に、当初の予定よりどれくらいコストが超過するかの予想値
(つまり、当初予算-EAC)
  • ETC=(BAC-EV)/ CPI(BAC-EV)/ (EV / AC)AC *(BAC-EV)/EV

上記の場合で言うと、
残作業コスト=300×(400ー80)/80=1200
よって、残り1200万円のコストが予想されるということ。

完了時コスト予測=残予想コスト+現時点のコスト となるため、1500万円。

完了時コスト差異=当初予算-完了時コスト予測 となるため、-1100万円。

今回の例では、プロジェクト完了時にはコストが1100万円も超過するということになります。

EVMの利点

上記の通り、EVMはコスト(予算)を指標としてプロジェクトを管理するため、コストに関しては厳しく管理できます。

また、コスト超過が見つかった際には、以下の選択肢をとることにより、その後のプロジェクトの開発方針を決めることができます。

  1. コスト超過を許容して、プロジェクトを推し進める
  2. スコープを縮めて、コスト超過を抑制してプロジェクトを推し進める
  3. 品質レベルを下げて、コスト超過を抑制してプロジェクトを推し進める(←まあこんなこと顧客には提案できないけど・・・)
  4. プロジェクトを中止する(←これも顧客には提案できないけど・・・)

EVMの欠点

世の中完璧なツールや手法というのは存在しないので、絶対に何かしら欠点があるのですが、EVMは「品質を無視する」という決定的な欠点がありそうです。
なので、まずEVMを使用してプロジェクト管理する際には、品質管理が抜け落ちている点には絶対に留意する必要があると思います。

(以下自分の意見(ポエム)です。ご注意ください)

また、算出には過去のデータを線形にならしている点も注意が必要です。
ある程度の予想値としては使用できると思いますが、プロジェクトのコストは時系列と線形の関係ではありません。
例えばウォーターフォールを想定すれば当然のことになるのですが、要件定義のフェーズと実装のフェーズ、テストのフェーズでコスト算出の方法はそれぞれ異なります。それを同列にしてコスト管理するのは結構乱暴です。なので、工程をまたいでEVMを使用する場合は注意が必要だと考えます。

さらに、時間もほとんど管理できないと考えます。
EVMのグラフの横軸が時系列であるため、なんとなく時間も管理できそうな気もしますが、経験則からプロジェクトはコスト管理だけでスケジュールを調整できません
何が言いたいかというと、例えばEVMによって、残りの残コストが想定したよりも大きくなっていたとします(つまり、予算オーバーになっている状況)。このとき、じゃあ予算増やす(=人員を増やすとか開発環境を良くするとか)ことで当初の予定通りのスケジュールに終わらせることできるかといったそうではありません。
上述した通り、予算だけではなく品質レベルとスコープ範囲を調整しない限り、スケジュールは調整できないです。要は、人月管理でスケジュール調整できないってことです。

なので、EVM はコスト管理はできますが、それ以上でもそれ以下でもないってことですね。

ESM(Earned Schedule Management)

EVM の代わりにスケジュール管理する手法

上記のポエムの通り、個人的には EVM はコスト管理に特化しているのでスケジュール管理には全く機能しないと考えます。

なので、正直なところ「EVMはプロジェクト管理手法ではなく、コスト管理手法だろう」というのが自分の思いなのですが、ググってみたら ESM(Earned Schedule Management) なるものを見つけました。

調べてみると、これは確かにスケジュールの遅延見積もりには役に立つという認識です。(スケジュール調整に役立つという認識ではない

EVMと同じように、参考になったリンク先をはります。

↓ESMの必要に性について論じられている。

プロジェクトの進捗を計る「アーンド・スケジュール法」とは何か 〜 (2)その内容と課題 | タイム・コンサルタントの日誌から
EVMS(Earned value management sysytem)とは、プロジェクトのコストと進捗を、「アーンドバリュー」(出来高)と呼ばれるメト...

↓本家?英語のサイトだけど定義がしっかりしている

ES Terminology | Earned Schedule
The official site for Earned Schedule information. Earned Schedule (ES) is a method of deriving time based performance measures from Earned Value measures. The...

ESM の定義

上述のEVMと同じ状況を想定します。

基本的な指標

名称 説明
ESCT(Estimate to Complete Time) プロジェクトの予想工期
AT(Actual Time) 現時点の経過時間
ES(Earned Schedule) 現時点の進捗率に到達するために、当初予定していた時間
SV(Schedule Variance) スケジュール差異

ESCTとATは、事実なのでそのまま数値化できる。

  • ESCT=4か月
  • AT=2か月

ESに関しては、20%進捗に達するときにはどれくらいの時間で経過予定だったかを計算する。
言葉ではわかりにくいので下記グラフを参照。
下記グラフより、

  • ES=0.8か月

また、SV=ES-AT と表現できる。そのため、

  • SV=0.8 – 2=-1.2か月

進捗率25%50%75%100%予定1か月目2か月目3か月目4か月目進捗率20%ES=0.8か月当初予定では、0.8か月経過のタイミングで進捗率20%のはずだった実際

残り予想工期の算出

名称 説明
ETCT(Estimate To Completion Time) 残作業時間予測。プロジェクト完了するまでに、残りどのくらいの時間がかかるかの予想値
  • ETCT=(全体工期-ES)/(ES / AT)AT * (全体工期-ES)/ES

今回の場合だと、ETCT=2×(4-0.8)/0.8=8 より、残り8か月かかると予想できる。

コメント

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