What (Else) Can Agile Learn From Complexity
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

What (Else) Can Agile Learn From Complexity

on

  • 11,111 views

How can complexity science be applied to software development? This presentation shows you which scientific concepts can be mapped to agile software development. ...

How can complexity science be applied to software development? This presentation shows you which scientific concepts can be mapped to agile software development.

http://www.noop.nl
http://www.jurgenappelo.com

Statistics

Views

Total Views
11,111
Views on SlideShare
10,546
Embed Views
565

Actions

Likes
32
Downloads
700
Comments
3

16 Embeds 565

http://www.noop.nl 346
http://www.scoop.it 137
http://www.slideshare.net 28
http://www.betterprojects.net 13
http://www.linkedin.com 13
http://www.emergentstory.com 8
http://sjors.posterous.com 6
https://twimg0-a.akamaihd.net 3
http://www.hanrss.com 2
http://www.twylah.com 2
https://www.linkedin.com 2
http://clickwatchlearn.blogspot.com 1
http://clickwatchlearn.blogspot.com.au 1
http://www.martin-koser.de 1
http://fbweb-test.comoj.com 1
https://si0.twimg.com 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Great work Jurgen - found it very interesting.
    Are you sure you want to
    Your message goes here
    Processing…
  • A great presentation that covers complexity in an agile fashion
    Are you sure you want to
    Your message goes here
    Processing…
  • fabulous, complexity theory, agile, emergence
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

