Sprint Backlog
Specified by
Example
Ralph Jocham

	
  www.effec'veagile.com	
  

effective agile.

ralph@effec*veagile.com	
  
	
  

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

9
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
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
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
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
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
Customer	
   Developer	
   Tester	
  
Product	
  Owner	
  

effective agile.
16	
  November	
  2012	
  

15
How to get there

effective agile.
16	
  November	
  2012	
  

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

effective agile.
16	
  November	
  2012	
  

17
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
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
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
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
V-Model
Acceptance	
  Test	
  

Requirements	
  

Architecture	
  

Integra*on	
  Test	
  

Detailed	
  Design	
  

Code	
  

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

System	
  Test	
  

Unit	
  Test	
  

22
V-Model?
Acceptance	
  Test	
  

Requirements	
  

Architecture	
  

Integra*on	
  Test	
  

Detailed	
  Design	
  

System	
  Test	
  

Code	
  

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

Unit	
  Test	
  

23
V-Model?
Requirements	
  

Architecture	
  

Detailed	
  Design	
  

Code	
  

Unit	
  Test	
  

System	
  Test	
  

Integra*on	
  Test	
  

Acceptance	
  Test	
  

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

24
V-Model Logically Applied
Requirements	
  

Acceptance	
  Test	
  

Architecture	
  

Integra*on	
  Test	
  

Detailed	
  Design	
  

System	
  Test	
  

Code	
  

Unit	
  Test	
  

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

25
V-Model Timely Applied
Requirements	
  

Acceptance	
  Test	
  

Architecture	
  

Integra*on	
  Test	
  

Detailed	
  Design	
  

System	
  Test	
  

Code	
  

Unit	
  Test	
  

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

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

28
acceptance	
  

effective agile.
16	
  November	
  2012	
  

29
effective agile.

30
effective agile.

31
effective agile.

32
effective agile.

33
effective agile.

34
effective agile.

35
“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
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
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
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
Questions?

Ralph Jocham

	
  www.effec'veagile.com	
  

effective agile.

ralph@effec*veagile.com	
  

	
  
effective agile.
16	
  November	
  2012	
  

	
  @rjocham	
  
40

Sprint backlog specified by example

  • 1.
    Sprint Backlog Specified by Example RalphJocham  www.effec'veagile.com   effective agile. ralph@effec*veagile.com          @rjocham  
  • 2.
    Ralph Jocham •  •  •  •  •  •  •  •  Started asprogrammer; 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.
    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.
    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.
    What is theProduct 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.
    What is aSprint 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.
    Roles, Artifacts andEvents 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.
    Product  Backlog   ProductBacklog 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.
  • 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.
    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.
    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.
    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.
    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.
    Customer   Developer   Tester   Product  Owner   effective agile. 16  November  2012   15
  • 16.
    How to getthere effective agile. 16  November  2012   16
  • 17.
    Title:  Derive  race  *me  for  new        distance  from  other  distance   effective agile. 16  November  2012   17
  • 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.
    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.
    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.
    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.
    V-Model Acceptance  Test   Requirements   Architecture   Integra*on  Test   Detailed  Design   Code   effective agile. 26-­‐Oct-­‐13   System  Test   Unit  Test   22
  • 23.
    V-Model? Acceptance  Test   Requirements   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   effective agile. 26-­‐Oct-­‐13   Unit  Test   23
  • 24.
    V-Model? Requirements   Architecture   Detailed  Design   Code   Unit  Test   System  Test   Integra*on  Test   Acceptance  Test   effective agile. 26-­‐Oct-­‐13   24
  • 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.
    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.
    V-Model Timely Appliedin Sprint 1  Sprint   Requirements   Acceptance  Test   Architecture   Integra*on  Test   Detailed  Design   System  Test   Code   Unit  Test   effective agile. 26-­‐Oct-­‐13   27
  • 28.
  • 29.
    acceptance   effective agile. 16  November  2012   29
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 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.
    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.
    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.
    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.
    Questions? Ralph Jocham  www.effec'veagile.com   effective agile. ralph@effec*veagile.com     effective agile. 16  November  2012    @rjocham   40