SlideShare a Scribd company logo
Solving complex Business IT
Problems using FOSS -
#TDOSE 2016
NO COMPLEXITY
Solving complex
Business IT
Problems using
FOSS
Version : 1.0
Date : 12-11-2016
Status : Open for Discussion!
Author : Maikel Mardjan (@maikelmardjan)
© 2016 Maikel Mardjan
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International
License.
(YOUR) IT PROJECTS NEVER FAIL!
WHOAMI
Name : Maikel Mardjan (Dutch) (Twitter
@maikelmardjan)
 Architecture & Design
 20+ years working within IT Industry
 Master (MSc) Business Studies of
University of Groningen
 Master degree (MSc) Electrical
Engineering, of Delft University of
Technology
 …and still likes to do real hands-on
programming (Golang, Python,
PHP,JS etc) to make and break things
I love complex IT problem solving!
AGENDA - OUTLINE
 IT projects never fail!
 What is system dynamics?
 How to model a complex IT problem?
 FOSS software for system dynamics
 Advantages and disadvantages FOSS tools for problem solving
InsightMaker
Notebooks
FOSS
System
Dynamics
Complex
IT
Problems
Disclaimer: I simplify on purpose!
IT PROJECTS NEVER FAIL!
IT PROJECTS NEVER FAIL!
IT PROJECTS NEVER FAIL!
IT PROJECTS NEVER FAIL!
Complex IT Projects
Increasing
Demands
Increasing
Complexity
(too)High
change
rate on IT
New
Technology
Vendor-
lock-in(s)
People
(New)
Methods
(Better)
Tools
Same
solutions
IT PROJECTS NEVER FAIL!
So:
Do not believe anyone
that claims to know
why projects fail!
(The world is too complex for simple fix lists)
OUTLINE
 IT projects never fail!
 What is system dynamics?
 How to model a complex dynamic IT problem?
 FOSS software for system dynamics
 Advantages and disadvantages FOSS tools for problem solving
SYSTEM DYNAMICS
Simple IT project explodes
SYSTEM DYNAMICS
Known and Unknown behaviour makes IT projects comparable with
rocket launching:
 Programming (mistakes)
 Knowledge
 Floating specs
 Budget
 Scope creep
 Software errors
 Hardware errors (CPU, Storage, etc)
 Communication errors (network and humans)
 Human behaviour
 Factor time
SYSTEM DYNAMICS
SYSTEM DYNAMICS
Behavior Patterns,
Change over time
Systemic Structure
Increasing
Leverage
Mental Models
15
Events
MOST NASTY FACTORS THAT MAKES
IT PROBLEMS COMPLEX
Only a few factors make problems complex and hard to solve:
 Humans (mostly behaviour)
 Time (and delays in time)
HUMANS
HUMANS
Our first response on problems is to
blame (other) people!
TIME: EXPONENTIAL BEHAVIOUR
-> Time
Your FOSS
project:
• Bugs
• Forks
• #Develop
ers
A little
A lot
Exponential
growth
F5:REFRESH
Reset your
mind!
Graphics
are lies!
TIME: EXPONENTIAL (MOST TIMES IN
REALITY)
-> Time
Your FOSS
project:
• Bugs
• Forks
• #Develop
ers
A little
A lot
Exponential
Failure
TIME: SCALE
Tactical
Length of simulation runFrom Days To Years
Operations
Strategic
CORE TOOLS OF SYSTEM DYNAMICS:
SHARING PERCEPTIONS (MENTAL
MODELS)
CORE TOOLS OF SYSTEM
DYNAMICS:CAUSAL LOOP DIAGRAMS
Fear of
Reporting
Issues
Punished
SW-
Engineers
Number
of
Reported
Issues
Balancing loop (B)
-
+
+
CORE TOOLS OF SYSTEM DYNAMICS:
STOCK AND FLOWS MODELS
26
Diverging
Converging S-Shaped
Oscillations
Finding the archetypes (feedback loops) in non-linear systems is very hard. (=for
us humans)
CORE TOOLS OF SYSTEM DYNAMICS
ARCHETYPES- FEEDBACK AND BEHAVIOUR
Feedback loops are linked to specific kinds of basic behaviour patterns:
CORE TOOLS OF SYSTEM DYNAMICS:
SIMULATING
AGENDA
 IT projects never fail!
 What is system dynamics?
 How to model a complex IT problem? (use FOSS?)
 FOSS software for system dynamics
 Advantages and disadvantages of using FOSS tools for
problem solving
HOW TO MODEL A COMPLEX IT PROBLEM
Use the Tools!
 Rich picture (share your mental model)
 Conversation
 Discussion (relationship / causality / increase or decrease )
 Draw Causal Loop Diagrams (CLD’s) Diagram(s)
