the role of simulation in dealing with complexity · the role of simulation in dealing with...

55
The Role of Simulation in dealing with complexity [email protected] Research School of Computer Science College of Engineering and Computer Science ENGN2219/COMP6719 – 2019

Upload: others

Post on 24-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

The Role of Simulation in dealing with complexity

[email protected]

Research School of Computer Science

College of Engineering and Computer Science

ENGN2219/COMP6719 – 2019

Page 2: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Agenda …

• Thinking about complexity– Dave Snowden’s Cynefin Framework

• Dealing with complexity– System Dynamics– Boyd’s OODA loop

• The role of simulation– Brooks’ Law example

2

Page 3: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Thinking About Complexity…

3

Page 4: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Thinking about complexity …

• The Cynefin sense-making framework– Pronounced “KUN-iv-in” (It’s a Welsh word!)

– Created in 1999 by Dave Snowden– http://cognitive-edge.com

• We require different kinds of thinking for– Obvious (Simple) Systems

– Complicated Systems– Complex Systems

– Chaotic Systems

4

Page 5: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Unpredictable

5

Predictable

The Cynefin Sense-making Framework

Page 6: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

6

Pre

dict

able

Unpredictable

The Cynefin Sense-making Framework

Complicated

Simple (obvious)

Page 7: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

7

Pre

dict

able

Complex

The Cynefin Sense-making Framework

Complicated

Simple (obvious)

Unp

redi

ctab

le

Chaotic

Page 8: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

8

Page 9: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

9

Page 10: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

10

Page 11: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering
Page 12: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

12

Dealing with Complexity

Page 13: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering
Page 14: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with complexity

• Experimentation is at the core – Probe – with safe to run experiments– Sense – what works & what doesn’t– Respond – with emergent practices

• System Dynamics modeling and simulation can help

• We will also look at why Agility is important when dealing with complexity

14

Page 15: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

System Dynamics

• An approach to understanding the behavior of complex systems over time– Developed by Jay Forrester at MIT in the 1950’s

– Originally focussed on industrial processes

– Now widely used for policy analysis and design

• Systems are represented using– Causal Loop Diagrams (CLD)

– Stock and Flow Diagrams (SFD)

15

Page 16: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

16

Page 17: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

17

SYMPTOMSYMPTOM

Mould on my bathroom tiles

Page 18: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

18

SYMPTOMSYMPTOM FIXFIX

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

Page 19: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

19

SYMPTOMSYMPTOM FIXFIX

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

-

Page 20: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

20

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCE

-

+

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

delay

Page 21: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

21

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCE

-

+

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

Exit Mould damages grout and tile surface

Page 22: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

22

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCEPROBLEMPROBLEM

-

+

+

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

Exit Mould damages grout and tile surface

Damage encourages growth of deep mould

Page 23: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

CLD Example – using Exit Mould

23

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCEPROBLEMPROBLEM

-

+

+

+

+

Mould on my bathroom tiles

Apply Exit Mould and wipe down tiles

Exit Mould damages grout and tile surface

Damage encourages growth of deep mould

Page 24: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

24

“Fixes That Fail”

This is an example of a System Archetype

(a common pattern of behaviour)

Page 25: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Other Fixes that Fail …

• The war on terror

• Building freeways• Borrowing money to pay interest• Cutting maintenance and repair costs

25

Page 26: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

26

SYMPTOMSYMPTOM

Staff Shortage(cannot employ new people)

Page 27: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

27

SYMPTOMSYMPTOM FIXFIX

+

Staff Shortage(cannot employ new people)

Page 28: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

28

SYMPTOMSYMPTOM FIXFIX

+

Increase overtimeStaff Shortage(cannot employ new people)

Page 29: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

29

SYMPTOMSYMPTOM FIXFIX

-

+

Increase overtimeStaff Shortage(cannot employ new people)

Page 30: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

30

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCE

-

+

+

Increase overtimeStaff Shortage(cannot employ new people)

Page 31: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

31

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCE

-

+

+

Increase overtime

Physical and mental health issues

Staff Shortage(cannot employ new people)

Page 32: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

32

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCEPROBLEMPROBLEM

-

+

+

+

Increase overtime

Physical and mental health issues

Staff Shortage(cannot employ new people)

Page 33: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Dealing with a staff shortage …

33

SYMPTOMSYMPTOM FIXFIX

UNEXPECTED CONSEQUENCEUNEXPECTED CONSEQUENCEPROBLEMPROBLEM

-

+

+

+

+

Increase overtime

