僕らのおれおれメトリクス / we metrics our own way!
TRANSCRIPT
僕らのおれおれメトリクス
We Metrics Our Own Way! by yattom
安井 力 / やっとむtwitter:@yattom https://www.facebook.com/yattom
プログラマーJava Python Ruby JavaScriptテスト駆動開発
アジャイルコーチワークショップ 現場導入 技術支援
コンサルタントモデリング ユーザーストーリー
4
The Scrum Field Guide (Mitch Lacey)
和訳が出ます!( 安井力、近藤寛喜、原田騎郎
訳 )
「本書はガイドとして、スクラムの初歩から熟達に向け、現実的な方法を
指導してくれる。… より高度で実践的な、スクラムフレームワークをあなた自身とあなたのチームで機能させるため
のガイドだ。」( ジム・ハイスミス )
発売日 : 2 月下旬予定予価 : 3,480 円マイナビ出版
5
http://www.amazon.co.jp/dp/4839951993/
6
物語り、お話 Story, Narrative“ なごむ ” 旅館 ~ 囲炉裏端で一休みの隠れ宿 「苫屋」 https://www.youtube.com/watch?v=qEt2bb2bJg0
話すこと Contents• うちのチームでやってみたメトリクスと
それでどうなったか• What kind of metrics we tried in our team
and what happened
• ただの物語なので すごい成果とか発見とか教えとかありません ( 実話ではある )• It’s just a narrative; not much of
great discovery nor techniques(an actual story though)
7
僕たち、見積りに自信がありませんでし
たWe could not trust our own estimation
9
Sprint 2 Burndown
Lost PBI
10
Sprint 3 Burndown
!!
11
T シャツ見積もり T-Shirt Estimation
計画 Planned 実績 Actual
Sprint 1
Sprint 2
Sprint 3
LS
S
M
S
S S M M
L
L
L
S
L
M M L L M L
L L
12
ベロシティ Velocity
Sprint1 Sprint2 Sprint30
5
10
15
20
25
30
35
PlanActual
T シャツを後でポイント換算したものConverted from T-Shirt to Point later in the project
13
( しょんぼり )14
方法の見直し Changed the method
S M L 1 2 3 5 8
1 2 3 4 5 6
10
20
30
1week Sprint1 2 3 4 5 6
10
20
30
2weeks Sprint
Sprint 1-3 Sprint 5- (Sprint4: cancel)
16
ベロシティ Velocity
Sprint1 Sprint2 Sprint3 Sprint5 Sprint6 Sprint70
10
20
30
40
50
60
PlanActual
17
( やったあ! )18
でも、なんで?But why?
20
バックログアイテムを分析 Analyzed PBIs
タスク見積もりの合計[時間
]Estim
ated Efforts of Tasks [hour]
13pt8pt
5pt3pt
2pt
1pt
1/2
20pt
×5それほど正確じゃないNot so much precise
21
スプリント 13 時点 / As of Sprint 13
バックログアイテムを分析 Analyzed PBIs
タスク見積もりの合計[時間
]Estim
ated Efforts of Tasks [hour]
13pt8pt
5pt3pt
2pt
1pt
1/2
20pt
S
M
L
3pt と 5pt 、 8pt と 13pt の区別がついてない! → T シャツの時と変わらない!
Cannot distinguish3 from 5 or 8 from13 → Same as S-M-L!
スプリント 13 時点 / As of Sprint 13
22
( やってなかった! )23
24
状況整理 Situation25
• スプリント失敗• 自信がない
• Failing Sprints• Lost Self-confidence
• T シャツ見積り• 1 週間スプリント
• T-Shirt• 1w Sprint
• ポイント見積り• 2 週間スプリント
• Story Point• 2w Sprint
• スプリント成功• 自信復活
• Successful Sprints• Regain Self-confidence
改善!Kaizen!
26
(REPEAT)でも、なんで?
But why?
29
ありがちな話 Usual Suspects• オーバーワーク Overworking• 甘い見積り Under-commit
30
スプリントの予実を見る Planned/Actual of a Sprint
31
228
65
166
32
232
見積もりEstimated
見積もりEstimated
実績Actual
プランニング時Planning
スプリント終了時End of Sprint
Sprint5
途中追加タスクAdded during
the Sprint
Trash
タスクの合計[時間
]Efforts of Tasks [hour]
スプリントの進捗を見る Progress of a Sprint
32
1 日 2 日 3 日 4 日 5 日 6 日 7 日 8 日 9 日 10 日
-60
-50
-40
-30
-20
-10
0
10
20
30Sprint 5
Added Task (Daily)
Completed Task (Daily)
スプリントの進捗を見る Progress of a Sprint
33
1 日 2 日 3 日 4 日 5 日 6 日 7 日 8 日 9 日 10 日
-60
-50
-40
-30
-20
-10
0
10
20
30Sprint 5
Added Task (Daily)
Completed Task (Daily)
Bugs Found(Daily)
Tests Executed(Daily)
Bugs Fixed(Daily)
Sprint 8• 強いビジネス要望 Strong Pressure
from Business• オーバー気味のコミットメント
A-Bit-Over-Commit
全アイテム完成した Delivered All PBIs
34
ベロシティ Velocity
Sprin
t1
Sprin
t2
Sprin
t3
Sprin
t5
Sprin
t6
Sprin
t7
Sprin
t80
10
20
30
40
50
60
70
PlanActual
35
傾向を見る Watch Trend36
Sprint 5 Sprint 6
次スプリント先取りぶん (PBI91)
Sprint 7 Sprint 8
傾向を見る Watch Trend37
Sprint 5 Sprint 6
次スプリント先取りぶん (PBI91)
Sprint 7 Sprint 8
ベロシティ Velocity
Sprin
t1
Sprin
t2
Sprin
t3
Sprin
t5
Sprin
t6
Sprin
t7
Sprin
t8
Sprin
t9
Sprin
t10
Sprin
t11
Sprin
t12
Sprin
t13
Sprin
t14
Sprin
t150
10
20
30
40
50
60
70
PlanActual
38
傾向を見る Watch Trend39
Sprint 5 Sprint 6
次スプリント先取りぶん (PBI91)
Sprint 7 Sprint 8 Sprint9
Sprint 10 Sprint 11 Sprint 12 Sprint 13 Sprint 14
傾向を見る Watch Trend40
Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9
Sprint 10 Sprint 11 Sprint 12 Sprint 13 Sprint 14
傾向を見る Watch Trend41
Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9
Sprint 10 Sprint 11 Sprint 12 Sprint 13 Sprint 14
Tests Executed(Daily)
Bugs Found(Daily)
最後にバグ大量発生Bugs Surge at the Last
Moment
最後にまとめてテストLate Tests
追加タスクが多いLot of new tasks
Health Check
51
I say … 「こんなん出てます」 Look at this…「ここはいつも通り」 It’s familiar… 「これちょっと珍しいね」 It’s NOT familiar「このパターンやばいよ」 It looks similar to
a bad pattern
チームの反応と話し合いを誘う Draw responses and discussions from the team
質問力 Powerful Questions
I DON’T say… 「異常値が出てます」 I detected an anomaly「これじゃダメだよ」You did it wrong「分析の結果、失敗の可能性が XX% 」 The chance of failure
is XX% according to my analysis
把握と評価はチームの責任The team must understand and
evaluatethe metrics
53
アクションと改善 Act and Kaizen
54
Sprint 5 Sprint 6
次スプリント先取りぶん (PBI91)
Sprint 7 Sprint 8 Sprint9
Sprint 10 Sprint 11 Sprint 12 Sprint 13 Sprint 14
プレッシャーに負ける→ ちゃんとタスク追加詳しくない箇所が大変だった→ 事前にスパイク
アクションと改善 Act and Kaizen
55
Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9
Sprint 10 Sprint 11 Sprint 12 Sprint 13 Sprint 14
最初が遅い→ スタートダッシュ
バグが最後に大量発生→ 早くからテスト
追加タスクが多い→ 計画に時間かける
メトリクスの使い道 How to use metrics
Goal
The Team
目標値、 KPI• ROI• LTV, CPA, CVR, …• Value (PBIs) per Sprint• 技術的負債 / Technical Debt
達成度合いで測るMeasured in Difference from the Goal
健全さ / Healthiness• Bug• Velocity• Work Time
傾向で測るMeasured in Trend
56
僕たちのメトリクス Metrics Our Way• あるべき姿の把握 Establish Our Standard• よくあるパターン Common Patterns• ふりかえりの材料 Topics for RetrospectivesNOT• 外部評価 External Evaluation• 基準値、目標、合否の設定
Defining absolute baseline,
target, or threshold
57
依頼 Requests58
0%
25%
50%
75%
100%
TestsOther
バックログアイテムの見積り / 実績
Est./Act. for PBIs
チームメンバーがメトリクスを意識 Team Members like to know
じゃあやってもらおうかな
So Let Them Do It
59
60
61
62
The facilitator of the day must
update Burndown at 6pm
The last person in the office must update
the Burndown before going home
63
タスク=付箋を 1 枚ずつ数える手作業で計算毎日 2 回Count all the Tasks = StickiesCalculate by handEveryday, twice
64
65
チーム The
Team
プロセスフロー Flow of the Process
66
Task Board (Scrum-ban) Python Script
git
ふりかえり Reflect
よいメトリクス Good Metrics• 自然に計測できる• 自動化• 意味がある• 安定している• チームに沿っている• タイミング• 見たい!
NARRATE = 物語る、お話をする
Naturally MeasuredAutomatedRelevantReliableAdjusted for the teamTimelyExpected by People
67
バックログアイテムの Lead time of PBIsリードタイム
68
69スターマップ(星取り表、スキルマップ )Star Map (Skill Map)
70
71
http://www.ryuzee.com/contents/blog/7065
Last word …「スクラムとはこうあるべき」「それはスクラムじゃない」こういう発言が少ないほど
世界は良くなる
“Scrum must be…”“It’s not Scrum…”Less such sayings,
better becomesthe world
72
By the way, I understand ‘metric’/’metrics’ is not a verb and I used in such ways intentionally.Please regard them as kinda joke, or a funny
saying …Oh, silly me.
73