complexity theory and why waterfall development works (sometimes)
Post on 19-Oct-2014
848 Views
Preview:
DESCRIPTION
TRANSCRIPT
Complexity Theory and Why Waterfall Development Works (Sometimes)
Larry Apke Agile Expert
www.agile-doctor.comlarry@agile-doctor.com
Who Am I?
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.
Over 6 years real-world experience as a scrum master, agile coach, consultant and software development manager and over 15 years of IT experience.
Waterfall Development
Image from Winston Royce Paper titled “Managing theDevelopment of Large SoftwareSystems” 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
Self-Organza-tion
Capable of self-organization in response to disruptive events.
Centralized control is effective in response to disruptive events.
Complex Vs. Complicated
Criteria (George Rzevski)
Complex Complicated
Co-Evolution
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.
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.
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.
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???
top related