Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sprint backlog specified by example

4,267 views

Published on

Published in: Technology

Sprint backlog specified by example

  1. 1. Sprint Backlog Specified by Example Ralph Jocham  www.effec'veagile.com   effective agile. ralph@effec*veagile.com          @rjocham  
  2. 2. Ralph Jocham •  •  •  •  •  •  •  •  Started as programmer; discovered process as a problem early on First Unified Process with UML Agile since 2000 with XP Scrum in 2003 Oracle, LinkedIn, Roche, Google, The Gap, Swisscom, Texas Instruments, Siemens Medical, ThoughtWorks, JPMorganChase Did come around, different cultures and domains Founder of effective agile. Trainer and Engagement Manager with
  3. 3. Right Quality – No! Interpret  Spec   to  Design  and     Code  System   Code   and   Executable   Images   So4ware   Spec   Match?   Interpret  Spec   to  Design  and     Script  Test  Cases   Test   Spec   And   Scripts   (source:  Mary  Poppendieck)   effective agile. 16  November  2012   3
  4. 4. Right Quality – Yes! So;ware   Spec   Define  Spec   Details   Incrementally   as  Tests   and  Scripts   Implement   incrementally   to  sa'sfy  the   next  test    plus     all  those  from     previous   increments   If  you  want  effec've  programmers,  you  will  discover  that  they   should  not  waste  their  'me  debugging  –  they  should  not  introduce   bugs  to  start  with  (Edger  W.  Dijakstra  1972)   effective agile. 16  November  2012   Code   and   Executable   Images   (source:  Mary  Poppendieck)   4
  5. 5. What is the Product Backlog The  Product  Backlog  lists  all  features,   func*ons,  requirements,   enhancements,  and  bug  fixes  that   cons*tute  the  changes  to  be  made  to   the  product  in  future  releases.  Product   Backlog  items  have  the  aTributes  of  a   descrip*on,  order,  and  es*mate.     Scrum  Guide  Page  12   effective agile. 16  November  2012   5
  6. 6. What is a Sprint Backlog The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. Scrum  Guide  Page  14   effective agile. 16  November  2012   6
  7. 7. Roles, Artifacts and Events in Action Review   Roles   Product  Owner   Development  Team   Scrum  Master       Retrospec*ve   Daily   Scrum   Ar*facts   Product  Backlog   Sprint  Backlog   Increment       Events   Sprint  Planning   Sprint   Daily  Scrum   Sprint  Review   Retrospec*ve   Sprint   Planning   Mee*ng   Sprint   Backlog   Increment   Sprint   Product   Backlog   ScrumMaster   (source:  ADM)   effective agile. 16  November  2012   7
  8. 8. Product  Backlog   Product Backlog Item Sprint  Backlog Plan Product Backlog Item Product  Backlog  Item Task Task Task Product Backlog Item Product  Backlog  Item Task Task Task Product  Backlog  Item Task Task Task Product Backlog Item Product Backlog Item Product Backlog Item Product Backlog Item Product Backlog Item effective agile. 16  November  2012   8
  9. 9. effective agile. 16  November  2012   9
  10. 10. Right Quality – Yes! So;ware   Spec   Define  Spec   Details   Incrementally   as  Tests   and  Scripts   and  Examples   Implement   incrementally   to  sa'sfy  the   next  test    plus     all  those  from     previous   increments   Code   and   Executable   Images   (source:  Mary  Poppendieck)   effective agile. 16  November  2012   10
  11. 11. 3 C‘s Customer  Unit  /  Developer  Unit  /  Tester  Unit   Card Conversation (Understand the Why) Confirmation Ron Jeffries, hTp://xprogramming.com/ar*cles/expcardconversa*onconfirma*on/   effective agile. 16  November  2012   11
  12. 12. Agile Testing Quadrants Business-­‐Facing     Automated  /            Manual   Func*onal  Tests   Story  Tests   Integra*on  Tests   Exploratory  Tes*ng   Usability  Tes*ng   User  Acceptance  Tes*ng   Q2   Q3   Q1   Q4   Unit  Test   Component  Tests   Performance  &  Load  Tes*ng   Security  Tes*ng   ‚ility‘  Tes*ng     Automated   Cri*que  Product  ?  Process   Suppor*ng  the  Team   Manual              Tools   Technology-­‐Facing   (source:  Brian  Marick)   effective agile. 16  November  2012   12
  13. 13. Agile Testing Quadrants Business-­‐Facing     Automated  /            Manual   Manual   Suppor*ng  the  Team   Acceptanc e  Cri Exploratory  Tes*ng   Usability  Tes*ng   User  Acceptance  Tes*ng   teria   HOTW   n   Unit   est   Component  Tests   ifica*o Ver Q2   Q3   Q1   Q4   Performance  &  Load  Tes*ng     Security  Tes*ng   ‚ility‘  Tes*ng     Automated   NFR Cri*que  Product  ?  Process   What   Func*onal  Tests   ValStory  Ton ida*ests     Integra*on  Tests                Tools   Technology-­‐Facing   (source:  Brian  Marick)   effective agile. 16  November  2012   13
  14. 14. Agile Testing Quadrants Business-­‐Facing     Automated  /            Manual   Func*onal  Tests   Story  Tests   Integra*on  Tests   Here  lies  the  power  of  the   Exploratory  Tes*ng   Usability  Tes*ng   &   User  Acceptance  Tes*ng   to  drive  out  the  examples   Triad   3  C’s   Q2   Q3   Q1   Q4   Unit  Test   Component  Tests   Performance  &  Load  Tes*ng   Security  Tes*ng   ‚ility‘  Tes*ng     Automated   Cri*que  Product    ?  Process   Suppor*ng  the  Team   Manual              Tools   Technology-­‐Facing   (source:  Brian  Marick)   effective agile. 16  November  2012   14
  15. 15. Customer   Developer   Tester   Product  Owner   effective agile. 16  November  2012   15
  16. 16. How to get there effective agile. 16  November  2012   16
  17. 17. Title:  Derive  race  *me  for  new        distance  from  other  distance   effective agile. 16  November  2012   17
  18. 18. Title:  Derive  race  *me  for  new        distance  from  other  distance   As  a     I  want     So  that   3    runner    to  be  able  to  derive  the  race  *me  for  a  new  distance  based  on    the  *me  of  another  distance    I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan    my  training   effective agile. 16  November  2012   18
  19. 19. Title:  Derive  race  *me  for  new        distance  from   Acceptance  Criteria:   other  distance   3     As  a   Calculated  *me  is  correctly  rounded  to  1  second  for  all  distances    runner   •    of  less  then  1  hour  racing  *me   I  want  to  be  able  to  iderive  the  race  *me  for  0    seconds  for  all   ased  on   •  Calculated  *me   s  correctly  rounded  to  1 a new  distance  b   distances  of  of  another  distance   *me    the  *me   more  the  1  hour  racing     •  Time  of  calcula*on  is  <  1  second   So  that  I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan      my  training   effective agile. 16  November  2012   19
  20. 20. Title:  Derive  race  *me  for  new        distance  from   Acceptance  Criteria:   other  distance   5     As  a   Calculated  *me  is  correctly  rounded  to  1  second  for  all  distances    runner   •    of  less  then  1  hour  racing  *me   I  want  to  be  able  to  iderive  the  race  *me  for  0    seconds  for  all   ased  on   •  Calculated  *me   s  correctly  rounded  to  1 a new  distance  b   distances  of  of  another  distance   *me    the  *me   more  the  1  hour  racing     •  Time  of  calcula*on  is  <  1  second   So  that  I  can  gallowed  extrapolated  dme  to  expect  and  to  beTer  plan   •  Maximal   et  a  feeling  for  what  * istance  is  Marathon      my  training   •  McMillan  is  the  used  algorithm   •  We  have  a  license  agreement  with  McMillan   effective agile. 16  November  2012   20
  21. 21. 5   Title:  Derive  race  *me  for  new        distance  from   Acceptance  Criteria:   other  distance     Examples:              Formula  Examples   As  a   Calculated  *me  is  correctly  rounded  to  the  second  for  all    runner   •    5K   2K   3K   5K   10K   15K   20K   ½  M   25K   30K   1M       distances  of  less  then  1  hour  racing  *me   0:15.00   0:05.29   0:08.33   0:15.00   0:31.09   0:48.16   1:05.40   1:09:30   1:23.30   1:41.30   2:26.10     I  want 0:20.00   be  able  to  iderive  the  race  *me  for    a  econds  for  all  distances    to   0:07.19   me   s  correctly  rounded  to  2 s new  distance  based  on   •    Calculated  * 0:11.23   0:20.00   0:41.32   1:04.30   1:27.40   1:32.40   1:51.20   2:15.20   3:15.00     0:30.00   *me  of  another  distance    the   0:10.50   hour   acing  1:02.20     of  more  the  1  0:17.04   r0:30.00   *me   1:36.40   2:11.20   2:19.00   2:47.00   3:23.00   4:52.20   10K   3K   5K   10K   15K   20K   ½  M   25K   30K   1M     •    Time  of  2K  alcula*on  is  <  1  second   c   0:16.51   2:44.20   So  that0:35.00  an  get  a  0:09.35  extrapolated  *me  to  expect  and  t1:33.50   1:54.00  lan    I  c 0:06.09   feeling  for   0:35.00   0:54.14   1:13.50   1:18.10   o   hat   •    Maximal  allowed   0:19.16   w0:40.00   distance  is  Marathon  beTer  p 3:07.40   0:40.00   0:07.03   0:10.58   1:02.00   1:24.20   1:29.10   1:47.10   2:10.20    my  training       0:50.00   0:08.48   0:13.42   0:24.05   0:50.00   1:17.30   5K   -­‐10K   0K   42.195K   42.196K   5000K   0:15.00   F:  nega*ve   F:  zero   2:26.10   F:  too  long   1:45.30   1:51.30   F:  too  long     •             Error  Examples  license  agreement  with  McMillan   We  have  a   -­‐1K   0K   F:  zero   2:43.00   3:54.40   42.196K   F:  nega*ve   2:14.00   F:  nega*ve   effective agile. 16  November  2012   21
  22. 22. V-Model Acceptance  Test   Requirements   Architecture   Integra*on  Test   Detailed  Design   Code   effective agile. 26-­‐Oct-­‐13   System  Test   Unit  Test   22
  23. 23. V-Model? Acceptance  Test   Requirements   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   effective agile. 26-­‐Oct-­‐13   Unit  Test   23
  24. 24. V-Model? Requirements   Architecture   Detailed  Design   Code   Unit  Test   System  Test   Integra*on  Test   Acceptance  Test   effective agile. 26-­‐Oct-­‐13   24
  25. 25. V-Model Logically Applied Requirements   Acceptance  Test   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   Unit  Test   effective agile. 26-­‐Oct-­‐13   25
  26. 26. V-Model Timely Applied Requirements   Acceptance  Test   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   Unit  Test   effective agile. 26-­‐Oct-­‐13   26
  27. 27. V-Model Timely Applied in Sprint 1  Sprint   Requirements   Acceptance  Test   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   Unit  Test   effective agile. 26-­‐Oct-­‐13   27
  28. 28. effective agile. 16  November  2012   28
  29. 29. acceptance   effective agile. 16  November  2012   29
  30. 30. effective agile. 30
  31. 31. effective agile. 31
  32. 32. effective agile. 32
  33. 33. effective agile. 33
  34. 34. effective agile. 34
  35. 35. effective agile. 35
  36. 36. “As  formality  increases,  tests  and   requirements  become  indis*nguishable.   At  the  limit,  tests  and  requirements  are   equivalent.”     Robert  C.  Mar*n,  Grigori  Melnik:  Tests  and  Requirements,  Requirements  and  Tests:  A   Mobius  Strip.  IEEE  So4ware  25  (1):  54-­‐59  (2008)   effective agile. 16  November  2012   36
  37. 37. UI   Tooling Business   Domain   Persistence   •  JUnit  for  Unit  Tes*ng   Q2   Q1   Q3   Q4   Q2   Q3   •  JUnit  Acceptance  Tes*ng   Q1   Q4   •  FitNesse  for  Acceptance  Tes*ng   •  Excel  and  POI  in  combina*on  with  JUnit  for   Acceptance  Tes*ng   effective agile. 16  November  2012   37
  38. 38. ATDD to TDD Create  User   Story   Grooming/Sprint   Planning  (3  C’s)   Create  failing  Unit  Test   Acceptance  Criteria  /   Specifica*on  by   Example   TDD   Make  test  pass   Refactor   For  each   Acceptance   Criteria  /  Example   Demonstrate  /   Review  working   so4ware   effective agile. 16  November  2012   Create  failing   Acceptance  Test   Test  passes  criteria   (source:  David  Starr)   38
  39. 39. Review   Retrospec*ve   Daily   Scrum   Sprint   Planning   Mee*ng   Sprint   Backlog   Increment   Sprint   Product   Backlog   Create  User   Story   Create  failing   Unit  Test   Acceptance   Criteria  /   Examples  by   Specifica*on   For  each   Acceptance   Criteria  /   Example   (source:  ADM)   effective agile. 16  November  2012   TDD   Create  failing   Acceptance  Test   Make  test  pass   Refactor   Test  passes   criteria   Demonstrate  /   Review  working   so4ware   39
  40. 40. Questions? Ralph Jocham  www.effec'veagile.com   effective agile. ralph@effec*veagile.com     effective agile. 16  November  2012    @rjocham   40

×