Complexity Theory and
Why Waterfall
Development Works
(Sometimes)

Larry Apke
Agile Expert
www.agile-doctor.com
larry@agile-doctor.com
Who Am
I?

Over 6 years real-world experience as a scrum master, agile coach,
consultant and software development manager and over 15 years of
IT experience.
My passion is to help people create high-quality software on a regular
basis.
I am a regular speaker on Agile topics, an active member of Agile
user groups, founder of the San Antonio Agile Coffee.
My home is in Scottsdale Arizona where I spend my weekdays as an
Agile Coach at a local financial services company.
Waterfall Development

Image from Winston Royce
Paper titled “Managing the
Development of Large Software
Systems” August 1970.
Agile Development
Cynefin Model
Cynefin Model
Pronounced Kunevin

Means “Habitat” or
“Place”

Dave Snowden
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Interaction

A large number of
diverse components
(Agents) engaged in
rich interaction

A large number of
diverse components
(Agents) engaged in
interaction that can be
understood
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Autonomy

Agents are largely
autonomous but
subject to certain laws,
rules or norms; there is
no central control but
agent behavior is not
random

Agents are subject to
certain laws, rules or
norms; there may be
central control
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Emergence

Global behavior of a
complex system
“emerges” from the
interaction of agents
and is therefore
unpredictable; requires
feedback – can only be
understood in
retrospective

Predictable, but
requires expertise. Can
be understood
beforehand.
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Equilibrium

“Far from equilibrium”
because frequent
occurrences of
disruptive events do
not allow the system to
return to equilibrium.

There may be
disruptive events but
system will return to a
recognizable
equilibrium.
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Linearity

Nonlinearity
occasionally causes an
insignificant input to be
amplified into an
extreme event
(butterfly effect).

System exhibits
linearity in that output
events are
approximately
proportional to input.
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

SelfOrganzation

Capable of selforganization in
response to disruptive
events.

Centralized control is
effective in response to
disruptive events.
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

CoEvolution

Irreversibly co-evolve
with their
environments.

Independent parts may
need experts to
understand, but can be
understood and
function in isolation.
Complex Vs. Complicated
Complex

Complicated

Probe, sense, respond

Sense, analyze, respond

Holistic

Reductionist

Synthesize

Analyze

Deming

Taylor

Stock Markets, New Product
Development, Invention/
Innovation

Manufacturing (building a
house or car) manufacturing,
insurance, health care
providers, public schools,
banks

Software Development?

Software Development?
Is Software Development Complex?
If software development is complex, “Knowledge of experts may be
of limited value, and the effectiveness of cause-and-effect analysis
is likely to be marginalized, or of short duration.” - H. William
Dettmer “Systems Thinking and the Cynefin Framework”

I believe that some software development can be classified as
complicated in which case Waterfall Methodology will work.

However, I believe that most software development falls into the
complex category which is where the Agile methodologies and their
emphasis on continuous feedback are more effective.
Is Software Development Complex?
In fact, I believe that most of the pain found in software development
stems from the very fact that the people who are in positions of
power do not fundamentally understand what software is.

Continuing to use metaphors from complicated endeavors (like
building houses and cars) confounds the situation and leads those
in charge to make decisions that are diametrically opposed to
getting work done.
Software development, for the most part, is a complex endeavor
that involves creativity, communication and collaboration and thrives
with the kind of small, co-located, dedicated teams that Agile
proposes.
Solving the Wrong Problem
For every complex problem there is an answer that is clear,
simple, and wrong. - H L Mencken
It's not at all important to get it right the first time. It's vitally
important to get it right the last time. - Andrew Hunt and David
Thomas
Solving the Wrong Problem
Gossamer Condor – Built
by Paul MacReady 1977.
Photo from Smithsonian
Museum.
Winner of the Kremer
prize established in
1959.
Story described in Aza
Raskun's blog.
Questions???