Physical and mental health issues

Increased sick leave

Staff Shortage(cannot employ new people)

Page 34: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

There are many such archetypes …

• System Archetypes describe patterns of behavior that surface in many different domains

• They help us– think about the possible behavior of complex systems

– understand why a complex system behaves the way it does, and

– identify things we can do to change that behavior (ie. the things that work and don’t work).

34

Page 35: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

The need for agility

35

Page 36: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

John Boyd

• Fighter pilot

• Military, sport and business strategist

36

Page 37: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Boyd’s OODA Loop• A continuous process of learning and change in

competitive environments

37

Page 38: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Speed is the key to success

• Success comes from getting around your OODA loop more quickly than your competitor– Business, Nature, Sport, Politics …

• If your competitor is quicker than you:– Your competitor's behavior will eventually appear chaotic – you will be

confused

– You will make bad decisions - based on ‘Orientation’ and ‘Observations’ that are no longer valid

– You will lose or fail

• Complex systems often evolve rapidly– You need to experiment, learn and act quickly

38

Page 39: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

The role of simulation

39

Page 40: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

How can simulation help

• We can simulate the behavior of complex systems– eg. System Dynamics Stock & Flow models

• We can do this quickly– In order to get through our OODA loop quickly

• We can run many simulations based on different parameters– That is, we can run a series of different ‘experiments’

– To find out what works & what doesn’t

40

Page 41: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

• Fred Brooks– Turing Award 1999

– Author of “The Mythical Man-Month”

– Author of “No Silver Bullet”

41

Page 42: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

42

“Adding manpower to a late software project makes it later.”

Brooks’ Law

● Note that in his book ‘The Mythical Man-Month’, Brooks says that this law is an ‘outrageous oversimplification’.

● In reality, adding people to a project is a complex problem

● We can explore this problem using System Dynamics and Simulation.

Page 43: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

43

https://insightmaker.com/insight/4648/Clone-of-Brooks-Law

Page 44: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

44

• No new developers at day 100

Page 45: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

45

• 5 new developers at day 100

Page 46: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

46

• 15 new developers at day 100

Page 47: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

47

• 15 new developers at day 100, decreased communications

Page 48: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

SFD Simulation Example - Brooks’ Law

• But, how do we reduce communication?– Fewer meetings?

– Restrictions on email use?

– ...

• … and what are the consequences?– More mistakes?

– Duplication of work?

– ...

• Additional complexity …– Need to add these aspects to the model

48

Page 49: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Exploring online SFD simulations

• https://insightmaker.com– Free & Open

– Supports Collaboration

– Huge repository of models you can play with

49

Page 51: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Exploring online SFD simulations

51

https://insightmaker.com/insight/101411/Air-Transport-Causal-Loop-Diagram

Page 52: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Exploring online SFD simulations

52

https://insightmaker.com/insight/7682/Implementing-Chronic-Care-Management

Page 53: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Additional Material …

53

System Dynamics– Wikipedia, “System Dynamics”

• https://en.wikipedia.org/wiki/System_dynamics

– Insight Maker, “Free modeling and simulation in your browser”• https://insightmaker.com

Cynefin Framework– Snowden, “Making Sense of Complexity”, Lean, Agile & Scrum Conference 2013

• https://www.youtube.com/watch?v=y6RfqmTZejU

– O’Sullivan, “Domain Driven Design for Everyone Else”, dev.to• https://dev.to/barryosull/domain-driven-design-for-everyone-else-a9

– Snowden and Boone, “A Leader’s Framework for Decision Making”, Harvard Business Review, Nov 2007

• https://hbr.org/2007/11/a-leaders-framework-for-decision-making

OODA Loops– Adolph, “What lessons can the agile community learn from a maverick fighter pilot?”,

Agile’06• https://ieeexplore.ieee.org/document/1667567/

Page 54: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Additional Material …

54

Fred Brooks– Wikipedia, “Fred Brooks”

• https://en.wikipedia.org/wiki/Fred_Brooks

– Brooks, Fredrick P. (1975). “The Mythical Man-Month: essays in software engineering.” Reading, Massachusetts: Addison-Wesley.

• Amazon

– Brooks, F. P., Jr. (1987). “No Silver Bullet – Essence and Accidents of Software Engineering”. Computer. 20 (4): 10-19

• ACM

Page 55: The Role of Simulation in dealing with complexity · The Role of Simulation in dealing with complexity Shayne.Flint@anu.edu.au Research School of Computer Science College of Engineering

Questions ?

55