© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
ADAPTing to Agile
for
Continued Success
Agile 2010 - Orlando
August 13, 2010
Mike Cohn
mike@mountaingoatsoftware.com
1
© Copyright Mountain Goat Software®
®
Expectations
2
© Copyright Mountain Goat Software®
®
The OO-Agile connection
Agile is the second wave of objects
This is why so many Manifesto authors were
early OOD / OOP advocates:
Kent Beck
Alistair Cockburn
Ward Cunningham
Bob Martin
Dave Thomas
etc.
3
© Copyright Mountain Goat Software®
®
Looking back at OO
Some said the OO revolution failed because:
Objects didn’t achieve their full purpose
Being enamored with objects prevented us
from looking for even better ways to build
software
Businesses were led to expect miracles
Yet: Could today’s applications be written
without objects?
4
© Copyright Mountain Goat Software®
®
2005
2009
2010
2.4M
6M
10M
Lines of Code in FordVehicles
100M Average
luxury car
20M Navigation system
in 2009 S-Class
Mercedes
5
© Copyright Mountain Goat Software®
®
Agile teams are 5–10x better.
1
What expectations do we have of
agile today that could lead us to
look back on it and call it a failure?
There is a certain set of things you
need to do or you aren’t agile.
2
Becoming agile is easy.
3
6
© Copyright Mountain Goat Software®
®
Very few teams have achieved the gains that
some teams have shown are possible
Expectation #1:Agile is 5–10x better
We can point to 5x and 10x
success stories
These are the companies
that did everything right
But these aren’t the norm
7
© Copyright Mountain Goat Software®
®
Salesforce.com
+61%
+94%
+38%
+568%
Improvement in mean time to
release for major releases
Increase in features delivered
in major releases
Increase in features delivered
per developer
Increase in major release
cumulative value
Source: Scrum Gathering,April 16, 2008.
8
© Copyright Mountain Goat Software®
®
Defects per KNCSS
ePlan Services
10Three years prior
to introducing agile
2.9First nine months
after starting agile
Productivity (NCSS / month)
270US average
389Three years prior
to introducing agile
1206First nine months
after starting agile
9
© Copyright Mountain Goat Software®
®
Cosmodemonic Biotech
Waterfall Agile
Use Case pages
User Stories
Calendar months
Person months
Lines of Java code
Lines of Java code
per person-month
3,000
1,400
9 12
540 54
58,000 51,000
120 840
10
© Copyright Mountain Goat Software®
®
Pre-XP XP Improvement
Cost
Schedule
Defects
$2.8
million
$1.1
million
61%
18 months
13.5
months
24%
2,270 381 83%
18 11 39%
Source:“10 Tips for Successful Agile Transitions,” Joshua Kerievsky, QCon 2007.
At http://www.infoq.com/presentations/10-tips-for-agile-transitions
Improvements using Extreme Programming
11
© Copyright Mountain Goat Software®
®
Many teams miss the mark
Either don’t do “all” of agile or don’t do it well
“We do Scrum, but…”
“we do 3-month sprints.”
“we don’t have anything
shippable at the end of
each sprint.”
“we do testing in a
separate sprint.”
Expectation #2:Agile is “this” set of things
12
© Copyright Mountain Goat Software®
®
It’s not about strict adherence
Meet daily
Test first
Integrate
continuously
Inspect
and
Adapt
13
© Copyright Mountain Goat Software®
®
Expectation #3: Doing agile is easy
Most claims are realistic
“Although agile processes promise greater productivity once
in place, productivity may decrease during the transition while
the team learns new techniques.” 1
“Mastery” in two days
“Maybe we need to say,‘Agile is hard, and you can’t master it
by sitting through a two-day course.’” 2
But there are some promises of miracles:
“Current research shows that any team can achieve hyper-
productivity in a few sprints, even in a dysfunctional
company.”3
1Cohn and Ford,“Introducing an Agile Process to an Organization,” IEEE Computer, June 2003.
2James Shore, http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html
3Jeff Sutherland, http://scrumjeffsutherland.blogspot.com/2009/12/jeff-sutherland-google-dec-14-2009.html.
14
© Copyright Mountain Goat Software®
®
Project Size
Productivity
Smaller Larger
Lower
Higher
+/- 1 Standard deviation
Industry average
Agile projects
So let’s see what the truth is
Mah, Michael. 2008.“How agile projects measure up, and what this means
to you.” Cutter Consortium
15
© Copyright Mountain Goat Software®
®
Mah, Michael. 2008.“How agile projects measure up, and what this means
to you.” Cutter Consortium
Agile projects
Project Size
Time-to-Market
Smaller Larger
Lower
Higher
Industry average
+/- 1 Standard Deviation
16
© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
®
Will agile continue to “fail” against these
expectations?
Of course, if that means
Not all companies become
5–10x better
Being done half-heartedly
in some places
It will continue to be hard to do
17
© Copyright Mountain Goat Software®
®
But these are inappropriate measures of
success
Agile is not something you become,
it’s something you become more of.
18
© Copyright Mountain Goat Software®
®
Becoming more than you are
I’m more
used to be
You’re more
am
She is
19
© Copyright Mountain Goat Software®
®
Succeeding with agile
Success in agile is about becoming better
than we were
Stop obsessing over being perfect
20
© Copyright Mountain Goat Software®
®
How do we get there?
We raise the bar on one another
21
© Copyright Mountain Goat Software®
®
Raising the bar–slowly but steadily
22
© Copyright Mountain Goat Software®
®
23
© Copyright Mountain Goat Software®
®
Continuing to raise the bar on one another
24
© Copyright Mountain Goat Software®
®
This idea used to
bother me
25
© Copyright Mountain Goat Software®
®
It’s still about continuous improvement
26
© Copyright Mountain Goat Software®
®
Awareness that there is room for
improvement
A
Desire to changeD
Ability to work in an agile mannerA
Promote early successes to build
momentum and get others to follow
P
Transfer the impact of agile throughout the
organization so that it sticks
T
27
© Copyright Mountain Goat Software®
®
“I’m the ScrumMaster and ...
...the developers are not meeting expectations for
code quality.
One of our challenges is that we’re still hacking
our way through lots of legacy code that isn’t unit-
testable or automated yet.This code is mission-
critical and the person who has been working
mostly on that area of code consistently leaves
holes in the design and implementation of new
pieces of that code.
How can I get her to write high-quality code with
automated tests?”
28
© Copyright Mountain Goat Software®
®
Individual and group change
All individuals will need to move through the
Awareness, Desire, and Ability stage
But will do so at different rates
Early adapters and leaders:
Use the Promote stage to build Awareness
and Desire in later adopters
Need to Transfer the impact of agile to groups
like Human Resources or the transition will
fail
29
© Copyright Mountain Goat Software®
®
Tools for building...
Awareness
Communicate that there’s a problem
Use metrics
Provide exposure to new people and experiences
Focus attention on the most important reason or
two for changing
30
© Copyright Mountain Goat Software®
®
Tools for building...
Desire
Communicate that there’s a better way
Create a sense of urgency
Build momentum
Get the team to take agile for a test drive
Align incentives (or, at least, remove disincentives)
Focus on addressing any fears
Help people let go
Don’t discredit the past
Engage everyone in the transition
31
© Copyright Mountain Goat Software®
®
Waterfallacies
Mistaken beliefs or ideas about agile created
from working too long on waterfall projects.
Examples
Agile ignores architecture,
which would be disastrous for
the type of system we build.
Agile is OK for simple
websites, but our system is too
complicated.
Our team is spread around the
world, and agile requires face-
to-face communication.
32
© Copyright Mountain Goat Software®
®
Ability
Provide coaching and training
Hold individuals accountable
Share information
Set reasonable targets
Just do it
Promote
Publicize success stories
Host an agile safari
Attract attention
33
© Copyright Mountain Goat Software®
®
Transfer
Transfer the effects of agile beyond the current group
A team transfers to its department
A department transfers to its division
etc.
If you don’t transfer, the transition will eventually and
inevitably fail
Too much organizational gravity pulling us back toward the
status quo
Example:
If you don’t align promotions, raises, annual reviews, those
will work against you
34
© Copyright Mountain Goat Software®
®
Iterating toward agility
35
© Copyright Mountain Goat Software®
®
Enterprise Transition Community
(ETC)
Improvement
backlog
Improvement Communities
Improvement
backlog
Improvement
backlog
Improvement
backlog
Impediments
Energy, suppport, resources,
guidance, & direction (occasionally)
Iterating toward agility
36
© Copyright Mountain Goat Software®
®
Enterprise Transition Community (ETC)
Creates a culture in which passion and
desire to improve can thrive
Does not direct the transition effort
Provides energy, resources, support and
guidance
Removes organizational impediments to agility
Encourages Improvement Communities to
form
37
© Copyright Mountain Goat Software®
®
ETC members
Sponsor
From highest level at which change is
supported
Not a checkbook-only commitment
Others
From any level but driven by desire to
improve
Disbands when the “transition” part of
adopting agile is over
38
© Copyright Mountain Goat Software®
®
ETC responsibilities
Articulate the reasons for adopting agile
Stimulate conversation
Provide resources
Engage everyone
Set appropriate aspirations
Anticipate and address people issues and other
impediments
Encourage simultaneous focus on practices and
principles
39
© Copyright Mountain Goat Software®
®
An ETC’s improvement backlog
Item Who Note
teams can get help.
Jim (CTO) to talk this up at
monthly development meeting.
Let’s see if there’s any interest.
Establish an internal program
for developing ScrumMasters.
How do we identify good
internal candidates? How do we
develop them?
Collect and disseminate Scrum
success stories in our company.
SC
Savannah has expressed interest
in this.
Resolve dispute with facilities
cubicles.
JS Jim to talk to Ursula in facilities
Get more teams to do
continuous integration.
AR
Arie will summarize metrics
from his project and see how
many teams he can motivate.
40
© Copyright Mountain Goat Software®
®
Improvement communities (ICs)
Form around the passion of a small number
of people
Expand from there
Do the real work of improving how the
organization implements agile
Focus on goals with practical relevance
Examples:
ScrumMaster,Testing, Product Owner,
Continuous Integration
41
© Copyright Mountain Goat Software®
®
Working with an IC
An IC works with a project team
Work is not done in an ivory tower
Most ICs work in 2–4-week iterations
Disband or refocus when goal has been
achieved
42
© Copyright Mountain Goat Software®
®
ETC Improvement
Backlog
…
Establish an internal
program for developing
ScrumMasters.
…
Not everything on an
IC’s improvement
backlog needs to tie
back to the ETC’s
backlog
An IC Improvement Backlog
Figure out how to identify good
candidates to become ScrumMasters (in
addition to those who ask to participate
in this program).
Establish an internal mentoring program.
Develop some internal classroom
training.Which courses? Who can teach
them? Can we license courses?
Get budget for next year for external
coaching. How many days? At what
expected daily rate?
43
© Copyright Mountain Goat Software®
®
improvement backlog
passionate people to attack improvement
backlog items
Return here next year more agile than you
are today
Let’s see how soon we can make it “software
development” instead of “Agile Software
Development”
1
2
3
4
44
© Copyright Mountain Goat Software®
®
Mike Cohn
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
twitter: mikewcohn
(888) 61−AGILE
45

