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. 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 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. 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
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
16. How to get there
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
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 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
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