big apple scrum day 2015 - advanced scrum metrics presentation

57
© 2012, Asynchrony Solu2ons, Inc. All rights reserved. ADVANCED SCRUM METRICS Big Apple Scrum Day – June 1, 2015 Jason Tice @theagilefactor [email protected]

Upload: jason-tice

Post on 28-Jul-2015

558 views

Category:

Software


2 download

TRANSCRIPT

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

ADVANCED  SCRUM  METRICS  Big  Apple  Scrum  Day  –  June  1,  2015  

 Jason  Tice  

@theagilefactor  [email protected]  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Alterna4ve  Title:  As  many  as  30+  metrics  other  than  velocity  

that  may  help  your  team  improve  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Hypotheses  

Some  scrum  teams  do  not  have  easy  access  to  sufficient  data  to  assess  the  true  impact  of  process  changes  and  promote  effec2ve  self-­‐management.    Without  sufficient  measurements  encompassing  all  delivery  ac2vi2es,  scrum  teams  can  fall  vic2m  to  improving  one  aspect  of  their  process  while  other  aspects  of  their  process/product  suffer.    Lack  of  encompassing  quan2ta2ve  measurements  reduces  team  effec2veness  as  decisions  may  be  made  based  upon  the  beliefs,  theories  and/or  egos  of  team  members  without  scien2fic  data  to  assess  the  impact  and  effec2veness  of  decisions  made.  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

5  Types  of  Scrum  Metrics    

Process  Health  •  Assess  day-­‐to-­‐day  delivery  team  ac2vi2es  &  evaluate  process  changes  

Release  •  Direct  focus  to  iden2fy  impediments  to  con2nuous  delivery  

Product  Development  •  Align  product  features  to  user  needs  

Technical  /  Code  •  Determine  quality  of  implementa2on  and  architecture  

People  /  Team  •  Promote  sustainable  pace  and  team  engagement      

Recommenda4on  •  Teams  track  several  metrics  from  each  type  to  have  a  well-­‐rounded  view  

of  their  process  &  product  development  ac2vi2es    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Velocity    

Type  -­‐  Process  Health    

What  •  Number  of  work  items  completed  in  a  period  of  2me    Why  •  Assess  the  impact  of  team  process  changes    Goal  •  Velocity  is  intended  to  promote  effec2ve  self-­‐managing  teams    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Disclaimer    

Teams  should  track  sufficient  metrics  to  guide  &  evaluate  improvements  •  The  right  metrics  are  determined  by  a  team  and  its  sponsors    

Adop4on  of  metrics  should  be  incremental  •  Do  not  aVempt  to  start  gathering  all  30+  metrics  at  once    

All  metrics  have  costs  to  gather  &  review  •  A  team’s  metrics  should  evolve  based  on  observed  

challenges,  risks,  and  needs  •  Teams  should  track  enough  just  enough  metrics  to  

understand  how  they  work  and  how  they  can  improve  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Why  Measure  

•  Assess  the  impact  /  value  of  process  improvements  using  scien2fic  methods:  

•  Problem  Statement  •  Hypothesis  •  Ac2on  Plan  •  Gather  Data  •  Conclusion  

•  Increase  effec2veness  of  self-­‐organiza2on  –  data  doesn’t  lie  and  creates  a  founda2on  for  team  members  to  make  cri2cal  decisions  

•  Collec2on  and  transparency  of  data  promotes  cross-­‐team  knowledge  sharing  –  data  enables  teams  to  have  engaging  conversa2ons  about  impediments  and  mi2ga2ons  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Best  Prac4ces  

