1. What's
Agile
?
Introduc5on
to
Agile
methods
Agile
Tour
Brussels
2014
www.atbru.be
05/11/10 www.agiletour.org
2. Introduc5on
Many
of
the
coming
slides
are
the
property
of
Henrik
Kniberg.
Please
visit
his
blog
hIp://blog.crisp.se/author/
henrikkniberg
www.agiletour.org
4. Objec5ves
of
this
session
• You
understand
“what’s
Agile”
enough
to
choose
wisely
your
next
sessions
today
5. 5
Most IT projects don’t succeed
The Standish Group has studied over 40,000 projects in 10 years.
IT project success rate 1994: 15%
Average cost & time overrun: ≈170%
IT project success rate 2004: 34%
Average cost & time overrun: ≈70%
Henrik Kniberg Sources:
http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish
http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS
Plan: €1,000,000
Actual: €2,700,000
Plan: €1,000,000
Actual: €1,700,000
6. 6
We tend to build the wrong thing
Features and functions used in a typical system
Half of the stuff we
build is
never used!
Sources:
Standish group study reported at XP2002 by Jim Johnson, Chairman
Henrik Kniberg 6
Always
7%
Often
13%
Some-times
16%
Rarely
19%
Never
45%
Cost
# of features
This graph courtesy of Mary Poppendieck
7. 7
Many SW projects are like a cannon ball
Assumptions:
The customer knows what he wants
The developers know how to build it
Nothing will change along the way
Henrik Kniberg
8. 8
Agile is like a homing missile
Assumptions:
The customer discovers what he wants
The developers discover how to build it
Things change along the way
Principle #2:
Welcome changing requirements, even late in
development. Agile processes harness change
for the customer's competitive advantage.
Henrik Kniberg
9. Agile Manifesto
www.agilemanifesto.org
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Individer och interaktioner framför processer och verktyg
Working software over comprehensive documentation
Fungerande programvara framför omfattande dokumentation
Customer collaboration over contract negotiation
Kundsamarbete framför kontraktsförhandling
Responding to change over following a plan
Anpassning till förändring framför att följa en plan
That is, while there is value in the items on
the right, we value the items on the left more.
Henrik Kniberg 99
10. 10
Principles behind the Agile Manifesto
Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.
Welcome changing requirements, even late
in development. Agile processes harness
change for the customer's competitive
advantage.
Deliver working software frequently, from
a couple of weeks to a couple of months,
with a preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated
individuals. Give them the environment and
support they need, and trust them to get
the job done.
The most efficient and effective method of
conveying information to and within a
development team is face-to-face
conversation.
Working software is the primary
measure of progress.
Agile processes promote sustainable
development. The sponsors, developers,
and users should be able to maintain a
constant pace indefinitely.
Continuous attention to technical
excellence and good design enhances
agility.
Simplicity--the art of maximizing the
amount of work not done--is essential.
The best architectures, requirements,
and designs emerge from self-organizing
teams.
At regular intervals, the team reflects on
how to become more effective, then
tunes and adjusts its behavior
accordingly.
11. 11
Agile ”umbrella”
Sources:
3rd Annual ”State of Agile Development” Survey June-July 2008
• 3061 respondents
• 80 countries
Scrum XP
DSDM
FDD
Crystal
Kanban
13. 13
Timeboxing A
A A
B
(doomed to fail, but we don’t know it yet)
X Quality
X X
Quality
Henrik Kniberg
C D
Plan
Traditional scenario
Agile scenario
Week 1 Week 2 Week 3 Week 4
B
A
C D
Week 1 Week 2 Week 3 Week 4
B
Week 5 Week 6 Week 7 Week 8
A
Week 1 Week 2 Week 3 Week 4
B
Week 5 Week 6
”We will deliver ABCD in 4 weeks”
”We always deliver something every sprint (2 weeks)”
”We think we can finish ABCD in 4 weeks, but we aren’t sure”
”We always deliver the most important items first”
Oops, we’re late.
Oops, our velocity is lower than we thought.
It looks like we’ll only finish AB by week 4.
What should we do now?
Scope
Cost Time
Scope
Cost Time
E
14. 14
Typical sprint
Iteration1
Week 1 Week 2 Week 3
Timeline
Sprint-planning
Demo/Review
Retrospective
Product
Backlog
Daily
Scrum
release
PO 1.3.0
SPRINT GOAL:
Beta-ready release!
Burndown
Unplanned items
Deposit
2d
Sprint plan
(Task board / Scrum board)
Henrik Kniberg
Not
checked out Done! :o)
Write
failing
test
DAO
DB
design
Integr
test
Migration
tool
Write
failing
test
GUI
spec
Tapestry
spike
Impl.
migration
2d
Code
cleanup
2d
1d
0.5d
1d
2d
8d
1d 2d
2d
Backoffice
Login
Backoffice
User admin
Write
failing
test
3d
2d
1d
Impl
GUI
Integr.
1d with
2d
JBoss
Write
failing
test3d
Impl
GUI
6d
Clarify
require-ments
2d
GUI
design
(CSS)1d
Fix memory
leak
(JIRA 125) 2d
Sales support
3d Write
whitepaper
4d
Next
Withdr
aw
Perf
testWithdraw
checked out
Write
failing
test
15. Cross-functional,
self-organizing Team
- How much to pull in
- How to build it
- Quality
- Sustainable pace
15
Scrum overview – structure
Product owner
- Vision: Where are we going & why?
- Priorities & tradeoffs
- Release planning
Stakeholders
Henrik Kniberg PO
SM
Users
Helpdesk
Operations
Management
Product
Backlog
Sprint
Backlog
... etc ...
Team
Direct communication
Scrum Master
- Process leader/coach
- Impediment remover
17. 17
Balance the product backlog
V V
V
Too big items? Too many items? Balanced
18. 18
Product backlog
As a booker
I want to receive notifications when
new available slots appear in the
calendar
so that I don't have to keep checking
manually
Product vision
Product
Backlog
Henrik Kniberg As a <stakeholder>
I want <what>
so that <why>
As a buyer
I want to save my shopping cart
so that I can continue shopping later
(... etc ...)
Definition of Done
• Releasable
• User Acceptance tested
• Merged to Trunk
• release notes written
• No increased
technical debt
= I haven’t messed up
the codebase
GUI
Client
Server
DB
19. 19
User story
As a buyer
I want to save my shopping cart
so that I can continue shopping later
Henrik Kniberg Independent
Negotiable
Valuable
Estimable
Small
Testable
Acronym courtesy of Bill Wake – www.xp123.com
As a <stakeholder>
I want <what>
so that <why>
How to demo:
1) Enter store
2) Put a book in shopping cart
3) Press ”save cart”
4) Leave store, and enter it again
5) Check that the book is in my cart
8
C
A B C
GUI
Client
Server
DB schema
21. 21
How estimates are affected by
specification length
Spec Same spec – more pages
2007-09-28
117 hrs 173 hrs
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
22. 22
How estimates are affected by
irrelevant information
2007-09-28
20 hrs
Spec 1
A
B
C
Same spec
+ irrelevant details
A
B
C
39 hrs
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
23. How estimates are affected by anchoring
23
456 hrs
Spec
2007-09-28
Same spec
500 hrs
Never mind me
555 hrs
50 hrs
Same spec
Never mind me
99 hrs
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
25. Release planning – fixed date
• Today is Aug 6
• Sprint length = 2 weeks
• Velocity = 30 - 40
PO What will be done
by X-mas?
(10 sprints)
300
400
Scope
Quality
Cost Time
2007-09-28 25
26. Quality
Cost Time
26
What have we learned?
IT project success rate 1994: 15%
Average cost & time overrun: ≈170%
IT project success rate 2004: 34%
Average cost & time overrun: ≈70%
Henrik Kniberg “The primary reason [for the improvement]
is that projects have gotten a lot smaller.”
“Doing projects with iterative processes as opposed to
the waterfall method, which called for all project
requirements to be defined up front, is a major step
forward.”
Jim Johnson
Chairman of
Standish Group
Top 5 reasons for success
1. User involvement
2. Executive management support
3. Clear business objectives
4. Optimizing scope
5. Agile process
Scope
Sources:
http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish
http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS
”My Life is Failure”, Jim Johnson’s book
30. What is Agile all about ?
10
9
8
7
6
5
4
3
2
$1 Million
$500,000
$250,000
$125,000
$60,000
$30,000
$15,000
$7,500
$3,000
1 $1,000
B: It’s a receipt to apply to
improve your productivity
A: It’s a magical methodology.
Juste apply it and success is here
C: I don’t like this game, please
show me more Powerpoint slides !
D: It’s more a direction to follow,
not a place to reach
50:50
AGILE
31. 10
9
8
7
6
5
4
3
2
$1 Million
$500,000
$250,000
$125,000
$60,000
$30,000
$15,000
$7,500
$3,000
1 $1,000
B: It’s a receipt to apply to
improve your productivity
What is Agile all about ?
A: It’s a magical methodology.
Juste apply it and success is here
C: It’s more a direction to follow,
not a place to reach
D: It’s more a direction to follow,
not a place to reach
50:50
AGILE
33. Agile is an iterative process, that means…
3 $7,500
2 $3,000
B: Always have a fixed
Scope
D: We do first analysis, then
dev, then test
A: We don’t fix anything
C: Don’t try to get it all right
from the beginning
10
9
8
7
6
5
4
$1 Million
$500,000
$250,000
$125,000
$60,000
$30,000
$15,000
1 $1,000
50:50
Iterative
34. 10
9
8
7
6
5
4
$1 Million
$500,000
$250,000
$125,000
$60,000
$30,000
$15,000
3 $7,500
2 $3,000
1 $1,000
Agile is an iterative process, that means…
50:50
Iterative
A: We don’t fix anything B: Always have a fixed
Scope
D: We do first analysis, then
dev, then test
C: Don’t try to get it all right
from the beginning
36. What’s the top 1 reason for the success
5 $30,000
4 $15,000
3 $7,500
2 $3,000
B: Having a good lawyer
D: Optimizing Scope of the
project
of a project
A: User involvment
C: A good technical team
10
9
8
7
6
$1 Million
$500,000
$250,000
$125,000
$60,000
1 $1,000
50:50
Success
37. 10
9
8
7
6
$1 Million
$500,000
$250,000
$125,000
$60,000
5 $30,000
4 $15,000
3 $7,500
2 $3,000
1 $1,000
Success
What’s the top 1 reason for the success
50:50
of a project
A: User involvment
B: Having a good lawyer
D: Optimizing Scope of the
project
C: A good technical team
39. 7 $125,000
6 $60,000
5 $30,000
4 $15,000
3 $7,500
2 $3,000
B: Estimation is easy if you
are an expert
D: Just ask them when it will be
done !
Agile estimating means
A: How many man-days do we need
to finish the project ?
C: Relative estimates -> Velocity ->
Then derive a plan
10
9
8
$1 Million
$500,000
$250,000
1 $1,000
50:50
Estimation
40. 10
9
8
$1 Million
$500,000
$250,000
7 $125,000
6 $60,000
5 $30,000
4 $15,000
3 $7,500
2 $3,000
1 $1,000
50:50
Estimation
Agile estimating means
B: Estimation is easy if you
are an expert
D: Just ask them when it will be
done !
A: How many man-days do we need
to finish the project ?
C: Relative estimates -> Velocity ->
Then derive a plan
42. 10 $1 Million
9 $500,000
8 $250,000
7 $125,000
6 $60,000
5 $30,000
4 $15,000
3 $7,500
2 $3,000
1 $1,000
D: I still can’t understand your
English dude…
What’s a retrospective ?
A: It’s when we demonstrate the
final product to the stakeholders
C: When we discuss how much
we can put in a Sprint
B: The moment where an Agile
team work on his continuous
improvement
50:50
Retrospective
43. 10 $1 Million
9 $500,000
8 $250,000
7 $125,000
6 $60,000
5 $30,000
4 $15,000
3 $7,500
2 $3,000
1 $1,000
50:50
Retrospective
D: I still can’t understand your
English dude…
A: It’s when we demonstrate the
final product to the stakeholders
C: When we discuss how much
we can put in a Sprint
B: The moment where an Agile
team work on his continuous
improvement
What’s a retrospective ?