20
Understanding Complexity why Agile works… only if done right.. Hrishikesh Karekar @hrishikarekar

Understanding complexity and Why Agile works only if done right

Embed Size (px)

Citation preview

Page 1: Understanding complexity and Why Agile works only if done right

Understanding Complexity

And why Agile works… only if done right..

Hrishikesh Karekar @hrishikarekar

Page 2: Understanding complexity and Why Agile works only if done right

https://s-media-cache-ak0.pinimg.com/236x/4f/88/b1/4f88b10bd4ce61b2e1334dfe95e65468.jpg

Making Sense of our World

Page 3: Understanding complexity and Why Agile works only if done right

From the book: Getting to Maybe: How the World Is Changed, Frances Westley, Brenda Zimmerman, Michael Patton

Page 4: Understanding complexity and Why Agile works only if done right

http://bbrt.org/

Page 5: Understanding complexity and Why Agile works only if done right

http://www.argenta-europ.com/netimage/web_image_files/CYNEFIN_web_image.jpg

CYNEFIN Framework

Page 7: Understanding complexity and Why Agile works only if done right

Distributed ControlThere 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.

Page 8: Understanding complexity and Why Agile works only if done right

ConnectivityComplexity 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.

Page 9: Understanding complexity and Why Agile works only if done right

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.

Page 10: Understanding complexity and Why Agile works only if done right

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

Page 11: Understanding complexity and Why Agile works only if done right

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

Page 12: Understanding complexity and Why Agile works only if done right

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

Page 13: Understanding complexity and Why Agile works only if done right

How do we operate in such a world?

Page 14: Understanding complexity and Why Agile works only if done right

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.

Page 15: Understanding complexity and Why Agile works only if done right

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.

Page 16: Understanding complexity and Why Agile works only if done right
Page 19: Understanding complexity and Why Agile works only if done right

Why it does not work.. Most times?

Page 20: Understanding complexity and Why Agile works only if done right

Thank You@hrishikarekar

© 2015