Complexity Theory and Why Waterfall Development Works (Sometimes)

  • 1.
    Complexity Theory and WhyWaterfall Development Works (Sometimes) Larry Apke Agile Expert www.agile-doctor.com larry@agile-doctor.com
  • 2.
    Who Am I? Over 6years real-world experience as a scrum master, agile coach, consultant and software development manager and over 15 years of IT experience. My passion is to help people create high-quality software on a regular basis. I am a regular speaker on Agile topics, an active member of Agile user groups, founder of the San Antonio Agile Coffee. My home is in Scottsdale Arizona where I spend my weekdays as an Agile Coach at a local financial services company.
  • 3.
    Waterfall Development Image fromWinston Royce Paper titled “Managing the Development of Large Software Systems” August 1970.
  • 4.
  • 5.
  • 6.
    Cynefin Model Pronounced Kunevin Means“Habitat” or “Place” Dave Snowden
  • 7.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated Interaction Alarge number of diverse components (Agents) engaged in rich interaction A large number of diverse components (Agents) engaged in interaction that can be understood
  • 8.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated Autonomy Agentsare largely autonomous but subject to certain laws, rules or norms; there is no central control but agent behavior is not random Agents are subject to certain laws, rules or norms; there may be central control
  • 9.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated Emergence Globalbehavior of a complex system “emerges” from the interaction of agents and is therefore unpredictable; requires feedback – can only be understood in retrospective Predictable, but requires expertise. Can be understood beforehand.
  • 10.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated Equilibrium “Farfrom equilibrium” because frequent occurrences of disruptive events do not allow the system to return to equilibrium. There may be disruptive events but system will return to a recognizable equilibrium.
  • 11.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated Linearity Nonlinearity occasionallycauses an insignificant input to be amplified into an extreme event (butterfly effect). System exhibits linearity in that output events are approximately proportional to input.
  • 12.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated SelfOrganzation Capableof selforganization in response to disruptive events. Centralized control is effective in response to disruptive events.
  • 13.
    Complex Vs. Complicated Criteria (George Rzevski) Complex Complicated CoEvolution Irreversiblyco-evolve with their environments. Independent parts may need experts to understand, but can be understood and function in isolation.
  • 14.
    Complex Vs. Complicated Complex Complicated Probe,sense, respond Sense, analyze, respond Holistic Reductionist Synthesize Analyze Deming Taylor Stock Markets, New Product Development, Invention/ Innovation Manufacturing (building a house or car) manufacturing, insurance, health care providers, public schools, banks Software Development? Software Development?
  • 15.
    Is Software DevelopmentComplex? If software development is complex, “Knowledge of experts may be of limited value, and the effectiveness of cause-and-effect analysis is likely to be marginalized, or of short duration.” - H. William Dettmer “Systems Thinking and the Cynefin Framework” I believe that some software development can be classified as complicated in which case Waterfall Methodology will work. However, I believe that most software development falls into the complex category which is where the Agile methodologies and their emphasis on continuous feedback are more effective.
  • 16.
    Is Software DevelopmentComplex? In fact, I believe that most of the pain found in software development stems from the very fact that the people who are in positions of power do not fundamentally understand what software is. Continuing to use metaphors from complicated endeavors (like building houses and cars) confounds the situation and leads those in charge to make decisions that are diametrically opposed to getting work done. Software development, for the most part, is a complex endeavor that involves creativity, communication and collaboration and thrives with the kind of small, co-located, dedicated teams that Agile proposes.
  • 17.
    Solving the WrongProblem For every complex problem there is an answer that is clear, simple, and wrong. - H L Mencken It's not at all important to get it right the first time. It's vitally important to get it right the last time. - Andrew Hunt and David Thomas
  • 18.
    Solving the WrongProblem Gossamer Condor – Built by Paul MacReady 1977. Photo from Smithsonian Museum. Winner of the Kremer prize established in 1959. Story described in Aza Raskun's blog.
  • 19.