Sagi Smolarski ITG - Enterprise Metrics on Agile

45
© 2009 Investment Technology Group, Inc. All rights reserved. Not to be reproduced or retransmitted without permission. Broker-dealer products and services offered by ITG Inc., member FINRA, SIPC. XXXXX-XXXXX Enterprise Metrics on Agile Sagi Smolarski Director, Software Development [email protected] [CC] Daniel Goodwin via Wikimedia Commons

Transcript of Sagi Smolarski ITG - Enterprise Metrics on Agile

Page 1: Sagi Smolarski ITG - Enterprise Metrics on Agile

© 2009 Investment Technology Group, Inc.  All rights reserved.  Not to be reproduced or retransmitted without permission.Broker-dealer products and services offered by ITG Inc., member FINRA, SIPC. XXXXX-XXXXX

Enterprise Metrics on AgileSagi SmolarskiDirector, Software [email protected]

[CC] Daniel Goodwin via Wikimedia Commons

Page 2: Sagi Smolarski ITG - Enterprise Metrics on Agile

Disclaimers

The information contained in this presentation is

provided for informational purposes only. 

All trademarks, service marks, and trade names not

owned by ITG are owned by their respective owners.

…in other words, the data presented has been modified and does not represent real data for ITG teams.

Page 3: Sagi Smolarski ITG - Enterprise Metrics on Agile

Agenda

Why do we need metrics for agile?

How do we generate those metrics?

Which metrics do we look at?

Pros and cons of looking at those metrics.

Page 4: Sagi Smolarski ITG - Enterprise Metrics on Agile

Investment Technology Group

NYSE: ITG

www.itg.com

Leading provider of trading solutions Trading Front-Ends Trading Algorithms Research (fundamental analytic, pre/post-trade) Trading desks Electronic trading connectivity Liquidity pool

Development operation: 300 Developers, 100 QA Analysts, ~60 teams

Page 5: Sagi Smolarski ITG - Enterprise Metrics on Agile

Process Baseline

Quality Metrics

Iteration Metrics

Massive transitionInformal, spotty, inconsistent adoption

ITG’s Agile Transition Timeline

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

Enterprise rollout planRally+Scrum, +Lean

90% of teams have been trained and are using Rally

XP

XP Pilot

ITG Triton

Best Execution

Management System

Page 6: Sagi Smolarski ITG - Enterprise Metrics on Agile

Practice Status

Code Reviews Must

Fix Bugs First Must

Agile Team

Agile team Should

Product Manager Role Should

ScrumMaster Should

Delivery Team Should

Sustainable Pace Should

Planning

Fixed Scope Should

100% Acceptance Should

Small Stories accepted throughout iteration

Should

Story completion within iteration Should

Acceptance Criteria Should

Definition of Done Should

Story Points Should

Automated builds Should

Developer Unit Testing

Our Process Baseline – How We Expect Teams to WorkExcerpt

Page 7: Sagi Smolarski ITG - Enterprise Metrics on Agile

The journey to Agile is a long, winding road…

[CC] – Sten via Wikimedia Commons

Are we moving forward?

Page 8: Sagi Smolarski ITG - Enterprise Metrics on Agile

Why Measure?

“If you cannot measure it you cannot improve it.”Lord Kelvin

Page 9: Sagi Smolarski ITG - Enterprise Metrics on Agile

Why Metrics?

Executives (Govern & Steer): What are we getting out of the agile transition? Are teams sticking to our process baseline and to

enterprise initiatives? Is productivity/quality improving?

Teams (Inspect & Adapt): Are we doing okay? How can we improve? Are we doing what the company expect from us?

Coaches, PMO (Train and Coach): Are teams using what we taught? Which teams need our help?

Page 10: Sagi Smolarski ITG - Enterprise Metrics on Agile

Team A

Teams Process HealthData is readily available in Rally

vs.

vs.

Team B

Velocity Velocity

Burndown/Story AcceptanceBurndown/Story Acceptance

Isn’t this enough?

