Introduction





Meso and Jain (2006) believes that nowadays, increase in competition between companies has led companies to require software development systems that are adaptable. Agile Software Development systems allow companies to react quickly to changes in IT systems thus remaining competitive. Complex Adaptive Systems (CAS) is a theory that gives information or illustrates how agile development methods can enhance delivery of software solutions.

History of Complex Adaptive Systems


Unstable business environment means that managing software development is a very difficult challenge for project managers. Software development methodologies are normally characterised as linear and chronological process that must have a consistent requirement in order to make stable software. However, in most scenarios software development work are done in difficult unstable conditions due to changes in technology, markets and social conditions.

Definition of Complex Adaptive Systems


Complex Adaptive System can be defined as a method of building complex software systems which relies heavily on human cooperation and team organisation.
According to Resnick (1994), complex adaptive system consists of units or agents that have certain principles in order for the system to work effectively. These are:
· The units must obey the same rules that control the way they interact
· Due to interactions the units can become specialised and individualised
· In spite of the lack of control the systems still manage to control themselves in a state of global organisation.
  • Astuteness stays in the whole system
  • Straightforward rules accomplish difficult combined behaviour
  • Order emergence from the interaction of autonomous partners


These principles according to Anderson (1999) literature review are based on certain concepts as detailed in the Table below

Principles
Concepts
Principle 1:
Managing
internal rates of
change to match
or exceed the
relevant
external
change rates
  • Time-pacing
Change is triggered by the passage of time rather than by the occurrence of events.
Organizations create an internal rhythm that drives the momentum for change (Brown and Eisenhardt, 1998).
  • Co-evolution
Parts of a complex adaptive system tend to alter their structures or behaviours as
responses to interactions with other parts and the environment. In order to survive, all parts are striving for fitness and seeking to avoid extinction. Since they have to continue to respond to the change caused by coupled fitness landscapes they are not just evolving but coevolving. The highest average fitness is at the transition from order to chaos (the edge of chaos) (Kauffman 1993, 1996).
  • Poise at the edge of chaos
The edge of chaos is a zone between total order and complete disorder. At the edge of chaos, a system shows bounded instability, that is, it is stable and unstable at the same time. It is stable because the system’s behaviour shows patterns, and the possibility space of the system’s states can be depicted using fine detail in the short term. It is unstable inthe longer term in that the path which the system will follow is uncertain and unpredictable - the system is in a state far from equilibrium (Anderson, 1999).
Principle 2:
optimizing selforganizing
  • Interconnected autonomous agents
Interconnected agents – human and non-human. They are independent but loosely coupled and interconnected. The interconnectivity is in such a way that keeps them responsive to the change around
them but not overwhelmed by the information flowing to them through their interconnectivity (Anderson, 1999).
  • Self-organization
Self-organization is the ability of a complex adaptive system to evolve into an organized form without external force, resulting from the interactions among interconnected autonomous agents (Anderson, 1999).
Principle 3:
synchronizing
concurrent
exploration and
exploitation
Poise at the edge of time
Focus on today while keeping sight of the future (exploration) and the past (exploitation) (Brown and Eisenhardt, 1998).
Table from CAS Article
Organizing for Agility: a Complex Adaptive Systems perspective on Agile Software Development Process
shoaling-2.jpg

Characteristics of Complex Adaptive Systems


Ideally in CAS, straight forward rules follows during team members collaboration however this can lead to complex behaviour occurring.
When it comes to accessing information in regards to objectives, progress, plans it should be free as this is a way that project team members can adapt together. In addition, team member should be eager to share information with each other. Managers tend to use light touch management style if they perceive that increasing control will not lead to increased order.

Augustine et al (2005) claims that Complex Adaptive systems are characterised by the following;
i) In CAS, simple rules should be followed by participating team members however, their communication leads to complex behaviour that materialize overtime.
ii) There should be free and open access to information regarding plans, progress, objectives and organisation as this is the medium for acclimatization by each member of a project team.
There should be wiliness to exchange information by members.
iii) Light touch management style is used whereby managers acknowledge that increasing control does not increase order, recognising their own incapability to know all 'before hand' and so some controls are given up to derive greater order.
iv) Adaptive leadership involves the use of 'systems thinking' to recognize a project's interior forces. The effect of the reciprocated communication between the different parts of the project is understood by the Agile Manager and so, steering of them in the path of uninterrupted learning and adaptation is done.
v) Organic teams of from seven to 9 members- Projects that practices organic team work puts in place a small interaction penalty with regards to communication and synchronization overhead. This enables the team to communicate at its best so as to reduce the consequence of interaction penalties.

Conclusion


Finally, to summarise the main issues, it is quite important for companies to have a clear understanding of the principles that underpins software development approaches if companies want to be adaptive to changing business environments. In addition, Complex Adaptive Systems (CAS) theory gives understanding into how agile development methods help with the delivery of responsive and adaptable software. However, the CAS technique relies heavily on team work between members in an organisation in order to deliver projects in hostile economic environment.

References


Anderson, P. (1999). Complexity Theory and Organization Science. Organization Science, 10(3), 216- 232.
Augustine,S. Payne, B. Sencindiver, F. Woodcock, S. (2005) Agile Project Management: Steering From The Edges. [online] Available at:http://bit.ly/IM4KnN [Accessed: 27 February 2011].
Brown, S. and K. Eisenhardt (1998). Competing on the Edge: Strategy as Structured Chaos. Harvard Business School Press, Boston.
Elliott, S. (2008) Agile Project Management. Available at: http://bit.ly/Iu7uBt [Accessed ; 27 February 2012].
Kauffman, S. (1993). The Origins of Order: Self-Organization and Selection in Evolution. Oxford University Press, New York
Meso.P and Jain.R (2006). Contemporary Practises in System Development: Adaptive Systems Principles and Best Practises. ISM Journal Vol. 30. [Online] Available at: http://bit.ly/IPixGR
[Accessed: 14 March 2012]




























[1]
  1. ^
























    http://academic.brooklyn.cuny.edu/cis/sfleisher/Chapter_03_sim.pdf

    http://necsi.edu/events/iccs6/viewpaper.php?id=400
    http://www.ti.gatech.edu/docs/Rouse%20NAEBridge2008%20HealthcareComplexity.pdf