sprint backlog specified by example

40
Sprint Backlog Specified by Example Ralph Jocham www.effec’veagile.com effective agile. ralph@effec*veagile.com @rjocham

Upload: agora-group

Post on 10-May-2015

529 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Sprint backlog specified by example

Sprint Backlog Specified by

Example

Ralph Jocham  www.effec'veagile.com  

effective agile. ralph@effec*veagile.com          @rjocham  

Page 2: Sprint backlog specified by example

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

Page 3: Sprint backlog specified by example

Right Quality – No!

So4ware  Spec  

Test  Spec  And  Scripts  

Code  and  

Executable  Images  

Interpret  Spec  to  Design  and    Code  System  

Interpret  Spec  to  Design  and    Script  Test  Cases  

Match?  

(source:  Mary  Poppendieck)  

16  November  2012  effective agile. 3

Page 4: Sprint backlog specified by example

Right Quality – Yes!

So;ware  Spec  

Code  and  

Executable  Images  

Define  Spec  Details  

Incrementally  as  Tests  

and  Scripts  

Implement  incrementally  to  sa'sfy  the  next  test    plus    all  those  from    previous  increments  

(source:  Mary  Poppendieck)  

16  November  2012  effective agile. 4

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)  

Page 5: Sprint backlog specified by example

What is the Product Backlog

16  November  2012  effective agile. 5

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  

Page 6: Sprint backlog specified by example

What is a Sprint Backlog

16  November  2012  effective agile. 6

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  

Page 7: Sprint backlog specified by example

Roles, Artifacts and Events in Action

16  November  2012  effective agile. 7

Roles  Product  Owner  Development  Team  Scrum  Master      

Ar*facts  Product  Backlog  Sprint  Backlog  Increment      

Events  Sprint  Planning  Sprint  Daily  Scrum  Sprint  Review  Retrospec*ve  

Product  Backlog  

Sprint  Planning  Mee*ng  

Sprint  Backlog   Sprint  

Increment  

Review  

Retrospec*ve  

Daily  Scrum  

ScrumMaster  

(source:  ADM)  

Page 8: Sprint backlog specified by example

16  November  2012  effective agile. 8

PlanSprint  Backlog

TaskTask

TaskTask

TaskTaskProduct  Backlog  Item Task

Product  Backlog  Item

Product  Backlog  Item

Task

Task

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product Backlog Item

Product  Backlog  

Page 9: Sprint backlog specified by example

16  November  2012  effective agile. 9

Page 10: Sprint backlog specified by example

Right Quality – Yes!

So;ware  Spec  

Code  and  

Executable  Images  

Define  Spec  Details  

Incrementally  as  Tests  

and  Scripts  

Implement  incrementally  to  sa'sfy  the  next  test    plus    all  those  from    previous  increments  

(source:  Mary  Poppendieck)  

16  November  2012  effective agile. 10

and  Examples  

Page 11: Sprint backlog specified by example

16  November  2012  effective agile. 11

Ron Jeffries, hTp://xprogramming.com/ar*cles/expcardconversa*onconfirma*on/  

3 C‘s

Customer  Unit  /  Developer  Unit  /  Tester  Unit  

Card Conversation (Understand the Why) Confirmation

Page 12: Sprint backlog specified by example

Agile Testing Quadrants

Unit  Test  Component  Tests  

Q1  

Func*onal  Tests  Story  Tests  

Integra*on  Tests  

Q2  

Performance  &  Load  Tes*ng  Security  Tes*ng  ‚ility‘  Tes*ng  

Q4  

Business-­‐Facing  

Technology-­‐Facing  

Supp

or*n

g  the  Team

 Cri*que  Product  ?  Process  

(source:  Brian  Marick)  

16  November  2012  effective agile. 12

Exploratory  Tes*ng  Usability  Tes*ng  

User  Acceptance  Tes*ng  

Q3  Q1  Q2  

Q4  Q3  

 

Automated  /    Manual  

       Manual  

           Tools  

 Automated  

Page 13: Sprint backlog specified by example

Agile Testing Quadrants

Func*onal  Tests  Story  Tests  

Integra*on  Tests  

Unit  Test  Component  Tests  

Exploratory  Tes*ng  Usability  Tes*ng  

User  Acceptance  Tes*ng  

Performance  &  Load  Tes*ng  Security  Tes*ng  ‚ility‘  Tes*ng  

Q1  Q2   Q3  

Q4  

Business-­‐Facing  

Technology-­‐Facing  

Supp

or*n

