第7回RxtStudy未発表資料「チケット駆動開発におけるEVMの考え方」
- 2. 出版しました
現在絶賛販売中!
(copyright2013 akipii@XPJUG関西) 2
- 3. Agenda
Introduction
EVMとは
Method
EVMの計測方法
Redmineによる実装方法
Result
EVMのパターン
Discussion
運用上の注意点
EVMとTiDDは相性が良い
(copyright2013 akipii@XPJUG関西) 3
- 6. EVMとは
Earned Value Management
プロジェクトのスケジュール管理やコスト管理を「出来高
(Earned Value)」で把握する手法
PMBOKのコストマネジメント領域の技法の一つ
EVMで成果物の完成度合を明確化できる
出来高を成果物の完成度合と見なす
ある時点の計画と実績のズレから、完成までの総コスト、
総時間を予測できる
EVMの単位は金額 or 工数(人月)
IT業界では、人月が多い
(copyright2013 akipii@XPJUG関西) 6
- 9. Method
(copyright2013 akipii@XPJUG関西) 9
- 10. EVMを計測する流れ
詳細化 チケット
詳細化 対応 (タスクカード
タスクカード)
タスクカード
チケット
プロジェクト計画 アクティビティ チケット (タスクカード
タスクカード)
タスクカード
(ストーリーカード
ストーリーカード)
ストーリーカード
実現 計測 集計 実績入力
等価
等価
集計
進捗表示
価値 出来高(¥)
出来高 出来高 出来高
(MD) (MD)
TiDDでEVMを パーキング
実現する方法 ロットチャート
(copyright2013 akipii@XPJUG関西) 10
- 11. 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
- 12. 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
- 13. [例] 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
- 14. Redmineによる実現方法
PV=
PV=チケットの予定工数
AC=
AC=チケットの実績工数の和
EV= 進捗率(%)
(%) WF型開発の場合
型開発の場合)
EV=PV * 進捗率(%) (WF型開発の場合)
(copyright2013 akipii@XPJUG関西) 14
- 15. コミットログで実績工数を記録
コミットログに実績工数を入力すれば、
コミットフックで自動的に記録される。
例:○○画面のエラー表示を修正
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
- 16. Time Tracker Pluginで実績工数をストップウォッチ計測
で実績工数をストップウォッチ計測
(1)チケットを表示して画面右上の「開始」をクリック
(2)作業終了時に画面右上の「終了」をクリック
(3)Redmine標準の作業時間の記録画面が表示され、開始
から終了までの時間がセットされる
(copyright2013 akipii@XPJUG関西) 16
- 17. 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
- 18. 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
- 19. 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
- 20. Result
(copyright2013 akipii@XPJUG関西) 20