ADAPTing to Agile for Continued Success

  • 1.
    © 2009 MountainGoat Software© Copyright Mountain Goat Software® ADAPTing to Agile for Continued Success Agile 2010 - Orlando August 13, 2010 Mike Cohn mike@mountaingoatsoftware.com 1
  • 2.
    © Copyright MountainGoat Software® ® Expectations 2
  • 3.
    © Copyright MountainGoat Software® ® The OO-Agile connection Agile is the second wave of objects This is why so many Manifesto authors were early OOD / OOP advocates: Kent Beck Alistair Cockburn Ward Cunningham Bob Martin Dave Thomas etc. 3
  • 4.
    © Copyright MountainGoat Software® ® Looking back at OO Some said the OO revolution failed because: Objects didn’t achieve their full purpose Being enamored with objects prevented us from looking for even better ways to build software Businesses were led to expect miracles Yet: Could today’s applications be written without objects? 4
  • 5.
    © Copyright MountainGoat Software® ® 2005 2009 2010 2.4M 6M 10M Lines of Code in FordVehicles 100M Average luxury car 20M Navigation system in 2009 S-Class Mercedes 5
  • 6.
    © Copyright MountainGoat Software® ® Agile teams are 5–10x better. 1 What expectations do we have of agile today that could lead us to look back on it and call it a failure? There is a certain set of things you need to do or you aren’t agile. 2 Becoming agile is easy. 3 6
  • 7.
    © Copyright MountainGoat Software® ® Very few teams have achieved the gains that some teams have shown are possible Expectation #1:Agile is 5–10x better We can point to 5x and 10x success stories These are the companies that did everything right But these aren’t the norm 7
  • 8.
    © Copyright MountainGoat Software® ® Salesforce.com +61% +94% +38% +568% Improvement in mean time to release for major releases Increase in features delivered in major releases Increase in features delivered per developer Increase in major release cumulative value Source: Scrum Gathering,April 16, 2008. 8
  • 9.
    © Copyright MountainGoat Software® ® Defects per KNCSS ePlan Services 10Three years prior to introducing agile 2.9First nine months after starting agile Productivity (NCSS / month) 270US average 389Three years prior to introducing agile 1206First nine months after starting agile 9
  • 10.
    © Copyright MountainGoat Software® ® Cosmodemonic Biotech Waterfall Agile Use Case pages User Stories Calendar months Person months Lines of Java code Lines of Java code per person-month 3,000 1,400 9 12 540 54 58,000 51,000 120 840 10
  • 11.
    © Copyright MountainGoat Software® ® Pre-XP XP Improvement Cost Schedule Defects $2.8 million $1.1 million 61% 18 months 13.5 months 24% 2,270 381 83% 18 11 39% Source:“10 Tips for Successful Agile Transitions,” Joshua Kerievsky, QCon 2007. At http://www.infoq.com/presentations/10-tips-for-agile-transitions Improvements using Extreme Programming 11
  • 12.
    © Copyright MountainGoat Software® ® Many teams miss the mark Either don’t do “all” of agile or don’t do it well “We do Scrum, but…” “we do 3-month sprints.” “we don’t have anything shippable at the end of each sprint.” “we do testing in a separate sprint.” Expectation #2:Agile is “this” set of things 12
  • 13.
    © Copyright MountainGoat Software® ® It’s not about strict adherence Meet daily Test first Integrate continuously Inspect and Adapt 13
  • 14.
    © Copyright MountainGoat Software® ® Expectation #3: Doing agile is easy Most claims are realistic “Although agile processes promise greater productivity once in place, productivity may decrease during the transition while the team learns new techniques.” 1 “Mastery” in two days “Maybe we need to say,‘Agile is hard, and you can’t master it by sitting through a two-day course.’” 2 But there are some promises of miracles: “Current research shows that any team can achieve hyper- productivity in a few sprints, even in a dysfunctional company.”3 1Cohn and Ford,“Introducing an Agile Process to an Organization,” IEEE Computer, June 2003. 2James Shore, http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html 3Jeff Sutherland, http://scrumjeffsutherland.blogspot.com/2009/12/jeff-sutherland-google-dec-14-2009.html. 14
  • 15.
    © Copyright MountainGoat Software® ® Project Size Productivity Smaller Larger Lower Higher +/- 1 Standard deviation Industry average Agile projects So let’s see what the truth is Mah, Michael. 2008.“How agile projects measure up, and what this means to you.” Cutter Consortium 15
  • 16.
    © Copyright MountainGoat Software® ® Mah, Michael. 2008.“How agile projects measure up, and what this means to you.” Cutter Consortium Agile projects Project Size Time-to-Market Smaller Larger Lower Higher Industry average +/- 1 Standard Deviation 16
  • 17.
    © 2009 MountainGoat Software© Copyright Mountain Goat Software® ® Will agile continue to “fail” against these expectations? Of course, if that means Not all companies become 5–10x better Being done half-heartedly in some places It will continue to be hard to do 17
  • 18.
    © Copyright MountainGoat Software® ® But these are inappropriate measures of success Agile is not something you become, it’s something you become more of. 18
  • 19.
    © Copyright MountainGoat Software® ® Becoming more than you are I’m more used to be You’re more am She is 19
  • 20.
    © Copyright MountainGoat Software® ® Succeeding with agile Success in agile is about becoming better than we were Stop obsessing over being perfect 20
  • 21.
    © Copyright MountainGoat Software® ® How do we get there? We raise the bar on one another 21
  • 22.
    © Copyright MountainGoat Software® ® Raising the bar–slowly but steadily 22
  • 23.
    © Copyright MountainGoat Software® ® 23
  • 24.
    © Copyright MountainGoat Software® ® Continuing to raise the bar on one another 24
  • 25.
    © Copyright MountainGoat Software® ® This idea used to bother me 25
  • 26.
    © Copyright MountainGoat Software® ® It’s still about continuous improvement 26
  • 27.
    © Copyright MountainGoat Software® ® Awareness that there is room for improvement A Desire to changeD Ability to work in an agile mannerA Promote early successes to build momentum and get others to follow P Transfer the impact of agile throughout the organization so that it sticks T 27
  • 28.
    © Copyright MountainGoat Software® ® “I’m the ScrumMaster and ... ...the developers are not meeting expectations for code quality. One of our challenges is that we’re still hacking our way through lots of legacy code that isn’t unit- testable or automated yet.This code is mission- critical and the person who has been working mostly on that area of code consistently leaves holes in the design and implementation of new pieces of that code. How can I get her to write high-quality code with automated tests?” 28
  • 29.
    © Copyright MountainGoat Software® ® Individual and group change All individuals will need to move through the Awareness, Desire, and Ability stage But will do so at different rates Early adapters and leaders: Use the Promote stage to build Awareness and Desire in later adopters Need to Transfer the impact of agile to groups like Human Resources or the transition will fail 29
  • 30.
    © Copyright MountainGoat Software® ® Tools for building... Awareness Communicate that there’s a problem Use metrics Provide exposure to new people and experiences Focus attention on the most important reason or two for changing 30
  • 31.
    © Copyright MountainGoat Software® ® Tools for building... Desire Communicate that there’s a better way Create a sense of urgency Build momentum Get the team to take agile for a test drive Align incentives (or, at least, remove disincentives) Focus on addressing any fears Help people let go Don’t discredit the past Engage everyone in the transition 31
  • 32.
    © Copyright MountainGoat Software® ® Waterfallacies Mistaken beliefs or ideas about agile created from working too long on waterfall projects. Examples Agile ignores architecture, which would be disastrous for the type of system we build. Agile is OK for simple websites, but our system is too complicated. Our team is spread around the world, and agile requires face- to-face communication. 32
  • 33.
    © Copyright MountainGoat Software® ® Ability Provide coaching and training Hold individuals accountable Share information Set reasonable targets Just do it Promote Publicize success stories Host an agile safari Attract attention 33
  • 34.
    © Copyright MountainGoat Software® ® Transfer Transfer the effects of agile beyond the current group A team transfers to its department A department transfers to its division etc. If you don’t transfer, the transition will eventually and inevitably fail Too much organizational gravity pulling us back toward the status quo Example: If you don’t align promotions, raises, annual reviews, those will work against you 34
  • 35.
    © Copyright MountainGoat Software® ® Iterating toward agility 35
  • 36.
    © Copyright MountainGoat Software® ® Enterprise Transition Community (ETC) Improvement backlog Improvement Communities Improvement backlog Improvement backlog Improvement backlog Impediments Energy, suppport, resources, guidance, & direction (occasionally) Iterating toward agility 36
  • 37.
    © Copyright MountainGoat Software® ® Enterprise Transition Community (ETC) Creates a culture in which passion and desire to improve can thrive Does not direct the transition effort Provides energy, resources, support and guidance Removes organizational impediments to agility Encourages Improvement Communities to form 37
  • 38.
    © Copyright MountainGoat Software® ® ETC members Sponsor From highest level at which change is supported Not a checkbook-only commitment Others From any level but driven by desire to improve Disbands when the “transition” part of adopting agile is over 38
  • 39.
    © Copyright MountainGoat Software® ® ETC responsibilities Articulate the reasons for adopting agile Stimulate conversation Provide resources Engage everyone Set appropriate aspirations Anticipate and address people issues and other impediments Encourage simultaneous focus on practices and principles 39
  • 40.
    © Copyright MountainGoat Software® ® An ETC’s improvement backlog Item Who Note teams can get help. Jim (CTO) to talk this up at monthly development meeting. Let’s see if there’s any interest. Establish an internal program for developing ScrumMasters. How do we identify good internal candidates? How do we develop them? Collect and disseminate Scrum success stories in our company. SC Savannah has expressed interest in this. Resolve dispute with facilities cubicles. JS Jim to talk to Ursula in facilities Get more teams to do continuous integration. AR Arie will summarize metrics from his project and see how many teams he can motivate. 40
  • 41.
    © Copyright MountainGoat Software® ® Improvement communities (ICs) Form around the passion of a small number of people Expand from there Do the real work of improving how the organization implements agile Focus on goals with practical relevance Examples: ScrumMaster,Testing, Product Owner, Continuous Integration 41
  • 42.
    © Copyright MountainGoat Software® ® Working with an IC An IC works with a project team Work is not done in an ivory tower Most ICs work in 2–4-week iterations Disband or refocus when goal has been achieved 42
  • 43.
    © Copyright MountainGoat Software® ® ETC Improvement Backlog … Establish an internal program for developing ScrumMasters. … Not everything on an IC’s improvement backlog needs to tie back to the ETC’s backlog An IC Improvement Backlog Figure out how to identify good candidates to become ScrumMasters (in addition to those who ask to participate in this program). Establish an internal mentoring program. Develop some internal classroom training.Which courses? Who can teach them? Can we license courses? Get budget for next year for external coaching. How many days? At what expected daily rate? 43
  • 44.
    © Copyright MountainGoat Software® ® improvement backlog passionate people to attack improvement backlog items Return here next year more agile than you are today Let’s see how soon we can make it “software development” instead of “Agile Software Development” 1 2 3 4 44
  • 45.
    © Copyright MountainGoat Software® ® Mike Cohn mike@mountaingoatsoftware.com www.mountaingoatsoftware.com twitter: mikewcohn (888) 61−AGILE 45