Page 11: Sagi Smolarski ITG - Enterprise Metrics on Agile

Why Metrics? - Dumbing down

This is too complex for team members to

interpret and monitor…Are the charts okay?

Page 12: Sagi Smolarski ITG - Enterprise Metrics on Agile

Why Metrics – Scaling up

How do we watch 80 teams?

Lines of products?

The whole enterprise?

?

Page 13: Sagi Smolarski ITG - Enterprise Metrics on Agile

Types of Metrics

Qualitative Satisfaction of stakeholders• Product Management, Client Services, Product Support (deployment, service), Delivery

team Teams adherence to practices• Agility questionnaire

Quantitative Quality metrics Process health metrics Time-to-Market

We’ll be focusing on these

Page 14: Sagi Smolarski ITG - Enterprise Metrics on Agile

What Would We Want to Measure?

Quality

ROI

Productivity

Some of these are not easy to measure so we have to find proxies

Satisfaction

Page 15: Sagi Smolarski ITG - Enterprise Metrics on Agile

What We Are Actually Measuring

SatisfactionQualityProcessAs a partial proxy for productivity

Stakeholders SurveysProduction defectsDefects Debt

Work-in -ProgressVelocity StabilityFull Completion or workGradual acceptance of workChurnSmall StoriesPractices Radar map

Page 16: Sagi Smolarski ITG - Enterprise Metrics on Agile

How We Generate Metrics

How do we obtain data?Rally’s Web Services API Rest and SOAP Access to virtually all data in the tool Users, Releases, Iterations, Stories, Tasks, Defects,

Test cases… Ruby toolkit… or any WS library We use mostly C#

Automated generation, monthly

How do we make sense out of mounds of data?

Page 17: Sagi Smolarski ITG - Enterprise Metrics on Agile

The Metrics

Page 18: Sagi Smolarski ITG - Enterprise Metrics on Agile

Quality Metrics

Page 19: Sagi Smolarski ITG - Enterprise Metrics on Agile

Quality MetricsDefects Found in Production

Goal

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb

2010 2011

Production Defects

Team Level & Enterprise Level

Metric #1

Page 20: Sagi Smolarski ITG - Enterprise Metrics on Agile

Quality MetricsFix-Bugs-First

If you are fixing defects first As part of existing development, within the iteration Before new development for regression defects

Then…

1. The number of defects in your backlog should be small

2. The age of open defects should be low

Together…

Defects Debt should be low