Optional:
 Create Stock/Flow diagram(s)
 Calculate behaviour / outcome (use good! FOSS Software)
 Play with model
DEMO!
#TDOSE People Watch: Using FOSS now…
SIMPLE MODEL
Causal Loop Diagram
Example: Increasing IT hiring to augment existing experienced staff,
but then finding that the experienced staff’s time is largely
consumed by bringing the new hires up to speed, resulting in a sharp
loss in productivity.
MORE COMPLEX MODEL:BROOKS LAW
Brooks’ Law: Adding manpower to a late software project makes it
later
…But is it really true?
Brooks’ Law is well known in the software engineering community
due to the ground-breaking book, “The Mythical Man Month: Essays
on Software Engineering”
(https://archive.org/details/mythicalmanmonth00fred )
BROOKS LAW
AGENDA
 IT projects never fail!
 What is system dynamics?
 How to model a complex IT problem?
 FOSS software for system dynamics
 Advantages and disadvantages of using FOSS tools for
problem solving
FOSS AND COMPLEX PROBLEM
SOLVING
Problem solving = (too much) nasty complex
mathematics
Problem solving = Collaboration with other
people
Problem solving = Universities/Science and
FOSS
(Always hard: Technical people and non-
technical people speak and think differently)
FOSS is still not the leading standard in the scientific world.
FOSS TOOLS AND COMPLEX PROBLEM
SOLVING
Developing a user friendly tool for complex problem solving is hard.
Great mathematics FOSS algorithms help, but is not enough.
What makes it hard?
 Math -)
 UI:User friendly
 Platform: installation == (hell | forbidden | requires time &
Knowledge )
Best FOSS tools currently around for SD:
 InsightMaker
 Notebooks
 NetLogo (Is it because I do not like Java anymore?)
INSIGHTMAKER
A feature rich modelling suite in the browser:
 Core features:
 System dynamics
 Agent Based Modeling
 Diagramming and Rich Pictures
 And more!
 Insight maker models are web pages
 Easy sharing of work (mail, link, post on social network etc)
 FULLY browser based (all JS works in your browser)
 Clone Insight (‘work’) of others and improve / build upon (‘the
oss-way’)
 Export options (CSV, models, JSON, CSS-style sheets)
DEMO!
#TDOSE People: Playing is learning
INSIGHT MAKER TECHNICAL
ARCHITECTURE
 Client (browser-based) / Server (minimal, only for storing)
 Server:
 Stores models
 Manages user accounts
 Manages collaborative editing
 Client:
 Model construction
 Simulation
 Result display
 Client-side code runs the simulation
And since you DONOT want malware, all software is AGPL (you can
run it on your own server)
GUIDING PRINCIPLES BEHIND
INSIGHT MAKER
Trade-off between: performance, features, and accessibility
THE NOTEBOOK
THE NOTEBOOK
THE JUPYTER NOTEBOOK
 Successor of IPython Project in 2014
 A web application to create and share documents that
contain live code, equations, visualizations and
explanatory text.
 Notebook has support for over 40 programming
languages
 Reproducible science, scientific computing, data science
(‘R’), data visualization and more
DEMO!
#TDOSE Awesome Folks: Just give it a try!
AGENDA
 IT projects never fail!
 What is system dynamics?
 How to model a complex IT problem?
 FOSS software for system dynamics
 Advantages and disadvantages FOSS tools for problem solving
(and recap)
ADVANTAGES AND DISADVANTAGES OF
FOSS FOR COMPLEX IT PROBLEMS
What is your experience
/ opinion?
FUTURE?!
 Standard for on input/output of models (Shall InsightMaker
(=we) set the new standard, so that commercial vendors will
follow?)
 More people working with AND on InsightMaker?
(Maintenance !!)
 More notebooks online (cc-licensed)! (already 500k on github)
 JupyterLab (next-gen Jupyter notebooks)
 Easier integration and exchange of tools and results
 Easy-to-use FOSS tools for Data Analyse (‘big-data’) and
merge of data analytics with system dynamic modeling.
SUMMARY
The real power understanding complex IT problems by system
dynamics is only possible through:
Simulation
Be aware: All models are WRONG (John D. Sterman - SD guru
@MIT)
SUMMARY
System Dynamics (SD) is a method to manage complex systems
characterized by:
 nonlinear dynamics
 feedback
 time delays
 soft factors
 interdisciplinary aspects
