Complexity Theory and
Why Waterfall
Development Works
(Sometimes)

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

Over 6 years real-world experience as a scrum master, agile coach,
consultant and software development manager ...
Waterfall Development

Image from Winston Royce
Paper titled “Managing the
Development of Large Software
Systems” August 1...
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...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Autonomy

Agents are largely
autonomous but
subje...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Emergence

Global behavior of a
complex system
“e...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Equilibrium

“Far from equilibrium”
because frequ...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

Linearity

Nonlinearity
occasionally causes an
in...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

SelfOrganzation

Capable of selforganization in
r...
Complex Vs. Complicated
Criteria
(George
Rzevski)

Complex

Complicated

CoEvolution

Irreversibly co-evolve
with their
en...
Complex Vs. Complicated
Complex

Complicated

Probe, sense, respond

Sense, analyze, respond

Holistic

Reductionist

Synt...
Is Software Development Complex?
If software development is complex, “Knowledge of experts may be
of limited value, and th...
Is Software Development Complex?
In fact, I believe that most of the pain found in software development
stems from the ver...
Solving the Wrong Problem
For every complex problem there is an answer that is clear,
simple, and wrong. - H L Mencken
It'...
Solving the Wrong Problem
Gossamer Condor – Built
by Paul MacReady 1977.
Photo from Smithsonian
Museum.
Winner of the Krem...
Questions???
Upcoming SlideShare
Loading in …5
×

Complexity Theory and Why Waterfall Development Works (Sometimes)

2,148 views

Published on

A huge debate rages on in IT these days. There are two rival camps - traditionalists who subscribe to the "waterfall" methodologies and agilists. Most recent evidence suggests that agile methodologies have an edge in project success rates but the traditional methods are still widely practiced and do result in some project successes. There are reasons for the successes of agile and traditional projects that can be explained by complexity theory. This presentation will examine some interesting information about waterfall and agile methodologies and show why complexity theory can help us to predict the relative success (and failure) of applying these methodologies to software development projects.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,148
On SlideShare
0
From Embeds
0
Number of Embeds
660
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Complexity Theory and Why Waterfall Development Works (Sometimes)

  1. 1. Complexity Theory and Why Waterfall Development Works (Sometimes) Larry Apke Agile Expert www.agile-doctor.com larry@agile-doctor.com
  2. 2. 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.
  3. 3. Waterfall Development Image from Winston Royce Paper titled “Managing the Development of Large Software Systems” August 1970.
  4. 4. Agile Development
  5. 5. Cynefin Model
  6. 6. Cynefin Model Pronounced Kunevin Means “Habitat” or “Place” Dave Snowden
  7. 7. 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
  8. 8. 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
  9. 9. 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.
  10. 10. 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.
  11. 11. 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.
  12. 12. 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.
  13. 13. 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.
  14. 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. 15. 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.
  16. 16. 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.
  17. 17. 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
  18. 18. 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.
  19. 19. Questions???

×