What (Else) Can Agile Learn From Complexity Presentation Transcript

  • 1. What (Else) Can Agile Learn from Complexity? What (Else) Can Agile Learn from Complexity? Jurgen Appelo jurgen@noop.nl version 3 image by BotheredByBees Jurgen Appelo jurgen@noop.nl version 3
  • 2. Jurgen Appelo writer, speaker, entrepreneur... www.jurgenappelo.com
  • 3. Get my new book for FREE! m30.me/ss
  • 4. QDD (Quote-Driven Discourse) Misquotation is, in fact, the pride and privilege of the learned. A widely-read man never quotes accurately, for the rather obvious reason that he has read too widely. Hesketh Pearson (1934) Common Misquotations http://www.amazon.com/Common-Misquotations-Hesketh-Collected-Pearson/dp/B00128UERS/ “ ”
  • 5. Let’s start!Let’s start!
  • 6. Agile Software Development 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 http://www.amazon.com/Agile-Software-Development-Scrum/dp/0130676349/ “ ”
  • 7. Agile Software Development 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 http://www.amazon.com/Adaptive-Software-Development-Collaborative-Approach/dp/0932633404/ “ ”
  • 8. Agile Software Development Scrum is not a methodology, a defined process or set of procedures. It's an open development framework. The rules are constraints on behavior that cause a complex adaptive system to self- organize into an intelligent state. Jeff Sutherland Shock Therapy (presentation) “ ”
  • 9. The Evolution of Complexity Science image by Brian Castellani
  • 10. Are software projects complex systems? Can we apply complexity science to management? image by practicalowl
  • 11. Beware!! Abuse of Science 1. To use scientific terminology without bothering much about what the words actually mean. 2. Importing scientific concepts without giving the slightest empirical or conceptual justification. 3. Displaying superficial erudition by shamelessly throwing around terms where they are irrelevant. 4. Exhibiting a veritable intoxication with words, with a superb indifference to their meaning. Sokal, A. and Bricmont, J. (1998) Intellectual Impostures: Postmodern Philosophers’ Abuse of Science http://www.amazon.com/Intellectual-Impostures-Alan-Sokal/dp/1861976313 “ ”
  • 12. Complexity vs. Management Not unexpectedly, the complexity gurus are most upset with how complexity science terms are loosely, if not metaphorically, defined and tossed in managerial discourse – one [guru] goes as far as to suggest that the books offer many insights for managers, but one should simply black out all references to complexity science. Maguire, S. and McKelvey, B. (1999) “Complexity and Management: Moving from fad to firm foundations” http://iscepublishing.com/ECO/ECO_papers/Issue1_2_2.pdf “ ”
  • 13. Compromise: Loose Application The word “culture” in business culture was (successfully) borrowed from anthropology. The word “strategy” in business strategy was borrowed from the military. (In fact, the science of game theory borrowed the word for evolutionary stable strategies!) Loose application (borrowing and bending) of terminology across disciplines is more than just the invention of metaphores. The terms actually have meaning. Van Uden, J. (2005) “Using complexity science in organization studies: a case for loose application” http://iscepublishing.com/ECO/ECO_papers/Issue_7_1_8_PH.pdf
  • 14. Snowden, D. and Stanbridge, P. (2004) “The Landscape of Management: Creating the context for understanding social complexity” http://iscepublishing.com/ECO/ECO_other/Issue_6_1-2_19_FM.pdf
  • 15. humans involved, not mechanics complex, not ordered Snowden, D. and Stanbridge, P. (2004) “The Landscape of Management: Creating the context for understanding social complexity” http://iscepublishing.com/ECO/ECO_other/Issue_6_1-2_19_FM.pdf
  • 16. Example: Self-Organization Self-organization is a process of attraction and repulsion in which the internal organization of a system, normally an open system, increases in complexity without being guided or managed by an outside source. Self-Organization http://en.wikipedia.org/wiki/Self-organization Are self-organizing teams really self-organizing? “ ”
  • 17. Example: Emergence Emergence is the arising of novel and coherent structures, patterns and properties during the process of self-organization in complex systems. Corning, P.A. (2002) “The Emergence of Emergence: Now What?” http://iscepublishing.com/ECO/ECO_papers/Issue4_3_3.pdf Is emergent design really emergent? “ ”
  • 18. Software Projects Scope Features Qualities People Tools Resources Parts Artifacts Product
  • 19. Yes, we can apply complexity to management Yes, software projects are complex systems image by Peter Kaminsky
  • 20. Darkness Principle Each element in the system is ignorant of the behavior of the system as a whole [...] If each element ‘knew’ what was happening to the system as a whole, all of the complexity would have to be present in that element. Richardson, K.A. (2002) “Systems theory and complexity: Part 1” http://iscepublishing.com/ECO/ECO_other/Issue_6_3_10_FM.pdf “ ”
  • 21. Traditional Monitoring and Control fails (no project manager can know everything) image by Okko Pyykkö
  • 22. The Law of Requisite Variety If a system is to be stable the number of states of its control mechanism must be greater than or equal to the number of states in the system being controlled. Variety (Cybernetics) http://en.wikipedia.org/wiki/Variety_%28cybernetics%29 “ ”
  • 23. Traditional Management fails (one manager is less complex than a group) image by flattop341
  • 24. Boundaries and Conditions Self-organization requires that the system is surrounded by a containing boundary. This condition defines the "self" that will be developed during the self-organizing process. Eoyang, G. and Conway D.J. (1999) “Conditions That Support Self-Organization in a Complex Adaptive System” http://amauta-international.com/iaf99/Thread1/conway.html “ ”
  • 25. image by Robbie W T Agile Management is a crucial part of Agile (Defining boundaries and conditions)
  • 26. Hierarchy Principle Complex natural phenomena are organized in hierarchies wherein each level is made up of several integrated systems. Skytner, L. (2001) “General Systems Theory: Ideas and Applications” NJ: World Scientific “ ”
  • 27. image by Mountain Goat Software Example: Scrum of Scrums managed self-organized Hierarchies are not a problem, they are natural Managed (imposed) hierarchies are the problem
  • 28. Patches Take a conflict-laden task in which many parts interact, and divide it into a quilt of non-overlapping patches. Try to optimize within each patch. As this occurs […] a good solution in one patch will change the problem to be solved in adjacent patches. Kaufman, S. (1995) At Home in the Universe http://www.amazon.com/At-Home-Universe-Self-Organization-Complexity/dp/0195111303/ “ ”
  • 29. image adapted from Mountain Goat Software Example: Patches of Scrums An ecosystem of teams instead of a hierarchy
  • 30. Group Size There is a particular number of decision-makers that stands out from the trend as being truly, spectacularly bad, tending with alarmingly high probability to lead to deadlock: eight. Buchanan, M. (2009) “Explaining the curse of work” http://www.newscientist.com/article/mg20126901.300-explaining-the-curse-of-work.html “ ”
  • 31. image by Jayel Aheram Good team size = 7 +/- 2 (except 8) (5 might be perfect)
  • 32. Specialization In more complex organisms – from eukaryotic protists to social mammals – specialization among the parts (or division of labor) produces many advantages for various wholes. Corning, P.A. (2002) “The Emergence of Emergence: Now What?” http://iscepublishing.com/ECO/ECO_papers/Issue4_3_3.pdf “ ”
  • 33. Specialization is not a problem, it is natural Managed (imposed) specialization is the problem image by Ali
  • 34. Power Laws Scale-free networks are ubiquitous in nature due to the adaptive properties of robustness and fast communication associated with power-law degree distributions. Mitchell, M. (2009) Complexity: A Guided Tour http://www.amazon.com/Complexity-Guided-Tour-Melanie-Mitchell/dp/0195124413/ “ ”
  • 35. Power laws exhibit scale invariance You can’t estimate size of next unknown issue size of issues frequency of issues high chance of small issues low chance of large issues
  • 36. Prediction of velocity includes an (impossible) estimate of the size of unknown problems image by cod gabriel
  • 37. Dependence on Context A project cannot be viewed independent of its surrounding context […]. An understanding of the context is in itself not sufficient to prescribe a method […]. Rather, the method to manage the project is embedded in the context and one must allow the emergence of such a method through interaction between the actors and the environment. Pundir, A.K., Ganapathy, L. And Sambandam, N. (2007) “Towards a complexity framework for managing projects” http://iscepublishing.com/ECO/ECO_papers/Issue_9_4_3_AC.pdf “ ”
  • 38. ScrumButs are natural and necessary Management methods must emerge Standard methods must be customized
  • 39. Fitness Landscapes The environment is not out there, separate from us. We can help to create the environment. […] The Spanish have phrase […]: “My friend, there is no road. You make the road as you walk.” Dent, E.B. (1999) “Complexity Science: A Worldview Shift” http://iscepublishing.com/ECO/ECO_papers/Issue1_4_1.pdf “ ”
  • 40. The environment responds to released software Success can only be known after deployment image by neona
  • 41. ? linear improvement stuck on local optimum or walk through the valley (linear) retrospectives may stop working
  • 42. image by Kevin N. Murphy mixing practices from two sources Crossover
  • 43. non-linear improvement finding higher peaks by mixing prior high performers Switch from linear to non-linear retrospectives (Replace multiple practices at a time)
  • 44. moderately connected system (several optimums) sparsely connected system (one optimum) intensively connected system (no real optimum)
  • 45. If you can’t replace a practice, tool, or person, you shouldn’t even add them in the first place image by wilhei55
  • 46. disturbances enable the system to find deeper valleys (inverted landscape, lower = better) Noise
  • 47. image by Hamed Saber The Butterfly Effect Small changes, BIG consequences
  • 48. Incompressibility There is no accurate representation of the system which is simpler than the system itself. In building representations of open systems, we are forced to leave things out, and since the effects of these omissions are nonlinear, we cannot predict their magnitude. Cilliers, P. (2005) “Knowing complex systems” Managing Organizational Complexity: Philosophy, Theory And Application http://www.amazon.com/Managing-Organizational-Complexity-Philosopy-Application/ “ ”
  • 49. Because of the butterfly effect, we cannot predict the consequences of leaving something out Consequence: a variety of imperfect methods image by woodleywonderworks
  • 50. Models All models are wrong, but some are useful. Box, G. and Draper, N. (1969) Evolutionary Operation: A Statistical Method for Process Improvement http://www.amazon.com/Evolutionary-Operation-Statistical-Process-Improvement/dp/B0028H5YDG/ “ ”
  • 51. The Software Cultivator Managing Agile Organizations (2010) ? Jurgen Appelo My Book
  • 52. Disclaimer I might have used scientific terminology without really understanding what the words actually mean. I might have imported scientific concepts without giving sufficient justification. I might have thrown around scientific terms where they are irrelevant. And I might have an intoxication with words...
  • 53. image by -bast- But I hope to have inspired you... Q & A
  • 54. @jurgenappelo slideshare.net/jurgenappelo noop.nl linkedin.com/in/jurgenappelo jurgen@noop.nl
  • 55. www.management30.com
  • 56. 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.