チケット駆動開発における
EVMの考え方



               あきぴー@RxtStudy
   (copyright2013 akipii@XPJUG関西)   1
出版しました




    現在絶賛販売中!
     (copyright2013 akipii@XPJUG関西)   2
Agenda
 Introduction
   EVMとは
 Method
   EVMの計測方法
   Redmineによる実装方法
 Result
   EVMのパターン
 Discussion
   運用上の注意点
   EVMとTiDDは相性が良い

                (copyright2013 akipii@XPJUG関西)   3
Introduction




      (copyright2013 akipii@XPJUG関西)   4
EVMが必要な背景
プロジェクトの計上処理が工事進行基準になった
 進捗度合で売上がすこしずつ決まる
 最後にどんぶり勘定で売上補正できなくなった


進捗度合による計上処理は運用が面倒
 そもそも成果物の進捗・完了基準の定義があいまい
 PGから毎日の進捗データの収集に手間がかかる
 PMは進捗データの集計からコスト計算が面倒




        (copyright2013 akipii@XPJUG関西)   5
EVMとは
 Earned Value Management
   プロジェクトのスケジュール管理やコスト管理を「出来高
   (Earned Value)」で把握する手法
   PMBOKのコストマネジメント領域の技法の一つ

 EVMで成果物の完成度合を明確化できる
   出来高を成果物の完成度合と見なす
   ある時点の計画と実績のズレから、完成までの総コスト、
   総時間を予測できる

 EVMの単位は金額 or 工数(人月)
   IT業界では、人月が多い

              (copyright2013 akipii@XPJUG関西)   6
(copyright2013 akipii@XPJUG関西)   7
よく分からないから
Redmineで実際に
 試してみましょう




 (copyright2013 akipii@XPJUG関西)   8
Method




     (copyright2013 akipii@XPJUG関西)   9
EVMを計測する流れ
                                             詳細化               チケット
     詳細化               対応                                      (タスクカード
                                                                タスクカード)
                                                                タスクカード


                                                               チケット
プロジェクト計画   アクティビティ                  チケット                       (タスクカード
                                                                タスクカード)
                                                                タスクカード
                                    (ストーリーカード
                                     ストーリーカード)
                                     ストーリーカード

    実現            計測                       集計              実績入力

                       等価
         等価
                                                                    集計
                                                                    進捗表示

    価値        出来高(¥)
              出来高                     出来高               出来高
                                      (MD)              (MD)


     TiDDでEVMを                                                 パーキング
     実現する方法                                                    ロットチャート

                       (copyright2013 akipii@XPJUG関西)                10
EVMの3つの基本概念
メトリクス   PV                AC                     EV
英語名     Planned Value     Actual Cost            Earned Value

日本語名    計画値               実績値、実コスト               出来高

意味      該当期間までに 該当期間までに                          該当期間までの成果の実績
                                                 該当期間までの成果の実績
        完了していると計 実際に投入した                         値
        画された作業の 実績値
        予算
Redmineに
Redmineに チケットの予定工 チケットの実績工 ①WF型開発の場合、
                             WF型開発の場合、
おける      数        数                チケットの進捗率(%)
                            PV * チケットの進捗率(%)
実装方法                       ②Agile開発の場合、
                             Agile開発の場合、
                            (1)未完了
                               未完了⇛
                            (1)未完了⇛ 0
                            (2)完了
                            (2)完了 ⇛ PV

                        (copyright2013 akipii@XPJUG関西)          11
EVの計測方法
  出来高の考え方は、WF型開発とアジャイル開発では、根本
  的に異なる
EVの観点
EVの観点   EVの定義
        EVの定義    計算の具体例                           効果と注意点
                  例:PV
                    PV=
                 (例:PV=10)
WF型開発
WF型開発   作業の進捗率   着手済=50%
                 着手済=50% ⇛ EV=5                   ・進捗率をステータスで紐
        で計測する    レビュー前=80%
                 レビュー前=80% ⇛ EV=8                 づければ、工事進行基準
                 完了=100%
                 完了=100% ⇛ EV=10                  にも使える。
                                                  ・レビュー未済の成果物に
                                                  本当の価値があるのか疑
                                                  問がある。
アジャイル   顧客へ納品し   着手済 ⇛ EV=0                       ・完了基準が明確
開発       成果物で計
        た成果物で計   レビュー前 ⇛ EV=0                     ・成果物が完成するまで、
        測する      完了 ⇛ EV=10                       進捗が遅れているように
                                                  見える

   ⇛ EVの定義は、Doneの定義と本質的に同じ
                 (copyright2013 akipii@XPJUG関西)             12
[例] PV・AC・EVの考え方
工数              PV=10 MD
(MD)
                                 AC=8 MD

           予                                       EV=6 MD
           定              コ
                          ス                    出
                          ト                    来
                                               高

           PV            AC                   EV

   10人日かかる作業のうち、既に8人日消費したが、6人日分
   の成果物しかできていない
       残り2人日で、4人日分かかる成果物を作らなくてはいけない
                  (copyright2013 akipii@XPJUG関西)             13
Redmineによる実現方法
          PV=
          PV=チケットの予定工数
          AC=
          AC=チケットの実績工数の和
          EV=     進捗率(%)
                     (%)  WF型開発の場合
                            型開発の場合)
          EV=PV * 進捗率(%) (WF型開発の場合)




       (copyright2013 akipii@XPJUG関西)   14
