We are doing Agile well..We have been Agile now.. Is it just an assumption or do we have data to support it? Do metrics add any value or they are just a fad? Good metrics affirm & reinforce Agile principles. They open up the conversation and help the teams to improve. They are not only for management, it is for everyone who wants to inspect and adapt.
So this presentation is about how metrics can be used effectively in Agile to enable transparency and improve the overall efficiency at the team/ program and portfolio level.
1. AGILE METRICS
Measure the outcome, not output
Webinar, 17th April 2016
Presented By: Ankit Tandon
https://in.linkedin.com/in/ankit-
tandon-04317631
2. WHAT IS A METRIC
A metric is a measure for quantitatively assessing, controlling
or selecting a person, process, event, or institution, along with
the procedures to carry out measurements and the procedures
for the interpretation of the assessment in the light of previous
or comparable assessments.
-Wikipedia
Too much information….
3. WHAT IS A METRIC- LETS KEEP IT SIMPLE
It measures and radiates information
5. WHY METRICS ARE IMPORTANT IN SOFTWARE
DEVELOPMENT
Because while executing projects,
6. TYPE OF METRICS
Business metrics – RTF (Running Tested Features) – Earned Business Value (EBV) – Net
Present Value (NPV) – Internal Rate of Return (IRR) – Return of Investment (ROI)
Code Metrics – Cyclomatic complexity – Best practices violation – Coding standards
violation – Possible bugs – Code duplication – Code coverage – Dead code – Test Quality
Design Metrics –
–Code dependencies
Incoming (Afferent Coupling)
Outgoing (Efferent Coupling)
– Abstractness Do we really need all of these..?
Number of abstract classes and interfaces
Number of concrete classes
Process metrics – Agile practice maturity – Impediments cleared per iteration –
Impediments carried over the next iteration – User stories carried over the next iteration –
User stories done per iteration – Defects carried over the next iteration – Defects carried
over the next iteration – Team member loading – Velocity of development – Backlog size
Automation Metrics – Code coverage – Number of builds per day – Time taken per build –
Number of failed/success builds – Trends in code metrics
Testing Metrics – Acceptance tests per story – Defects count per story – Test time to run –
Tests run frequency – Manual tests per story – Automation percent – Time to fix tests
20. ARE WE INCREASING QUANTITY OF WORK BEING
DELIVERED?
Throughput
0
1
2
3
4
5
6
1 2 3 4 5 6 7 8 9 10
Throughput
Sprint
Stories
21. ARE WE INCREASING QUANTITY OF WORK BEING
DELIVERED
Release burndown
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11
SP Remaining
Planned Trend
Sprint
Story
point
22. ARE WE INCREASING QUANTITY OF WORK BEING
DELIVERED?
Release burnup
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10
Total
Completed
Sprint
Story
point
23. ARE WE INCREASING QUANTITY OF WORK BEING
DELIVERED?
Forecasted vs Actual Velocity
0
5
10
15
20
25
30
35
40
45
50
1 2 3 4 5 6 7 8 9 10
Forecasted
Velocity
Actual Velocity
Sprints
Story
points
25. IS THE QUALITY UP TO THE MARK?
Defect Leakage
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10
Defects
Sprints
D
e
f
e
c
t
s
26. IS THE QUALITY UP TO THE MARK?
Code quality
There are many tools
to measure the code
quality like
Sonar, PMD, Emma etc
But the best way to
find it out is …
29. ARE WE CONTINUOUSLY IMPROVING TEAM’S MATURITY?
Limiting
WIP
Put a new dot
each day for
tasks In
Progress
Calculate the
dots and use
it as an input
for
retrospective
30. ARE WE CONTINUOUSLY IMPROVING TEAM’S MATURITY?
Adhoc Work watcher
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10
Adhoc requests
Sprints
Adhoc
work
request
31. ARE WE CONTINUOUSLY IMPROVING TEAM’S MATURITY?
Cycle Time
Average
Time to
complete
Should be
as less as
possible
Matured
Agile
teams
and
organizat
ions
should
observe
low cycle
time
32. ARE WE CONTINUOUSLY IMPROVING TEAM’S MATURITY?
Story spill over tracker
0
1
2
3
4
5
6
1 2 3 4 5
Spilled Stories
Release
S
t
o
r
i
e
s
33. SUMMARY
Good Agile Metrics:
-
Affirm and Re-inforce desired behavior
Measure outcome not output
Easy to collect
Reveal context. Measure trends not numbers.
Fuel more discussions
Amplify learning
Vital few