Using FOSS makes SD easier to use!
(And can make it easier to really solve complex IT problems
together)
Disclaimer: Not all type of problems are suitable to approach with
system dynamics!
THANK YOU!
More information?
Call me : +31 [0] 6 22869536 of
Mail : info@organisatieontwerp.nl
Twitter : @maikelmardjan
(Sometimes available for solving your real nasty complex IT
problems!)
Trust me…
It worked on my computer

More Related Content

System Dynamics and FOSS

  • 1. Solving complex Business IT Problems using FOSS - #TDOSE 2016
  • 2. NO COMPLEXITY Solving complex Business IT Problems using FOSS Version : 1.0 Date : 12-11-2016 Status : Open for Discussion! Author : Maikel Mardjan (@maikelmardjan) © 2016 Maikel Mardjan This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
  • 3. (YOUR) IT PROJECTS NEVER FAIL!
  • 4. WHOAMI Name : Maikel Mardjan (Dutch) (Twitter @maikelmardjan)  Architecture & Design  20+ years working within IT Industry  Master (MSc) Business Studies of University of Groningen  Master degree (MSc) Electrical Engineering, of Delft University of Technology  …and still likes to do real hands-on programming (Golang, Python, PHP,JS etc) to make and break things I love complex IT problem solving!
  • 5. AGENDA - OUTLINE  IT projects never fail!  What is system dynamics?  How to model a complex IT problem?  FOSS software for system dynamics  Advantages and disadvantages FOSS tools for problem solving InsightMaker Notebooks FOSS System Dynamics Complex IT Problems Disclaimer: I simplify on purpose!
  • 9. IT PROJECTS NEVER FAIL! Complex IT Projects Increasing Demands Increasing Complexity (too)High change rate on IT New Technology Vendor- lock-in(s) People (New) Methods (Better) Tools Same solutions
  • 10. IT PROJECTS NEVER FAIL! So: Do not believe anyone that claims to know why projects fail! (The world is too complex for simple fix lists)
  • 11. OUTLINE  IT projects never fail!  What is system dynamics?  How to model a complex dynamic IT problem?  FOSS software for system dynamics  Advantages and disadvantages FOSS tools for problem solving
  • 12. SYSTEM DYNAMICS Simple IT project explodes
  • 13. SYSTEM DYNAMICS Known and Unknown behaviour makes IT projects comparable with rocket launching:  Programming (mistakes)  Knowledge  Floating specs  Budget  Scope creep  Software errors  Hardware errors (CPU, Storage, etc)  Communication errors (network and humans)  Human behaviour  Factor time
  • 15. SYSTEM DYNAMICS Behavior Patterns, Change over time Systemic Structure Increasing Leverage Mental Models 15 Events
  • 16. MOST NASTY FACTORS THAT MAKES IT PROBLEMS COMPLEX Only a few factors make problems complex and hard to solve:  Humans (mostly behaviour)  Time (and delays in time)
  • 18. HUMANS Our first response on problems is to blame (other) people!
  • 19. TIME: EXPONENTIAL BEHAVIOUR -> Time Your FOSS project: • Bugs • Forks • #Develop ers A little A lot Exponential growth
  • 21. TIME: EXPONENTIAL (MOST TIMES IN REALITY) -> Time Your FOSS project: • Bugs • Forks • #Develop ers A little A lot Exponential Failure
  • 22. TIME: SCALE Tactical Length of simulation runFrom Days To Years Operations Strategic
  • 23. CORE TOOLS OF SYSTEM DYNAMICS: SHARING PERCEPTIONS (MENTAL MODELS)
  • 24. CORE TOOLS OF SYSTEM DYNAMICS:CAUSAL LOOP DIAGRAMS Fear of Reporting Issues Punished SW- Engineers Number of Reported Issues Balancing loop (B) - + +
  • 25. CORE TOOLS OF SYSTEM DYNAMICS: STOCK AND FLOWS MODELS
  • 26. 26 Diverging Converging S-Shaped Oscillations Finding the archetypes (feedback loops) in non-linear systems is very hard. (=for us humans) CORE TOOLS OF SYSTEM DYNAMICS ARCHETYPES- FEEDBACK AND BEHAVIOUR Feedback loops are linked to specific kinds of basic behaviour patterns:
  • 27. CORE TOOLS OF SYSTEM DYNAMICS: SIMULATING
  • 28. AGENDA  IT projects never fail!  What is system dynamics?  How to model a complex IT problem? (use FOSS?)  FOSS software for system dynamics  Advantages and disadvantages of using FOSS tools for problem solving
  • 29. HOW TO MODEL A COMPLEX IT PROBLEM Use the Tools!  Rich picture (share your mental model)  Conversation  Discussion (relationship / causality / increase or decrease )  Draw Causal Loop Diagrams (CLD’s) Diagram(s) Optional:  Create Stock/Flow diagram(s)  Calculate behaviour / outcome (use good! FOSS Software)  Play with model
  • 30. DEMO! #TDOSE People Watch: Using FOSS now…
  • 31. SIMPLE MODEL Causal Loop Diagram Example: Increasing IT hiring to augment existing experienced staff, but then finding that the experienced staff’s time is largely consumed by bringing the new hires up to speed, resulting in a sharp loss in productivity.
  • 32. MORE COMPLEX MODEL:BROOKS LAW Brooks’ Law: Adding manpower to a late software project makes it later …But is it really true? Brooks’ Law is well known in the software engineering community due to the ground-breaking book, “The Mythical Man Month: Essays on Software Engineering” (https://archive.org/details/mythicalmanmonth00fred )
  • 34. AGENDA  IT projects never fail!  What is system dynamics?  How to model a complex IT problem?  FOSS software for system dynamics  Advantages and disadvantages of using FOSS tools for problem solving
  • 35. FOSS AND COMPLEX PROBLEM SOLVING Problem solving = (too much) nasty complex mathematics Problem solving = Collaboration with other people Problem solving = Universities/Science and FOSS (Always hard: Technical people and non- technical people speak and think differently) FOSS is still not the leading standard in the scientific world.
  • 36. FOSS TOOLS AND COMPLEX PROBLEM SOLVING Developing a user friendly tool for complex problem solving is hard. Great mathematics FOSS algorithms help, but is not enough. What makes it hard?  Math -)  UI:User friendly  Platform: installation == (hell | forbidden | requires time & Knowledge ) Best FOSS tools currently around for SD:  InsightMaker  Notebooks  NetLogo (Is it because I do not like Java anymore?)
  • 37. INSIGHTMAKER A feature rich modelling suite in the browser:  Core features:  System dynamics  Agent Based Modeling  Diagramming and Rich Pictures  And more!  Insight maker models are web pages  Easy sharing of work (mail, link, post on social network etc)  FULLY browser based (all JS works in your browser)  Clone Insight (‘work’) of others and improve / build upon (‘the oss-way’)  Export options (CSV, models, JSON, CSS-style sheets)
  • 39. INSIGHT MAKER TECHNICAL ARCHITECTURE  Client (browser-based) / Server (minimal, only for storing)  Server:  Stores models  Manages user accounts  Manages collaborative editing  Client:  Model construction  Simulation  Result display  Client-side code runs the simulation And since you DONOT want malware, all software is AGPL (you can run it on your own server)
  • 40. GUIDING PRINCIPLES BEHIND INSIGHT MAKER Trade-off between: performance, features, and accessibility
  • 43. THE JUPYTER NOTEBOOK  Successor of IPython Project in 2014  A web application to create and share documents that contain live code, equations, visualizations and explanatory text.  Notebook has support for over 40 programming languages  Reproducible science, scientific computing, data science (‘R’), data visualization and more
  • 44. DEMO! #TDOSE Awesome Folks: Just give it a try!
  • 45. AGENDA  IT projects never fail!  What is system dynamics?  How to model a complex IT problem?  FOSS software for system dynamics  Advantages and disadvantages FOSS tools for problem solving (and recap)
  • 46. ADVANTAGES AND DISADVANTAGES OF FOSS FOR COMPLEX IT PROBLEMS What is your experience / opinion?
  • 47. FUTURE?!  Standard for on input/output of models (Shall InsightMaker (=we) set the new standard, so that commercial vendors will follow?)  More people working with AND on InsightMaker? (Maintenance !!)  More notebooks online (cc-licensed)! (already 500k on github)  JupyterLab (next-gen Jupyter notebooks)  Easier integration and exchange of tools and results  Easy-to-use FOSS tools for Data Analyse (‘big-data’) and merge of data analytics with system dynamic modeling.
  • 48. SUMMARY The real power understanding complex IT problems by system dynamics is only possible through: Simulation Be aware: All models are WRONG (John D. Sterman - SD guru @MIT)
  • 49. SUMMARY System Dynamics (SD) is a method to manage complex systems characterized by:  nonlinear dynamics  feedback  time delays  soft factors  interdisciplinary aspects Using FOSS makes SD easier to use! (And can make it easier to really solve complex IT problems together) Disclaimer: Not all type of problems are suitable to approach with system dynamics!
  • 50. THANK YOU! More information? Call me : +31 [0] 6 22869536 of Mail : info@organisatieontwerp.nl Twitter : @maikelmardjan (Sometimes available for solving your real nasty complex IT problems!) Trust me… It worked on my computer