コミットログで実績工数を記録




         コミットログに実績工数を入力すれば、
         コミットフックで自動的に記録される。

             例:○○画面のエラー表示を修正
                 refs #123 @2h30m
  Redmine 1.1 新機能紹介: コミットメッセージによる作業時間の記録 | Redmine.JP Blog
    http://blog.redmine.jp/articles/new-feature-1_1/automatic-spent-time-logging/

                             (copyright2013 akipii@XPJUG関西)                         15
Time Tracker Pluginで実績工数をストップウォッチ計測
                   で実績工数をストップウォッチ計測




            (1)チケットを表示して画面右上の「開始」をクリック
            (2)作業終了時に画面右上の「終了」をクリック
            (3)Redmine標準の作業時間の記録画面が表示され、開始
            から終了までの時間がセットされる




             (copyright2013 akipii@XPJUG関西)   16
EVMで使われるメトリクス
メトリクス 日本語名             公式                意味
SPI    スケジュール効率指標      EV/PV             >1なら進捗が良い

CPI    コスト効率指標         EV/AC             >1なら効率が良い

SV     スケジュール差異        EV - PV           >0なら進捗が良い

CV     コスト差異           EV - AC           >0なら効率が良い

BAC    完成時総予算          PVの総和
                       PVの総和             プロジェクト立上時の総予算。
                                         ベースラインとして予実比較で使わ
                                         れる。
EAC    完成時総コスト見積り      次ページ参照            測定時点までの進捗度合から推測
                                         される総コスト。
TCPI   残作業効率指標         (BAC-EV) /
                        BAC-             プロジェクト完了までにどれくらい
                       (BAC-
                       (BAC-AC)          効率良く働くべきかという指標。
                                         TCPI=1.5なら、今の1.5倍働く必要
                                                 なら、今の1.5
                                         TCPI=1.5なら、今の1.5倍働く必要
                                         がある。
                  (copyright2013 akipii@XPJUG関西)           17
EACの計算方法
    EAC(完成時総コスト見積り)は3種類の計算方法がある
No 観点             公式                             考え方

1   当初の計画通りに      AC+BAC-
                  AC+BAC-EV                      現在の開発ペースは
    プロジェクトが進む                                    当初の計画通り

2   現在の開発速度で      BAC/CPI                        当初の計画よりも開発
    プロジェクトが進む     or                             ペースは落ちるはず
                       (BAC-
                  AC + (BAC-EV)/CPI

3                   (BAC-
    より厳密な開発速度で AC + (BAC-EV)/ (SPI コストオーバーでなく
    プロジェクトが進む  * CPI)              ても進捗は遅れている
                                   場合、プロジェクトは
                                   遅延している

                (copyright2013 akipii@XPJUG関西)           18
Redmine EVM plugin
 GitHubでEVMのRedmineプラグインが公開されてる
   https://github.com/imaginary-cloud/redmine_evm

 特徴
   PV=チケットの予定工数、AC=チケットの実績工数、EV=PV*進捗率(%)で
   EVMを計算している
   SPI、CPIで進捗度合いが分かる
   EACなどの指標がないので、今後の想定コストが分からない
   EVの履歴を保持していない。プロジェクト完了時にPV=EVになってしまう。




                                (copyright2013 akipii@XPJUG関西)   19
Result




         (copyright2013 akipii@XPJUG関西)   20
EVMのパターン(今は黒字→遅延)




PV≧EV>ACなら、開発効率は良いが進捗遅れ
 CPI>1なので、作業効率は良い
 SPI<1なので、進捗遅れ
 例:経験者が頑張っているが、作業開始に要員を計画通りに
 投入できていない
         (copyright2013 akipii@XPJUG関西)   21
EVMのパターン(遅延→赤字)




AC>PV>EVで、コストオーバーで進捗も遅延
 SPI、CPIももちろん悪い
 例:要員は揃っているが、想定した作業効率よりも悪い


        (copyright2013 akipii@XPJUG関西)   22
Discussion




      (copyright2013 akipii@XPJUG関西)   23
運用の注意点
工数入力、工数チェックの運用ルールを決める
 入力した工数と作業した工数に矛盾がないかチェック
 出来高と工数の概念を等価にする基準を明確化する


詳細な集計処理はCSVを出力してPC上で実施
 マネージャは元データを好きなように集計してください
 但し、複雑なコスト管理はExcelだけでは限界


「メトリクスの罠」に注意しましょう
 工数や出来高で人の評価に使う、とか

        (copyright2013 akipii@XPJUG関西)   24
EVMとTiDDは相性が良い
チケット=アクティビティと同一視できる
 チケットは成果物を作るための作業指示書と見なす


チケットでコストや進捗率を収集可能
 PV、AC、EVをチケットの属性でマッピング可能
 実績工数や進捗率はチケット更新時に入力すればいい


チケット集計でEVMの各指標を計算可能
 SPI、CPI、EAC etc.はチケットの集計処理に過ぎない
 リアルタイムに指標を取得できるので、リスク対策できる

          (copyright2013 akipii@XPJUG関西)   25
参考文献




「Redmineによるタスクマネジメント実践技法」8.1節
「WBS/EVMによるITプロジェクトマネジメント」
「プロジェクトマネジメント 知識体系ガイド」


           (copyright2013 akipii@XPJUG関西)   26
ご清聴
 ありがとう
ございました


 (copyright2013 akipii@XPJUG関西)   27

第7回RxtStudy未発表資料「チケット駆動開発におけるEVMの考え方」