g  the  Team

 Cri*que  Product  ?  Process  

 Automated  

       Manual  

           Tools  

 

Automated  /    Manual  

HOW  Verifica*

on  

(source:  Brian  Marick)  

16  November  2012  effective agile. 13

What  Valida*on  

 Acceptance  Criteria  

NFR  

Page 14: Sprint backlog specified by example

Agile Testing Quadrants

Func*onal  Tests  Story  Tests  

Integra*on  Tests  

Unit  Test  Component  Tests  

Exploratory  Tes*ng  Usability  Tes*ng  

User  Acceptance  Tes*ng  

Performance  &  Load  Tes*ng  Security  Tes*ng  ‚ility‘  Tes*ng  

Q1  Q2   Q3  

Q4  

Business-­‐Facing  

Technology-­‐Facing  

Supp

or*n

g  the  Team

 Cri*que  Product    ?  Process  

 Automated  

       Manual  

           Tools  

 

Automated  /    Manual  

(source:  Brian  Marick)  

16  November  2012  effective agile. 14

Func*onal  Tests  Story  Tests  

Integra*on  Tests  

Q2  

Here  lies  the  power  of  the  

Triad  &  3  C’s  to  drive  out  the  examples  

Page 15: Sprint backlog specified by example

16  November  2012  effective agile. 15

Product  Owner  

Customer   Tester  Developer  

Page 16: Sprint backlog specified by example

How to get there

16  November  2012  effective agile. 16

Page 17: Sprint backlog specified by example

16  November  2012  effective agile. 17

Title:  Derive  race  *me  for  new        distance  from  other  distance  

Page 18: Sprint backlog specified by example

16  November  2012  effective agile. 18

3  As  a    runner    I  want  to  be  able  to  derive  the  race  *me  for  a  new  distance  based  on  

   the  *me  of  another  distance    So  that  I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan  

   my  training  

Title:  Derive  race  *me  for  new        distance  from  other  distance  

Page 19: Sprint backlog specified by example

16  November  2012  effective agile. 19

3  As  a    runner    I  want  to  be  able  to  derive  the  race  *me  for  a  new  distance  based  on  

   the  *me  of  another  distance    So  that  I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan  

   my  training  

Title:  Derive  race  *me  for  new        distance  from  other  distance  Acceptance  Criteria:    •  Calculated  *me  is  correctly  rounded  to  1  second  for  all  distances  

of  less  then  1  hour  racing  *me  •  Calculated  *me  is  correctly  rounded  to  10  seconds  for  all  

distances  of  more  the  1  hour  racing  *me  •  Time  of  calcula*on  is  <  1  second  

Page 20: Sprint backlog specified by example

16  November  2012  effective agile. 20

5  As  a    runner    I  want  to  be  able  to  derive  the  race  *me  for  a  new  distance  based  on  

   the  *me  of  another  distance    So  that  I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan  

   my  training  

Title:  Derive  race  *me  for  new        distance  from  other  distance  Acceptance  Criteria:    •  Calculated  *me  is  correctly  rounded  to  1  second  for  all  distances  

of  less  then  1  hour  racing  *me  •  Calculated  *me  is  correctly  rounded  to  10  seconds  for  all  

distances  of  more  the  1  hour  racing  *me  •  Time  of  calcula*on  is  <  1  second  •  Maximal  allowed  extrapolated  distance  is  Marathon  

•  McMillan  is  the  used  algorithm  •  We  have  a  license  agreement  with  McMillan  

Page 21: Sprint backlog specified by example

16  November  2012  effective agile. 21

5  As  a    runner    I  want  to  be  able  to  derive  the  race  *me  for  a  new  distance  based  on  

   the  *me  of  another  distance    So  that  I  can  get  a  feeling  for  what  *me  to  expect  and  to  beTer  plan  

   my  training  

Title:  Derive  race  *me  for  new        distance  from  other  distance  Acceptance  Criteria:    •  Calculated  *me  is  correctly  rounded  to  the  second  for  all  

distances  of  less  then  1  hour  racing  *me  •  Calculated  *me  is  correctly  rounded  to  2  seconds  for  all  distances  

of  more  the  1  hour  racing  *me  •  Time  of  calcula*on  is  <  1  second  •  Maximal  allowed  extrapolated  distance  is  Marathon  

•  We  have  a  license  agreement  with  McMillan  

Examples:              Formula  Examples                                  Error  Examples  

5K   2K   3K   5K   10K   15K   20K   ½  M   25K   30K   1M  

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  