•  Metrics  are  about  understanding  trends  –  not  hi`ng  magic  numbers  

•  Respect  that  desired  trends  and/or  quan2ta2ve  goals  are  unique  to  each  team  

•  Goals  should  be  arrived  at  by  team  consensus  –  not  mandated  by  management  

•  Use  metrics  to  encourage  team/value  contribu2on  vs.  establishing  baselines  across  all  teams  

•  Metrics  should  be  transparent  and  easily  accessible  to  all  teams  –  ideally  posted  as  informa2on  radiators  /  dashboards  

•  Use  metrics  to  direct  the  team’s  focus  to  agreed  upon  challenges  –  enable  team  members  to  self-­‐diagnosis  scenarios  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Cycle  Time    

Type  -­‐  Process  Health    

What  •  Amount  of  2me  needed  to  complete  a  work  item    Why  •  Consistent  cycle  2me  increases  the  predictability  of  work    Goal  •  Rela2vely  consistent  cycle  2me  for  each  work  item  size    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Cycle  Time    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Escaped  Defects    

Type  -­‐  Release    

What  •  Count  of  defects  that  are  discovered  in  produc2on    Why  •  Iden2fy  root  causes  as  to  why  defect  not  detected  prior  to  

release    Goal  •  Agreement  on  acceptable  level  of  escaped  defects  with  

shared  understanding  of  mi2ga2ons  iden2fied  to  reduce  future  escaped  defects    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Business  Value  Burnup    

Type  -­‐  Product  Development    

What  •  The  amount  of  business  value  provided  by  each  completed  

work  item    Why  •  Allow  customers  &  stakeholders  to  manage  ROI    Goal  •  Focused  on  highest  value  work  items  first;  consider  moving  on  

as  value  per  work  item  decreases    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Test  Coverage    

Type  -­‐  Technical  /  Code    

What  •  Percentage  of  codebase  exercised  by  various  types  of  

automated  tests    Why  •  Guide  efforts  /  investments  to  improve  test  coverage  to  

sufficient  levels    Goal  •  Examine  trends  &  correla2ons  between  Defect  Density  and  

Test  Coverage    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Test  Coverage    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Happiness  Metric    

Type  -­‐  Team  /  People    

What  •  Team  member  sa2sfac2on  as  a  member  of  the  team  (5  point  

scale)    Why  •  Create  transparency  regarding  team  member  sa2sfac2on    Goal  •  Enable  team  to  self-­‐manage  /  improve  team  morale    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Happiness  Metric    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Cumula4ve  Flow    

Type  -­‐  Process  Health      

What  •  Amount  of  work-­‐in-­‐progress  at  any  state  at  any  2me    Why  •  Iden2fy  boVlenecks  that  reduce  flow  and  assess  impact  of  

process  changes    Goal  •  Team  operates  within  capacity  as  incremental  progress  made  

toward  goal  (narrow  bands  with  consistent  posi2ve  slope)    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Cumula4ve  Flow    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Escaped  Defect  Resolu4on  Time    

Type  -­‐  Release    

What  •  Amount  of  2me  required  to  resolve  an  escaped  defect    Why  •  Understand  the  unplanned  cost  of  resolving  escaped  defects    Goal  •  Achieve  balance  between  proac2ve  tes2ng  and  sustainable  

Service  Level  Agreements  (SLAs)    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Risk  Burndown    

Type  -­‐  Product  Development    

What  •  Amount  of  known  and  unmi2gated  risk  shown  across  a  period  

of  2me    Why  •  Encourage  self-­‐management  to  reduce  project  risk    Goal  •  Product  risk  trends  down  to  acceptable  level  over  2me;  

balance  investment  between  building  product  and  reducing  risk    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Risk  Burndown    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Build  Time    

Type  -­‐  Technical  /  Code    

What    •  Execu2on  2me  to  run  build  and  tests  to  provide  developer  

feedback    Why  •  Guard  against  slow  builds  &  test  execu2on  that  reduce  

frequency  of  feedback    Goal  •  Build  provides  feedback  to  team  within  an  agreed  upon  

amount  of  2me    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Learning  Log    

Type  -­‐  Team  /  People    

What  •  A  lis2ng  of  items  the  team  (or  team  members)  have  learned    Why  •  Direct  focus  to  the  importance  of  learning  on  scrum  teams  /  

projects    Goal  •  Promote  learning  throughout  a  project;  suppor2ve  of  self-­‐

management  and  sustaining  team  morale  &  engagement    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Percent  Complete  &  Accurate    

Type  -­‐  Process  Health      

What  •  Number  of  completed  and  acceptable  work  items    Why  •  Improve  delivery  by  measuring  comple2on  and  quality    Goal  •  High  percentage  of  commiVed  work  is  complete  &  accurate  •  Promote  clear  defini2on  and  consensus  on  done  criteria    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Release  Success  Rate    

Type  -­‐  Release    

What  •  Ra2o  of  accepted  vs.  rejected  releases  from  the  customer    Why  •  Encourage  partnership  between  team  &  customer    Goal  •  High  percentage  of  accepted  releases  due  to  effec2ve  

process,  consensus  on  done  criteria  &  feedback  loops    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Push  /  Pull    

Type  -­‐  Product  Development    

What  •  The  ra2o  /  count  of  work  items  completed  vs.  work  items  

added    Why  •  Guard  against  team  being  overwhelmed  with  work  that  can  

compromise  promise    Goal  •  Push  /  Pull  is  balanced  –  new  work  is  added  when  work-­‐in-­‐

progress  is  completed    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Push  /  Pull    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Defect  Density    

Type  -­‐  Technical  /  Code    

What  •  Percentage  of  defects  in  each  area  of  our  system  –  

determined  by  func2onality  or  code  architecture    Why    •  Iden2fy  parts  of  the  app/code  where  quality  can  be  improved    Goal  •  Data  can  help  to  iden2fy  hidden  /  unknown  tech  debt,  and/or  

unclear  development  steps  /  done  criteria    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Team  Tenure    

Type  -­‐  Team  /  People    

What  •  How  long  has  each  team  member  been  on  the  team    Why  •  Encourage  ac2vi2es  reflec2ve  of  tenure  (mentoring  for  new  

team  members,  job/knowledge  sharing  for  long-­‐standing  team  members)  

 Goal  •  Promote  whole  team  approach  and  ability  to  shik  staff  

between  teams  with  less  risk    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Flow  Efficiency    

Type  -­‐  Process  Health      

What  •  Ra2o  of  2me  spent  working  on  an  item  vs.  2me  the  item  waits    Why  •  Calibrate  Work-­‐In-­‐Progress  (WIP)  limits  to  minimize  delay  and  

promote  flow    Goal  •  Consistent  wait  /  run  ra2o  for  each  work  item,  then  increase  

efficiency    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Release  Time    

Type  -­‐  Release    

What  •  Amount  of  2me  required  to  release  the  product  to  a  

produc2on-­‐like  environment  (or  produc2on  itself)    Why  •  Establish  consensus  on  sustainable  cost/2me  for  a  produc2on  

release    Goal  •  Sufficient  automa2on  to  reduce  2me/cost  for  desired  level  of  

business  agility    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Product  Forecast    

Type  -­‐  Product  Development    

What  •  Future  trend  lines  (best-­‐case,  worst-­‐case)  based  on  historical  

performance  of  work  item  comple2on    Why  •  Predict  when  future  work  will  be  completed  using  work  item  

count    Goal  •  Stable  performance  to  allow  for  sufficient  forecas2ng    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Product  Forecast  (shown  as  burn-­‐up)    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Product  Forecast  (shown  as  interval)    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Code  Churn    

Type  -­‐  Technical  /  Code      

What  •  Number  of  lines  of  code  changed  to  complete  a  work  item    Why  •  Assess  if  the  amount  of  code  changed  is  reflec2ve  of  the  work  

item  addressed    Goal  •  Promote  whole-­‐team  understanding  of  the  code-­‐base  and  

alignment  to  agreed  upon  design  /  code  paVerns  &  standards  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Code  Churn    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Phone-­‐A-­‐Friend  Stats    

Type  -­‐  Team  /  People    

What  •  Number  of  2mes  a  former  team  member  needs  to  be  

contacted  for  assistance    Why  •  Assess  effec2veness  of  job  sharing  and  knowledge  transfer  

ac2vi2es  when  team  composi2on  changes    Goal  •  Encourage  whole-­‐team  approach  and  shared  work    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Time  Blocked  per  work  item    

Type  -­‐  Process  Health      

What  •  Amount  of  2me  that  a  work  item  was  blocked  during  its  

comple2on    Why  •  Determine  the  cost  of  delay  &  propose  proac2ve  mi2ga2ons  /  

avoidances    Goal  •  Reduc2on  in  2me  blocked  per  story  through  avoidance  and  

faster  mi2ga2on    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Time  Blocked  per  work  item    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Time  Since  Last  Release    

Type  -­‐  Release    

What  •  Amount  of  2me  since  the  team  last  released  their  product  to  

“real”  users    Why  •  Encourage  teams  to  integrate  more  user  feedback  into  

development  ac2vi2es    Goal  •  Team  is  able  to  get  sufficient  feedback  from  “real”  users  to  

build  the  “right”  product    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Product  Net  Promoter  Score    

Type  -­‐  Product  Development    

What  •  Would  you  recommend  this  product  to  a  colleague?    Why  •  Gather  simple  user  feedback  on  if  the  product  meets  user  

needs    Goal  •  Iden2fy  successful  elements  of  product  design  and  

opportuni2es  /  ideas  to  increase  user  adop2on    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Product  Net  Promoter  Score    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Code  Ownership    

Type  -­‐  Technical  /  Code    

What  •  Frequency  that  team  members  change  or  commit  to  each  

area  of  the  code  base    Why  •  Assess  and  promote  collec2ve  code  ownership    Goal  •  No  no2ceable  areas  of  the  code  where  single  team  members  

make  all  the  changes    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Whole  Team  Contribu4on    

Type  -­‐  Team  /  People    

What  •  Percentage  of  team  members  that  contribute  to  a  work  item  

throughout  its  lifecycle    Why  •  Quan2ta2ve  metric  to  assess  /  improve  whole-­‐team  approach    Goal  •  Work  items  completed  with  at  least  the  agreed  upon  

percentage  of  team  members  contribu2ng  to  them    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Blocker  Clustering    

Type  -­‐  Process  Health      

What  •  Frequency  and  grouping  of  items  that  block  work  items    Why  •  Iden2fy  largest  sources  of  delay  and  propose  common  

mi2ga2ons    Goal  •  Reduc2on  in  occurrence  of  types  of  blockers  via  proac2ve  

mi2ga2ons    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Cost  Per  Release    

Type  -­‐  Release    

What  •  The  cost  to  complete  a  sokware  release  (planned  and/or  

unplanned)    Why  •  Enable  considera2on  of  economic  factors  when  deciding  

when/if  to  release    Goal  •  Encourage  investments  to  reduce  release  cost  via  automa2on  

to  an  agreed  upon  level    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  User  Analy4cs    

Type  -­‐  Product  Development    

What  •  Iden2fy  usage  paVerns  within  the  product    Why  •  Determine  effec2veness  of  design;  look  for  emergent  usage  

paVerns  that  warrant  considera2on  for  future  investment    Goal  •  Augment  business  analysis  and  product  design  ac2vi2es  with  

actual  user  behavior    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Code  Complexity    

Type  -­‐  Technical  /  Code    

What  •  Cycloma2c  complexity  score  of  product  code  base  

determined  by  a  tool    Why  •  Promote  engineering  prac2ces  to  create  clean  code  using  

quan2ta2ve  data    Goal  •  Enable  team  to  assess  and  understand  upward/downward  

trend  of  code  complexity    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Code  Complexity    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Release  Net  Promoter  Score    

Type  -­‐  Release    

What  •  Would  you  recommend  this  product  based  on  the  new  

features  included  with  this  release?      Why  •  Determine  if  new  features  align  to  user  needs    Goal  •  Integrate  user  feedback  from  prior  releases  into  future  

enhancements;  ability  to  collect  feedback  to  improve  product  /  adop2on    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Standards  Adherence    

Type  -­‐  Technical  /  Code    

What  •  Assessment  score  of  code  alignment  to  architecture  

standards    Why  •  Promote  agreed  upon  coding  standards  to  create  clean  code    Goal  •  Enable  team  learning  to  beVer  align  code  to  agreed  upon  

design  paVerns;  iden2fy  code  that  can  be  improved  that  may  not  be  evident  by  code  review    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Standards  Adherence    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Release  adop4on  /  install  rate    

Type  -­‐  Release  /  Product  Development    

What  •  Number  of  exis2ng  users  that  have  upgraded;  Number  of  new  

users  gained  from  release    Why  •  Assess  ROI  on  product  development  and  validate  business  /  

market  assump2ons    Goal  •  ROI  meets  or  exceeds  business  assump2ons;  iden2fy  users  

that  have  not  upgraded  –  determine  why    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Metric:  Crash  Rate    

Type  -­‐  Technical  /  Code    

What  •  Log  incidents  that  cause  our  applica2on  /  product  to  crash    Why  •  Be  able  to  perform  root  cause  analysis  to  reduce  crashes    Goal  •  Gain  insights  into  product  errors  in  released  code  that  have  

significant  impacts  on  the  user  experience    

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Your  Metric  Many  @mes  the  best  measurements  are  defined  by  team  members  who  have  the  most  knowledge  of  a  specific  problem  or  challenge    

Type  -­‐  ?      

What  •  ?    Why  •  ?    Goal  •  ?  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    

Conclusion  

Next  Steps:  •  Are  you  measuring  enough  to  assess  the  impact  of  changes  /  

improvements  made?  

•  Have  a  team  discussion  and  decide  if  any  of  these  30+  metrics  (or  new  ones  you  think  up)  would  promote  beVer  self-­‐management.  

 Ques4ons  &  Contact:  Jason  Tice  –  www.asynchrony.com  @theagilefactor  –  www.theagilefactor.com  [email protected]  

©  2012,  Asynchrony  Solu2ons,  Inc.  All  rights  reserved.    ©  Copyright  2013  Asynchrony