Defects Debt = [# open defects] x [avg age of open defects]

Metric #2

Page 21: Sagi Smolarski ITG - Enterprise Metrics on Agile

Quality MetricsProject-Level Defects Debt

Metric #2

Page 22: Sagi Smolarski ITG - Enterprise Metrics on Agile

Quality MetricsEnterprise Defects Debt

Mar Apr May Jun Jul Aug Sep Nov Nov Dec Jan Feb2010 2011

-

20,000

40,000

60,000

80,000

100,000

120,000

140,000

160,000

180,000

200,000

Goal

Defects Debt

Defects Debt

Metric #2

Page 23: Sagi Smolarski ITG - Enterprise Metrics on Agile

Process Health Metrics

Page 24: Sagi Smolarski ITG - Enterprise Metrics on Agile

Team Process HealthAgility Questionnaire

Practice Status

Code Reviews Must

Fix Bugs First Must

Agile Team

Agile team Should

Product Manager Role Should

ScrumMaster Should

Delivery Team Should

Sustainable Pace Should

Planning

Fixed Scope Should

100% Acceptance Should

Small Stories accepted throughout iteration

Should

Story completion within iteration

Should

Acceptance Criteria Should

Definition of Done Should

Story Points Should

Automated builds Should

Developer Unit Testing

Page 25: Sagi Smolarski ITG - Enterprise Metrics on Agile

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Scope CreepChurn

Pla

n E

stim

ates

Iteration Cumulative FlowNo Scope Creep

Churn (Scope variation) = 0

Day 12 Day 13 Day 14

Metric #3

Page 26: Sagi Smolarski ITG - Enterprise Metrics on Agile

Work in Progress & Scope CreepP

lan

Est

imat

es

Iteration Cumulative Flow

Churn = 30%

Day 12 Day 13 Day 14

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Metric #3

Page 27: Sagi Smolarski ITG - Enterprise Metrics on Agile

Work in Progress & Scope CreepP

lan

Est

imat

es

Iteration Cumulative Flow

Churn = 30%

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Scope Creep:Team Cannot CommitDisruptive (task switching?)Less efficient

Day 12 Day 13 Day 14

Metric #3

Page 28: Sagi Smolarski ITG - Enterprise Metrics on Agile

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Work in ProgressWIP Average

Pla

n E

stim

ates

Planned

In Progress

Accepted

Iteration Cumulative Flow

Work In Progress

No Scope Creep

WIP average = 10%

Day 12 Day 13 Day 14

Metric #4

Page 29: Sagi Smolarski ITG - Enterprise Metrics on Agile

Work in Progress & Scope CreepP

lan

Est

imat

es

Planned

In Progress

Accepted

Iteration Cumulative Flow

WIP average = 70%

Day 12 Day 13 Day 14

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Metric #4

Page 30: Sagi Smolarski ITG - Enterprise Metrics on Agile

Work in Progress & Scope CreepP

lan

Est

imat

es

Planned

In Progress

Accepted

Iteration Cumulative Flow

WIP average = 70%

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11

Large WIP = Long Cycle TimeRisk of not completing work within iteration

Day 12 Day 13 Day 14

Metric #4

Page 31: Sagi Smolarski ITG - Enterprise Metrics on Agile

Full Acceptance – Final Acceptance %P

lan

Est

imat

es (

Po

ints

)

Accepted

Iteration Burn-up 100% Accepted

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

Acceptance rate on the last day = 100%

Day 12 Day 13 Day 14

Metric #5

Page 32: Sagi Smolarski ITG - Enterprise Metrics on Agile

Full AcceptanceP

lan

Est

imat

es (

Po

ints

)

Iteration Burn-up 100% Accepted

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

Acceptance rate on the last day = 55%

Accepted

Day 13 Day 14

Day 12 Day 13 Day 14

Metric #5

Page 33: Sagi Smolarski ITG - Enterprise Metrics on Agile

Full AcceptanceP

lan

Est

imat

es (

Po

ints

)

Iteration Burn-up 100% Accepted

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

Acceptance rate on the last day = 55%

Accepted

Day 13 Day 14

Partial CompletionHard to planGreater cycle timeInefficient

Day 12 Day 13 Day 14

Metric #5

Page 34: Sagi Smolarski ITG - Enterprise Metrics on Agile

Gradual Acceptance – 50% dayP

lan

Est

imat

es (

Po

ints

)

Accepted

Iteration Burn-up 100% Accepted

Day of 50% Acceptance = 8days/14days = 57%

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

>50% points accepted

Metric #6

Day 12 Day 13 Day 14

Page 35: Sagi Smolarski ITG - Enterprise Metrics on Agile

Gradual AcceptanceFull Acceptance

Pla

n E

stim

ates

(P

oin

ts)

Iteration Burn-up 100% Accepted

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

Day of 50% Acceptance = 14/14 = 100%

Accepted

Metric #6

Day 12 Day 13 Day 14

Page 36: Sagi Smolarski ITG - Enterprise Metrics on Agile

Gradual AcceptanceP

lan

Est

imat

es (

Po

ints

)

Iteration Burn-up 100% Accepted

50% Acceptance

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14

Day of 50% Acceptance = 14/14 = 100%

Accepted

Metric #6

Late AcceptanceHigh risk of not completing workLate feedback on work

Day 12 Day 13 Day 14

Page 37: Sagi Smolarski ITG - Enterprise Metrics on Agile

Velocity StabilityVelocity Variation

Accepted within iteration

Velocity

Velocity is fairly stable

Itera

tion

23

10

20

30

40

50

60

Itera

tion

24

Itera

tion

25

Itera

tion

26

Itera

tion

27

Itera

tion

28

Itera

tion

29

Itera

tion

30

Itera

tion

31

Itera

tion

32

Accepted after iteration

Never acceptedVariation = 7%

Metric #7

Day 12 Day 13 Day 14

Page 38: Sagi Smolarski ITG - Enterprise Metrics on Agile

Velocity StabilityVelocity Variation

Accepted within iteration

Velocity

Velocity is unstable

Itera

tion

23

10

20

30

40

50

60

Itera

tion

24

Itera

tion

25

Itera

tion

26

Itera

tion

27

Itera

tion

28

Itera

tion

29

Itera

tion

30

Itera

tion

31

Itera

tion

32

Accepted after iteration

Never acceptedVariation = 87%

Metric #7

Day 12 Day 13 Day 14

Page 39: Sagi Smolarski ITG - Enterprise Metrics on Agile

Velocity Stability

Accepted within iteration

Velocity

Velocity is unstable

Itera

tion

23

10

20

30

40

50

60

Itera

tion

24

Itera

tion

25

Itera

tion

26

Itera

tion

27

Itera

tion

28

Itera

tion

29

Itera

tion

30

Itera

tion

31

Itera

tion

32

Accepted after iteration

Never acceptedVariation = 87%

Metric #7

Unstable VelocityLow predictabilityHard to planInefficient?

Day 12 Day 13 Day 14

Page 40: Sagi Smolarski ITG - Enterprise Metrics on Agile

Practice Status

Code Reviews Must

Fix Bugs First Must

Agile Team

Agile team Should

Product Manager Role Should

ScrumMaster Should

Delivery Team Should

Sustainable Pace Should

Planning

Fixed Scope Should

100% Acceptance Should

Small Stories accepted throughout iteration

Should

Story completion within iteration Should

Acceptance Criteria Should

Definition of Done Should

Story Points Should

Automated builds Should

Developer Unit Testing

Our Process Baseline… and metrics we can collect

Defects Debt

Velocity Stability

Churn

% Completion

WIP, Day of 50% Acceptance, Story Sizing

Page 41: Sagi Smolarski ITG - Enterprise Metrics on Agile

Team DashboardAll together now…

Day 12Day 13Day 14 Day 12Day 13Day 14 Day 12Day 13Day 14 Day 12Day 13Day 14 Day 12Day 13Day 14 Day 12Day 13Day 14

Page 42: Sagi Smolarski ITG - Enterprise Metrics on Agile

Teams Process HealthEnterprise Process Health Map

Line of Business #1 Line of Business #2 Line of Business #3 Line of Business #4 Line of Business #5

Proj ה

Proj Y

Proj W

Proj ב

Proj 4

Proj 2

Proj M

Proj א

Proj ג

Proj X

Proj ד

Proj L

Proj 3

Proj E

Proj B

Proj D

Proj C

Project A Proh

j Z

Proj 5

Proj k

Proj N

Proj ו

(Probably) Healthy Process

(Possibly) Unhealthy Process

Proj 1

Page 43: Sagi Smolarski ITG - Enterprise Metrics on Agile

Problems with Metrics

Metric-Driven Dysfunctions Teams misreporting defects Not tracking unpredictable work in Rally We can limit these by not using these metrics to reward, reprimand

False positives, False negatives Some metrics are sensitive to how Rally is being use These metrics don’t cover some important aspects of teams’ process Metrics should be treated as an indication that further examination is

needed Hey, I just figured out how we can

double our quarterly sales.

From now on, each quarter will last

six months.

Page 44: Sagi Smolarski ITG - Enterprise Metrics on Agile

Small Stories

Time to Market

Trends

By Simon A. Eugster (Eigenes Werk) [GFDL (www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Looking at Next…

Page 45: Sagi Smolarski ITG - Enterprise Metrics on Agile

Q&A

How are you measuring yourselves?

Q&A