So, Now You’re
an Agilist...
So, Now You’re
an Agilist...
What’s
Next?
Jurgen Appelo
jurgen@noop.nl
version 3
Jurgen Appelo
writer, speaker,
entrepreneur...
www.jurgenappelo.com
A. psychological profiles
B. leaders vs. rulers
C. organization types
D. organizational structures
E. risk management
F. organizational optimization
G. adaptive methods
H. non-linear improvement
J. tuning process dependencies
K. classification of methods
Agile... what’s next?
My ideas, taken from complexity science
photo by blumpy
disclaimer: this is a...
(I sometimes change my opinion)
photo by Randy Son of Robert
complexity
what is it?
complex systems are
self-organized
photo by judepics
photo by ClintJCL
complex systems show
emergent behavior
photo by DavidHR
complex systems behave
in a non-linear way
photo by Noël Zia Lee
(many) complex systems are
adaptive
“For example, an ant colony, the brain, the
immune system, a Scrum team, and New
York City, are self-organizing systems.”
- Ken Schwaber
Agile Software Development with Scrum
“At the heart of complex adaptive systems
theory’s relevance to software development
is the concept of emergence, and the
factors leading to emergent results.”
- Jim Highsmith
Adaptive Software Development
some books I read…
The 12 Laws of Software Development
Reduce Risk
Measure Performance
Evaluate Feedback
Acquire Knowledge
Manage Uncertainty
Evolve Practices
Motivate People
Empower Teams
Align Results
Optimize Communication
Enforce Discipline
Restrain Growth
which led me to “discover”…
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
a complex system
? :
Agents
Connections
Rules
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#1: the agents must be active
photo by MikeBlogs
The 1st Law of Software Development
Motivate People
diversity
brings robustness and flexibilityphoto by woodleywonderworks
what motivates one
demotivates another
Don’t agree?
There exists a selection of practices for
which the sum of people’s motivational
balances is optimal.
therefore...
“In a software project the optimal method
is a function of the psychological profiles
of its team members.”
Agreed?
A
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#2: the system controls itself
photo by Andrew Mason
The 2nd Law of Software Development
Empower Teamsphoto by Elvire.R.
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#3: the system is unaligned
?
? ?
?
unaligned self-organizationphoto by aviplot
aligned self-organizationphoto by john w
The 3rd Lawof Software Development
Align Resultsphoto by The Wandering Angel
self-organization
this was the result of…
photo by hive
photo by Mike Licht
and this too…
ordered complex chaotic
empowerment alignment
ordered organizations need empowerment
chaotic organizations need alignment
The Edge of Chaos
Don’t agree?Agreed?
“How to implement agile depends on
whether you come from an ordered or
a chaotic situation.”
C
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#4: the agents communicate
photo by woodleywonderworks
Optimize Communication
The 4th Law of Software Development
photo by foxypar4
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#5: the agents stick to rules
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
photo by anna pearson
The 5th Law of Software Development
Enforce Disciplinephoto by kaibara87
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#6: the system tends to grow
? :
? :
? :
? :
? :
? :
? :
? :
? :
photo by **Maurice**
The 6th Law of Software Development
Restrain Growthphoto by mountainamoeba
photo by daisybush
Parkinson’s Law
organizations tend to get bigger
Cope’s Rule
species tend to get biggerimage by Bogdanov
Prevent systems from growing...
1. Limit input and output (keep it simple)
2. Make resources scarce (small budgets)
3. Reduce complexity (remove waste)
4. Clean up regularly (refactoring)
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#7: the system is exposed to risk
photo by Aaron Escobar
The 7th Law of Software Development
Reduce Riskphoto by rednuht
Self-Organized Criticality
a critical state of high riskphoto by lrargerich
Don’t agree?Agreed?
Someone needs to try and reduce the
system’s exposure to risk...
“Risk management (mitigating potential
impediments) can best be done by
stepping outside the system.”
E
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#8: the system must know how it’s doing
+/+
-/-
The 8th Law of Software Development
Measure Performancephoto by xmatt
The Tragedy of the Commons:
using shared resources
photo by ojbyrne
optimize the whole
optimize the whole
= manage shared resources
Don’t agree?Agreed?
“Optimize the whole means to optimize
to the largest possible span of control,
which can mean: don’t optimize the
individual software projects.”
F
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#9: the system responds to the input
+/-
-/+
The 9th Law of Software Development
Evaluate Feedbackphoto by JasonRogers
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#10: the system needs ways to learn
!
The 10th Law of Software Development
Aquire Knowledgephoto by procsilas
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#11: the system must cope with uncertainty
Adaptation to change…
The 11th Law of Software Development
Manage Uncertaintyphoto by rednuht
The Butterfly Effect
small variations, big impactphoto by Hamed Saber
? :
? : ? :
? :
? :
? :
? :
? :
? :
? :
#12: the system figures out how to change
1. -----
2. ---
3. -----
1. -----
3. ---
4. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----1. -----
4. ---
5. -----
1. -----
2. ---
3. -----
1. -----
2. ---
3. -----
4. -----
5. ---
6. -----
2. -----
3. ---
5. -----
1. -----
2. ---
3. -----
photo by Sukanto Debnath
genotype (genes)
phenotype (body)
The 12th Law of Software Development
Evolve Practicesphoto by Hulagway
fixed practices = not complex at all
Don’t agree?Agreed?
Adaptive phenotype...
changing requirements
Adaptive genotype...
changing environment
“Not just the project, but the method
itself must be adaptable too.”
G
Fitness Landscapes
evaluating performancephoto by Hulagway
“It takes all the
running you can do,
to keep in the
same place.”
- Louis Carroll
Through the Looking Glass
The Red Queen Effect
PDCA QIP AIM Pr2imer CPI-7
1. Determine Problems Plan Understand Assess Analysis Managing
2. Set Goals Set Goals Analyze Target Targets
3. Define Metrics Plan
4. Identify
Improvements
Act Choose Improve Analyzing
5. Implement
Improvements
Pilot Improving
6. Execute Processes
(implicit)
Do Execute -- -- --
7. Check
Measurements
Check Analyze Metricate -- Managing
process
improvement
?
linear improvement
stuck on local optimum
or walk through the valley
(things get worse before they get better)
Crossover
photo by Kevin N. Murphy
mixing practices from two sources
non-linear improvement
find higher peaks by
averaging prior high performers
Don’t agree?Agreed?
“Linear improvement works up to a point,
but to find the optimal development
process you need a non-linear approach.”
H
moderately connected system
(several optimums)
sparsely connected system
(one optimum)
intensively connected system
(no real optimum)
Don’t agree?Agreed?
“Methods are strong when it’s easy to
replace individual practices.”
J
sudden burst of solutionsimage by Karl J. Niklas
Punctuated Equilibrium
Attractors
convergence of formsphoto by Okko Pyykkö
Don’t agree?Agreed?
“We now experience a burst of methods
and tools, due to environmental change.
This could converge into a few main
forms with many small variations.”
K
The 12 Laws of Software Development
Reduce Risk
Measure Performance
Evaluate Feedback
Acquire Knowledge
Manage Uncertainty
Evolve Practices
Motivate People
Empower Teams
Align Results
Optimize Communication
Enforce Discipline
Restrain Growth
ANY creative team project
A. psychological profiles
B. leaders vs. rulers
C. organization types
D. organizational structures
E. risk management
F. organizational optimization
G. adaptive methods
H. non-linear improvement
J. tuning process dependencies
K. classification of methods
Agile... what’s next?
Don’t agree?Agreed?
m30.me/happiness
@jurgenappelo
slideshare.net/jurgenappelo
noop.nl
linkedin.com/in/jurgenappelo
jurgen@noop.nl
http://creativecommons.org/licenses/by-nd/3.0/
This presentation was inspired by the works of many people, and
I cannot possibly list them all. Though I did my very best to attribute
all authors of texts and images, and to recognize any copyrights, if
you think that anything in this presentation should be changed,
added or removed, please contact me at jurgen@noop.nl.

So, Now You're An Agilist, What's Next?