0:20.00   0:07.19   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   0:10.50   0:17.04   0:30.00   1:02.20   1:36.40   2:11.20   2:19.00   2:47.00   3:23.00   4:52.20  

10K   2K   3K   5K   10K   15K   20K   ½  M   25K   30K   1M  

0:35.00   0:06.09   0:09.35   0:16.51   0:35.00   0:54.14   1:13.50   1:18.10   1:33.50   1:54.00   2:44.20  

0:40.00   0:07.03   0:10.58   0:19.16   0:40.00   1:02.00   1:24.20   1:29.10   1:47.10   2:10.20   3:07.40  

0:50.00   0:08.48   0:13.42   0:24.05   0:50.00   1:17.30   1:45.30   1:51.30   2:14.00   2:43.00   3:54.40  

5K   -­‐10K   0K   42.195K   42.196K   5000K  

0:15.00   F:  nega*ve   F:  zero   2:26.10   F:  too  long   F:  too  long  

-­‐1K  

F:  nega*ve  

0K  

F:  zero  

42.196K  

F:  nega*ve  

Page 22: Sprint backlog specified by example

V-Model

26-­‐Oct-­‐13  effective agile. 22

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

Page 23: Sprint backlog specified by example

V-Model?

26-­‐Oct-­‐13  effective agile. 23

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

Page 24: Sprint backlog specified by example

V-Model?

26-­‐Oct-­‐13  effective agile. 24

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

Page 25: Sprint backlog specified by example

V-Model Logically Applied

26-­‐Oct-­‐13  effective agile. 25

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

Page 26: Sprint backlog specified by example

V-Model Timely Applied

26-­‐Oct-­‐13  effective agile. 26

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

Page 27: Sprint backlog specified by example

V-Model Timely Applied in Sprint

26-­‐Oct-­‐13  effective agile. 27

Requirements  

Architecture  

Detailed  Design  

Code  

Acceptance  Test  

Integra*on  Test  

System  Test  

Unit  Test  

1  Sprint  

Page 28: Sprint backlog specified by example

16  November  2012  effective agile. 28

Page 29: Sprint backlog specified by example

16  November  2012  effective agile. 29

acceptance  

Page 30: Sprint backlog specified by example

effective agile. 30

Page 31: Sprint backlog specified by example

effective agile. 31

Page 32: Sprint backlog specified by example

effective agile. 32

Page 33: Sprint backlog specified by example

effective agile. 33

Page 34: Sprint backlog specified by example

effective agile. 34

Page 35: Sprint backlog specified by example

effective agile. 35

Page 36: Sprint backlog specified by example

16  November  2012  effective agile. 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)  

Page 37: Sprint backlog specified by example

Tooling

•  JUnit  for  Unit  Tes*ng  

•  JUnit  Acceptance  Tes*ng  •  FitNesse  for  Acceptance  Tes*ng  •  Excel  and  POI  in  combina*on  with  JUnit  for  Acceptance  Tes*ng  

16  November  2012  effective agile. 37

Q1   Q4  Q3  Q2  

Q1   Q4  Q3  Q2  

UI  

Business  

Domain  

Persistence  

Page 38: Sprint backlog specified by example

16  November  2012  effective agile. 38

ATDD to TDD

Create  User  Story  

Acceptance  Criteria  /  Specifica*on  by  

Example  

Grooming/Sprint  Planning  (3  C’s)  

Test  passes  criteria  

Create  failing  Unit  Test  

Make  test  pass  

Refactor  

TDD  

Create  failing  Acceptance  Test  For  each  

Acceptance  Criteria  /  Example  

Demonstrate  /  Review  working  

so4ware  

(source:  David  Starr)  

Page 39: Sprint backlog specified by example

16  November  2012  effective agile. 39

Product  Backlog  

Sprint  Planning  Mee*ng  

Sprint  Backlog   Sprint  

Increment  

Review  

Retrospec*ve  

Daily  Scrum  

(source:  ADM)  

Create  failing  Unit  Test  

Make  test  pass  

Refactor  

TDD  

Create  User  Story  

Acceptance  Criteria  /  

Examples  by  Specifica*on  

Test  passes  criteria  

Create  failing  Acceptance  Test  

For  each  Acceptance  Criteria  /  Example  

Demonstrate  /  Review  working  

so4ware  

Page 40: Sprint backlog specified by example

Questions?

16  November  2012  effective agile. 40

Ralph Jocham  www.effec'veagile.com  

effective agile. ralph@effec*veagile.com      @rjocham