Call Girls in Malviya Nagar Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts Ser...
What is-agile henrik kniberg august 20 2013
1. Author
Father
Agile & Lean coach
www.crisp.se
Consultant
Henrik Kniberg
henrik.kniberg@crisp.se
@HenrikKniberg
What is Agile?
August 20, 2013
(& more...)
2. Henrik Kniberg
Boring but important practical info about these slides
Usage
Feel free to use slides & pictures as you wish, as long as you leave my name somewhere.
For licensing details see Creative Commons (http://creativecommons.org/licenses/by/3.0/)
Downloading the right font
This presentation uses the ”Noteworthy” font. If you’re using Mac OSX 10.7 or later it should be
preinstalled. If you’re on a Windows or older Mac OS then you need to download the font from here:
http://tinyurl.com/noteworthy-ttc
• On Windows right-click the font file and select ”install”. Then restart Powerpoint.
• On Mac, double-click the font file and press ”install font”. Then restart Powerpoint.
The PDF version of these slides has the font embedded, so you don’t need to do anything. On the other
hand you don’t get the fancy animations.
Font test
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
How the font shows up on your computer:How the font is supposed to look:
(screenshot from my computer)
Regardless of font appearance, if that text doesn’t fit nicely into
the box then you’re going to need to download the right font, or
switch to a new font and fiddle with the slides to make sure
things fit.
3. Early delivery of business value
Henrik Kniberg
Less bureaucracy
Why?
How?
(Thanks Alistair Cockburn for this simplified definition of Agile)
Agile is...
4. All products / features start with a Great Idea!
Henrik Kniberg
6. Long projects get Longer
Henrik Kniberg
Longer project
More likely to
get interrupted
More scope
creep
7. Most IT projects fail. And are late.
Henrik Kniberg
IT project success rate 1994:
15%
Average cost & time overrun: ≈170%
IT project success rate 2004:
34%
Average cost & time overrun: ≈70%
The Standish Group has studied over 40,000 projects in 10 years.
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
8. We tend to build the wrong thing
Henrik Kniberg
Sources:
Standish group study reported at XP2002 by Jim Johnson, Chairman
The right-hand graph is courtesy of Mary Poppendieck
Always
7%
Often
13%
Some-
times
16%
Rarely
19%
Never
45%
Features and functions used in a typical system
Half of the
stuff we build
is never used!
Cost
# of features
11. Big Bang = cannon ball
Henrik Kniberg
Assumptions:
• The customer knows what he wants
• The developers know how to build it
• Nothing will change along the way
13. Agile = homing missile
Henrik Kniberg
Assumptions:
• The customer discovers what he wants
• The developers discover how to build it
• Things change along the way
14. Henrik Kniberg
14
Agile Manifesto
www.agilemanifesto.org
We are uncovering better ways of developing
software by doing it and helping others do it.
Feb 11-13, 2001
Snowbird ski resort, Utah
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
15. Henrik Kniberg
15
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.
16. 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.
17. Agile ”umbrella” –
a family of iterative, incremental methods
Sources:
3rd Annual ”State of Agile Development” Survey June-July 2008
• 3061 respondents
• 80 countries
Scrum
XP
DSDM
FDD
Crystal
Kanban
19. Agile = Iterative + Incremental
Henrik Kniberg
Don’t try to get it all right
from the beginning
Don’t build it all at once
cost
value
cost
value
RISK
26. How estimates are affected by specification
length
117 hrs 173 hrs
Spec
Same spec – more pages
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006Henrik Kniberg
27. How estimates are affected by
irrelevant information
20 hrs
Spec 1
A
B
C
Same spec
+ irrelevant details
A
B
C
39 hrs
Henrik Kniberg
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
28. How estimates are affected by
extra requirements
4 hrs
Spec 1
A
B
C
D
Spec 2
A
B
C
D
E
4 hrs
Spec 3
A
B
C
D
E
8 hrs
Henrik Kniberg
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
29. How estimates are affected by anchoring
456 hrs
Spec
500 hrs
Never mind me
Same spec
555 hrs
50 hrs
Never mind me
Same spec
99 hrs
Henrik Kniberg
Source: How to avoid impact from irrelevant and misleading info
on your cost estimates, Simula research labs estimation seminar,
Oslo, Norway, 2006
30. Velocity
to know the future, you need to know the past
Henrik Kniberg
When will we
get there?
We are
here
Our steps
so far
36. Fixed scope forecast
Henrik Kniberg
Delivered
features
Date
When will all of
this be done?
Around week
27-30
37. Fixed time forecast
Henrik Kniberg
Date
What will be done
by Christmas?
Some of
these
All of
these
Delivered
features
38. Fixed time & scope forecast
Henrik Kniberg
Date
Can we get
all of THIS
done...
Delivered
features
....by
Christmas?
No. That is
unrealistic.
39. Fixed time & scope forecast
Henrik Kniberg
Date
Delivered
features
We can get THIS
much done by
Christmas
...and the rest done
by February.
No. That is
unrealistic.
41. Henrik Kniberg
41
41
Total
# of
delivered
features
Week
Example: Release planning using a burnup chart
All of these
will be done
Some of these
will be done,
but not all
None of these
will be done
44. Henrik Kniberg
Option 1: Ignore the size difference.
It evens out over time.
Done!
Velocity per week
45. Option 2: Estimate relative feature Size.
Henrik Kniberg
Delivered
features
Date
1
4
2
1
1
Delivered
Story points
Week 1
Velocity:
5 story points
Week 2
Velocity:
4 story points
Week 3
Velocity:
4 story points
46. Two different questions: Size & Time
Henrik Kniberg
1: What is weight of
each stone?
2 kg
4 kg
1 kg
1 kg
200 kg / hour
2: What is our
delivery capacity?
47. Agile estimating strategy
• Don’t estimate time.
• Estimate relative size of features.
• Measure velocity per sprint.
• Derive release plan.
• (Scrum rule) Estimates done by the people who are going to do the work.
• Not by the people who want the work done.
• Estimate & reestimate continuously during project
• Don’t trust early estimates
• Prefer verbal communication over detailed, written specifications.
• Avoid false precision
• Better to be roughly right
than precisely wrong
Henrik Kniberg
http://planningpoker.crisp.se
48. Cost control without time reports
Henrik Kniberg
1 sprint = 200,000kr
(salary cost of 5 people for 2 weeks)
1story point = 20,000kr
(200,000kr / 10 story points)
1 story point = 5 mandays
(50 mandays / 10 story points)
Feature
Size
Cost
Cost
Delete user
3 sp
15
mandays
60,000kr
PDF export
2 sp
10
mandays
40,000kr
Outlook
integration
8 sp
40
mandays
160,000kr
Average velocity:
10 story points per sprint
Mon
Tue
Wed
Thu
Fri
Mon
Tue
Wed
Thu
Fri
Sprint length: 2 weeks
Team size: 5 people
Better to be Roughly Right
than Precisely Wrong
50. Features have different value
(and value is independent of size)
Henrik Kniberg
2 minute standup discussion (pair/trio):
• Give a real-life example of a feature that is
small and very valuable
• Give a real-life example of a feature that is
large and not very valuable.
Weight: 1 gram
Value: 100 000 kr
Weight: 2000 grams
Value: 5 kr
2:001:591:581:571:561:551:541:531:521:511:501:491:481:471:461:451:441:431:421:411:401:391:381:371:361:351:341:331:321:311:301:291:281:271:261:251:241:231:221:211:201:191:181:171:161:151:141:131:121:111:101:091:081:071:061:051:041:031:021:011:000:590:580:570:560:550:540:530:520:510:500:490:480:470:460:450:440:430:420:410:400:390:380:370:360:350:340:330:320:310:300:290:280:270:260:250:240:230:220:210:200:190:180:170:160:150:140:130:120:110:100:090:080:070:060:050:040:030:020:01Done
52. Less is More
Henrik Kniberg
Antoine de Saint-Exupery
Perfection is attained,
not when there is nothing more to add,
but when there is nothing left to take away
58. Don’t give the team a Solution to Build
Henrik Kniberg
OK
Build a
Bridge
59. Give the team a Problem to Solve
Henrik Kniberg
Options:
• Bridge
• Ferry
• Tunnel
• Move the
villages together
We need to get to the
other village without
getting wet.
OK
?
60. Always include the Why
Henrik Kniberg
As online buyer
I want to save my shopping cart
so that I can continue shopping later
As X
I want Y
so that Z
61. Improving the Value Curve
Henrik Kniberg
Big Bang
Big increments
Small increments
Highest value first
$
$
$
$
$
$
$$$$
To Do
Done
62. A
Henrik Kniberg
C D
Timeboxing
A
Plan
Big Bang scenario
Agile scenario
Week 1 Week 2 Week 3 Week 4
B
C D
A
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
A B
”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”
(doomed to fail, but we don’t know it yet)
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
Quality
Scope
Cost Time
Quality
X X
X
E
63. Focus on Feedback!
Delivery frequency = Speed of learning
Henrik Kniberg
Feedback
and
Requests
Demos
and
Releases
Development team
Stakeholders
It is not the strongest
species that survive, nor
the most intelligent, but
the ones most responsive
to change.
Charles Darwin
64. Reduced Risk
Big
Bang
Agile reduces risk
Henrik Kniberg
Agile
Date
Total
delivered
value
Business risk
Social risk
Cost & schedule risk
Technical risk
65. Big
Bang
Agile
Faster learning = Higher value
Henrik Kniberg
Date
Total
delivered
value
Higher value
Value = Knowledge Value + Customer Value
67. Resource optimization vs Time-to-market optimzation
Henrik Kniberg
C
Specialists
C
D
T
S
Cross-functional team
User needs
Specialized tasks
D
T
S
Resource optimization
Time-to-market optimization
68. Cross-functional teams
are vertical
Henrik Kniberg
Client team
C
C
C
Test team
T
T
T
DB team
D
D
D
Server team
S
S
S
Feature team 1
C
C
S
D
T
T
C
S
D
T
Feature team 2
D
S
DB
Server
Client
User
Communities
of interest
70. PO
PO
PO
Tribe
Tribe lead
PO
PO
PO
PO
Tribe
Chapter
Chapter
Tribe lead
PO
Chapter
Chapter
Guild
Spotify
71. Cultivating a Great Team
• Colocated
• Small (3-7 ppl)
• Self-organizing
• Cross-functional
• Clear mission & product owner
• Empowered to deliver
• Direct contact with users & stakeholders
• Focused. No multitasking.
• Transparent
Henrik Kniberg
Big team working hard
Small team working smart
72. Week 1
v1.0
Week 2
v1.1
Week 3
v1.2
Multiple teams working together
Henrik Kniberg
Weekly release train
Team
backlogs
Continuous
integration
Product
backlog
73. Releasing must be REALLY easy
Henrik Kniberg
Req
Code
Test
Release!
Release = Drama!
Release = Routine
74. Why we get stuck in Big Bang thinking
Releasing is
cheap & safe
Release
often
Releasing is
expensive & risky
Release
seldom
Henrik Kniberg
75. The team balances long-term and short-term work
Henrik Kniberg
Mon
Tue
Wed
Thu
Fri
Mon
Tue
Wed
Thu
Fri
Prototyping
Feature
development
Manual testing
Meetings
Bug fix
Architecture
Infrastructure
Test automation
Long term focus
Short term focus
76. sprint 1
sprint 2
sprint 3
The team Limits work to capacity
Henrik Kniberg
Our capacity is
about 5 features
per sprint
We CAN do
more if we
sacrifice
quality
But we
don’t.
Which 5 shall we
do next?
... and knows how to say No
77. The team continuously experiments
and gradually improves it’s way of working
• Driven from the bottom
• Supported from the top
Henrik Kniberg
Velocity
Quality
Motivation
Effectiveness
Speed
Value
... etc ...
81. Cross-functional teams
Henrik Kniberg
81
Dave
Joe
Lisa
Dave
Joe
Lisa
January
February
March
April
May
June
July
6 months
3 months
Release
Release
We’re alot faster!
I’m a bit
slower
We’re slow!
I’m fast!
82. Portfolio-level board
Next
Develop
Bingo
1
FLOW Avg lead time: weeks12
Release
Done
2Concept
Playable
Features
Polish
3
Zork
Pac
man
Pong
Donkey
Kong
Mine
sweeper
Dugout
Duck
hunt
Game
Team
1
Game
Team
2
Game
Team
3
Solitaire
83. Game
teams
Burndown
Unplanned
items
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
Deposit
2d1d 0.5d
1d
2d
8d
1d
2d
2d
Backoffice
Login
Backoffice
User
admin
Write
failing
test
3d
2d
1d
2d
Impl
GUI
1dIntegr.
with
JBoss
2d
Write
failing
test
3d
Impl
GUI
6d
Clarify
require-
ments
2d
GUI
design
(CSS)
1d
Fix memory
leak
(JIRA 125)2d
Sales support
3d Write
whitepaper
4d
SPRINT
GOAL:
Beta-‐ready
release!
Next
WithdrawPerf
test
Withdraw
checked
out
Write
failing
test
Game team 1
Current game: Pac Man
Burndown
Unplanned
items
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
Deposit
2d1d 0.5d
1d
2d
8d
1d
2d
2d
Backoffice
Login
Backoffice
User
admin
Write
failing
test
3d
2d
1d
2d
Impl
GUI
1dIntegr.
with
JBoss
2d
Write
failing
test
3d
Impl
GUI
6d
Clarify
require-
ments
2d
GUI
design
(CSS)
1d
Fix memory
leak
(JIRA 125)2d
Sales support
3d Write
whitepaper
4d
SPRINT
GOAL:
Beta-‐ready
release!
Next
WithdrawPerf
test
Withdraw
checked
out
Write
failing
test
Game team 2
Current game: Pong
Burndown
Unplanned
items
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
Deposit
2d1d 0.5d
1d
2d
8d
1d
2d
2d
Backoffice
Login
Backoffice
User
admin
Write
failing
test
3d
2d
1d
2d
Impl
GUI
1dIntegr.
with
JBoss
2d
Write
failing
test
3d
Impl
GUI
6d
Clarify
require-
ments
2d
GUI
design
(CSS)
1d
Fix memory
leak
(JIRA 125)2d
Sales support
3d Write
whitepaper
4d
SPRINT
GOAL:
Beta-‐ready
release!
Next
WithdrawPerf
test
Withdraw
checked
out
Write
failing
test
Game team 2
Current game: Donkey Kong
85. 10,000 person-years of experience
Henrik Kniberg
Communication!
Especially between
Developers and Users
86. What have we learned?
Henrik Kniberg
86
“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.”
IT project success rate 1994:
15%
Average cost & time overrun: 170%
IT project success rate 2004:
34%
Average cost & time overrun: 70%
“The primary reason [for the improvement]
is that projects have gotten a lot smaller.”
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
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
Scope
Cost
Time
87. Minimize distance between Maker and User
Henrik Kniberg
1
2
3
People
(# of handoffs)
Time
(feedback delay)
Maker
User
88. Minimize distance between Maker and User
Henrik Kniberg
2 minute standup discussion (pair/trio):
• Think of any ongoing project
• What is the distance between Developer & User?
• What can YOU do to reduce the distance?
People
(# of
handoffs)
0
1
2
3
4
5
Time (Feedback delay)
minutes
hours
days
weeks
months
years
Maker
User
1
2
3
People
(# of handoffs)
Time
(Feedback delay)
2:001:591:581:571:561:551:541:531:521:511:501:491:481:471:461:451:441:431:421:411:401:391:381:371:361:351:341:331:321:311:301:291:281:271:261:251:241:231:221:211:201:191:181:171:161:151:141:131:121:111:101:091:081:071:061:051:041:031:021:011:000:590:580:570:560:550:540:530:520:510:500:490:480:470:460:450:440:430:420:410:400:390:380:370:360:350:340:330:320:310:300:290:280:270:260:250:240:230:220:210:200:190:180:170:160:150:140:130:120:110:100:090:080:070:060:050:040:030:020:01Done
90. The price of agile
(there is no such thing as a free lunch....)
• Infrastructure Investments
(release automation, test automation, etc)
• Reorganization
(new roles, cross-functional teams, etc)
• New skills
(Vertical story-slicing, retrospectives, agile architecture, etc)
• New habits
(Frequent customer interaction, frequent release, less specialization)
• Transparancy
(problems and uncertainty painfully visible rather than hidden)
Henrik Kniberg
Avoid Big-Bang
transformation!
Do it gradually.
91. Big is Bad!
Break it down!
• Big project => Several small projects
• Big feature => Several small features
• Big team => Several small teams
• Big transformation => Several small transformations
Henrik Kniberg
92. Early delivery of business value
Henrik Kniberg
Less bureaucracy
(Thanks Alistair Cockburn for this simplified definition of Agile)
Agile is...
93. 3 concrete changes
1. Make Real Teams
• small, cross-functional, self-organizing, colocated
2. Deliver Often
• internally every 3 weeks at most
• externally every quarter at most
3. Involve Real Users
• direct and fast feedback between the team and the users
Henrik Kniberg
...gradually...
94. Agile is a direction, not a place
Henrik Kniberg
The important thing is not your process.
The important thing is
your process for improving your process
1. Make Real Teams
• small, cross-functional, self-organizing, colocated
2. Deliver Often
• internally every 3 weeks at most
• externally every quarter at most
3. Involve Real Users
• direct and fast feedback between the team and the users