Thriving at the Edge of Chaos — An Investigation of Applying Complexity Theory on Software Organizations

In this master thesis two different worldviews are compared: a mechanistic, and an organic worldview. The way we think the world and the nature work reflects on how we think organizations work, or how they ought to work. The mechanistic worldview has dominated our way of thinking since the seventeenth century, and it compares the world with a machine. The organic worldview could use a number of different metaphors, but the one addressed in this thesis is complexity theory. Complexity theory is related to chaos theory and is concerned with complex adaptive systems (cas). Complex adaptive systems exist everywhere and are systems such as the human immune system, economies, and ecosystems. What complexity theory tries to do is to understand these systems—how they arise, how they function and how order emerge in them. When looking at complex adaptive systems you can’t just look at the different parts. You must take a more holistic view and look at the whole and the interaction of the parts. If you just look at the parts you will miss the emergent properties that have emerged as the system has self-organized. One prominent aspect of these systems is that they don’t have any central authority, but somehow order do arise. In relation to organizations, complexity theory has something to say about almost all aspects of organizations: from what kind of leadership is needed, and how teams should be organized to the physical structure of the organization. To understand what complexity theory is and how to relate that to (software developing) organizations is the main focus of this thesis. Scrum is an agile and lightweight process which can be applied on development projects in general, but have been used in such diverse examples as software development projects, marketing programs, and business process reengineering (BPR) initiatives. In this thesis Scrum is used as an example of how to apply complexity theory to organizations. The result of the thesis showed that Scrum is highly influenced and compatible with complexity theory, which implies that complexity theory is of some use in software development. However, there are more work to be done to determine how effective it is, how to introduce it into organizations, and to explore more specific implementations. This master thesis should give the reader a good understanding of what complexity theory is, some specific issues to consider when applying complexity theory on organizations, and some specific examples of how to apply complexity theory on organizations.

[1]  Michael Schrage,et al.  No More Teams!: Mastering the Dynamics of Creative Collaboration , 1995 .

[2]  M. Hatch Organization Theory: Modern, Symbolic, and Postmodern Perspectives , 1997 .

[3]  Jim Highsmith,et al.  Beyond optimizing , 1999 .

[4]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[5]  T. Sanders Strategic Thinking and the New Science: Planning in the Midst of Chaos Complexity and Change , 1998 .

[6]  G. Weinberg Becoming a Technical Leader: An Organic Problem-Solving Approach , 1986 .

[7]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[8]  J. Alexander,et al.  Images of Organization , 1988 .

[9]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[10]  Watts S. Humphrey,et al.  Managing Technical People: Innovation, Teamwork, and the Software Process , 1996 .

[11]  Mark C. Paulk,et al.  The Capability Maturity Model: Guidelines for Improving the Software Process , 1994 .

[12]  Roger Burlingame Engines of democracy , 1976 .

[13]  Sami Zahran Software process improvement - practical guidelines for business success , 1998 .

[14]  Tom Gilb,et al.  Principles of software engineering management , 1988 .

[15]  Life at the Edge of Chaos: Creating the Quantum Organization , 1997 .

[16]  M. Wheatley Leadership and the new science : discovering order in a chaotic world , 1999 .

[17]  John R. Koza,et al.  Hidden Order: How Adaptation Builds Complexity. , 1995, Artificial Life.

[18]  Dee W. Hock Birth of the Chaordic Age , 2000 .

[19]  James Gleick,et al.  Chaos, Making a New Science , 1987 .

[20]  Isaac Pentinmaki,et al.  Review of "Lean software development: an agile tookit" by Mary and Tom Poppendieck. Addison Wesley 2003. , 2004, SOEN.

[21]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[22]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[23]  E. M. Bennatan,et al.  Software Project Management: A Practitioner's Approach , 1992 .