An attempt to see agile from the context of complexity theory and why compromising on the basics won't help us be agile. A good understanding of complexity theory and application would help to have a robust agile implementation.
7. Distributed Control
There is no single
centralized control
mechanism that governs
system behaviour.
Although the
interrelationships
between elements of
the system produce
coherence, the overall
behaviour usually
cannot be explained
merely as the sum of
individual parts
While we may want to
believe that there is
"control" in large
software projects, in
reality there is none.There are complex
relationships at play
between the buyer and
seller, and also between
the different vendors
that make up the
project.
Not just that, inside
each organization that
has a stake, there are
inter relationships that
affect how that
organization reacts
and responds to
certain situations and
players.
The system behaviour
is governed by all of
these inter
relationships and is
clearly distributed
control. No one players
truly calls the shots.
8. Connectivity
Complexity results from the inter-
relationship, inter-action and inter-
connectivity of the elements within a
system and between a system and its
environment.
This implies that a decision or action by
one part within a system will influence
all other related parts but not in any
uniform manner
What happens when one of the players
decides to go for a system upgrade.
Some players may not be impacted
directly, some will be directly and
some eventually get an impact
because one of the systems they
depended on got it, not the original
system that started the upgrade cycle
in first place.
Such cascading effects of actions and
decisions are common place and its
almost impossible to predict the
connection till something actually hits
you. In most cases, you would fully
comprehend only in retrospect.
9. Co-evolution
With co-evolution, elements
in a system can change based
on their interactions with
one another and with the
environment. Additionally,
patterns of behaviour can
change over time
Elements in the system are
observing one another and
learning and adapting
constantly.
• Take a scenario. A few scrum teams decide to go explore Continuous integration.
• They have initial success and the project ecosystem values this highly.
• This reinforces their behavior and also sets a positive trend for others to follow.
• In a similar scenario what will happen if the project ecosystem does not value this highly. ?
• They don't put it down, but they don't respect it too much.
10. Sensitive Dependence on Initial Conditions
CAS are sensitive due to
their dependence on
initial conditions.
Changes in the input
characteristics or rules
are not correlated in a
linear fashion with
outcomes.
Small changes can have
a surprisingly profound
impact on overall
behavior, or vice-versa,
a huge upset to the
system may not affect
it....
Real systems, especially
living organisms, are
fundamentally
unpredictable in their
behaviour. Long-term
prediction and control
are therefore believed
to not be possible in
complex systems
11. Emergent Order
Complexity in complex adaptive
systems refers to the potential for
emergent behaviour in complex and
unpredictable phenomena...
There is constant action and
reaction to what other agents are
doing, thus nothing in the
environment is essentially fixed...
From the interaction of the
individual agents arises some kind
of global property or pattern,
something that could not have
been predicted from
understanding each particular
agent...
Any coherent behavior in a system
arises from competition and
cooperation among the agents
themselves....
For many years, the second law of
thermodynamics - that systems
tend toward disorder - has generally
been accepted. Ilya Prigogine's work
on “dissipative structures” in 1977
showed that this was not true for all
systems.
Some systems tend towards order
not disorder and this is one of the
big discoveries in the science of
complexity.... Order can result
from non-linear
feedback interactions between
agents where each agent goes
about his own business... it
appears that self-organization is an
inherent property of CAS
12. Far from Equilibrium / State of Paradox
In 1989, Nicolis and Prigogine showed
that when a physical or chemical
system is pushed away from
equilibrium, it could survive and thrive.
If the system remains at equilibrium, it
will die.
The “far from equilibrium”
phenomenon illustrates how systems
that are forced to explore their space of
possibilities will create different
structures and new patterns of
relationships....
it can be said that
complex adaptive
systems function best
when they combine
order and chaos in an
appropriate measure
14. Ant Colony
Here is how ants work:
• Travel randomly in search for food.
• Take a piece of food and head straight back to the nest. On the way
back to the nest lay down an odour trail.
• Notify nest mates of the discovered food encouraging them to leave
the nest. These newly recruited ants will follow the odour trail
directly to the food source. In their turn, each ant will reinforce the
odour trail until the food is gone.
15. Bird Flocks
• Birds flocks are beautiful.
• You may think that the movement gets orchestrated by one savvy bird. But this is
not the case.
• A bird flock is guided by three simple principles (every decent bird knows them):
• Separation: steer to avoid stumbling upon local flockmates.
• Alignment: steer towards the average heading of local flockmates.
• Cohesion: steer to move towards the average position of local flockmates.