SlideShare a Scribd company logo
1 of 37
Applying Systems Thinking
to Solve Wicked Problems in Software
Engineering
The scientific study of “wholes”
Majed Ayyad, PhD
Birzeit University
11/21/2019
Outline 2
1
2
3
4
What is a problem: Complex wicked Problems
What is Thinking
What is Systems Thinking
Where it is applied in Software Engineering
Replaced by
Not Yet Another Thinking
What is a Problem?
Which of the followings is a problem
The multiplication of 2 by 2
Translating the word “problem” into Arabic
Problem solving is “What you do, when you don’t know what to do”
(Wheatley, 1984)
A rule of thumb: Problems exist when learned behaviors are
not sufficient to solve the problem.
I learned
Arithmetic , I know
both languages
I am 2 years
old, I don’t
know Arabic
How Do You Solve this Problem?
Problem: Given a candidate CV, which of the following decisions you will
select:
Analyze
Challenge assumptions
Seek others opinion
Validate claimed knowledge
Critical Thinking
Use Pros and Cons
How Do You Solve this Problem?
Problem: … (Yes, three dots) Yes, But for a
specific
context?
Ah … we
need to find
the problem?
Gather Information
Verify and Validate gathered
information
Do we need Secondary
Information?
Problem Framing
Design ThinkingSelect a strategy
Build a solution Prototype
Evaluate Results
Productize
..
..
How Do You Solve this Problem?
Overtime /Velocity
Problem: Increase the development velocity by 20%
Linear Thinking
Increases
Explain a phenomenon by
using a single relationship:
cause and effect.
reductionist theory Mechanistic Thinking
What is Thinking?
Problem: What is This?
But what is thinking?
When you start the process of solving the problem … you
start the thinking process
A mind activity
To make sense of what you are aware of [here the picture:
physical perception]!
Using your [knowledge, memory, experience,…
Given the following characteristics, Name one
problem that matches all ………………….!
We don’t understand the problem until we find the solution
You can create incremental solutions to the problem, but there’s
nothing that tells you that you’ve found the correct and final solution.
Solutions are not right or wrong:
Every problem is essentially novel and unique
Every solution is a one-shot operation
Answer: Software Engineering
Which Problem is Solved by Software Engineering?
A fundamental problem of software engineering is the problem of
development of systems…
Creating value to customer
The actual product of software
engineering is ……………..
Software Engineering: A wicked Problem?
The real problem in software
engineering is to find the Value?
Software Engineering is a wicked problem
by itself. It is used to solve another wicked
problem which is finding the customer value.
Why Software Engineering is a wickedproblem?
Proof by contradiction
SE is not a wicked problem
We start by well defined problem statement
We don’t have to use incremental solutions to the
problem [ Spiral, XP, Scrum, lean, …]
We know that we are building what the customer
needs
We can use previous solutions
Change is affordable
How do We Solve Wicked Problems!
ThinkingSystems
What is Systems Thinking? Zoom out
Holistic Thinking
Synthetic thinking
Dynamic thinking
Systems thinking was developed by Jay Forrester and others at MIT.
“Systems thinking is a discipline for seeing wholes. It is a
framework for seeing interrelationships rather than things, for
seeing patterns of change rather than static ‘snapshots”
A Systems Example
A System
This Photo by Unknown Author is licensed under CC BY-SA-NC
A Part
A Structure
A Function
A Process
Thoughts
{time}
{space}
{Emergent}
{Input/Output}
{The whole is different than the sum}
{function/Role}
A Whole
{contains}
Kanban Board as a System !
Control
Stock Stock Stock
Flow
Flow
Development rate
inflow outflow
Characteristics of Systems Thinking
• Optimize the Whole – avoid sub-optimization and look for the
properties of the whole not the properties of each part.
Learn and practice the zoom out skill
What is This?
What is This?
?
Zoom out
Too vague Some characteristics Big Picture
source
The truth : A medal
A Sea Turtle Medal
Solving the Previous Buzzle!
Problem: What is This?
Again it is sea turtle!
Zoom out the Kanban Board!
Stock Stock Stock
Flow
Flow
Development rate
inflow
outflow
Characteristics of Systems Thinking
• Optimize the Whole – avoid sub-optimization look for the properties
of the whole not the properties of each part.
• Look for Relationships: Interaction is more important to understand
how components work together.
Systems Dynamics: Balancing and Enforcing Loops
Overtime /Velocity
Fatigue
Stress
+
-
-
Efficiency
+
+
+
time
Stress management
-
+
+
Features
Delivered/
Throughput
QualityProblem: Increase the development velocity by 20%
Bugs
rate of requirements change
Team skills
Budget constraints
Schedule constraints
Characteristics of Systems Thinking
• Optimize the Whole – avoid sub-optimization look for the properties
of the whole not the properties of each part.
• Look for Relationships: Interaction is more important to understand
how components work together.
• Consider Flows and Processes before Structures.
How To Develop Systems Thinking Mindset?
 Start with Synthesis
 Draw a boundary – identify the containing whole
 Study the behavior and properties of the whole – emergent
properties, homeostasis or steady state
 Study the behavior and properties of the parts in terms of
their contribution to the behavior of the whole [ use loops,
flows and stocks]- interrelationships
Identify the Whole? How can I master the zoom-out skill?
Synthesis reveals understanding—why?
Analysis reveals structure— how?
Example on Synthetic
How many developers start
the design exercise from
scratch?
• … few
• … why
• We analyze and analyze
then we compile the
design after we put a lot of
code!
Reverse Engineering is not synthetic!
Application as Stock
APIs as flows
Applications of Systems Thinking in SE
.
Operations
Development
Architecture
PlaceholderPlanning
SE-Education
Scaled Agile and Systems Thinking!
Aspects of systems thinking in © Scaled Agile, Inc.
Microservices Challenges
• Decentralized Governance and Data Management
• Creating Synergies and Orchestrations
• Heterogeneity and Homeostasis
• Network Structure
(Image: Bruce Wong, Netflix)
DevOps
Feedbacks
Flows work, experiments and learning
The 175 Principles of Flow
ECONOMIC PRINCIPLES
QUEUEING PRINCIPLES
FLOW CONTROL PRINCIPLES
FAST FEEDBACK PRINCIPLES
We have developed and evolved an MS-level software engineering
curriculum that enables Computer Science (CS) majors to become
considerably more T-shaped than when they entered. It includes
courses in software management and economics, human-computer
interaction, embedded software systems, systems and software
requirements, architecture, and Verification and Validation (V&V), and
a two-semester, real-client team project course that gives students
experience in applying these skills.
Between 𝑡0 𝑎𝑛𝑑 𝑡0 + 1
The Domino effect
Image source
Faulty Requirements
Faulty design
Faulty functionality
Faulty logic
The bug path
Final Remark
• Systems are connected through a complex network!
• Software Engineering a Socio-Technical System
• Theory of systems is our way to achieve Integration in the various
sciences, natural and social as inspired by von Bertalanffy
(Image: Josh Evans, Netflix)
Not Anymore R&D
• Research and design are not two different things!
• …. Design is also a research methodology
THANK YOU.
Summary
• Software systems are essentially socio-technical systems
• and they are not isolated from other systems engineering processes.
Unconsciously or by intention, we implement systems thinking in multi-
agent systems, microservices, DevOps, distributed systems, API-led
integrations and lean based software development life cycles. However, the
concrete relationship between systems thinking and software engineering
is still a green area and barely highlighted as a common practice among
software engineers. In this presentation, we will
• elaborate how systems thinking helps us to understand the socio-technical
aspects of software engineering. We will discuss why systems thinking is
important in the field of software engineering, provide examples where it
is currently used and show the general areas where systems thinking
applies to tackle complex software problems

More Related Content

What's hot

クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門H Iseri
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015Kotaro Ogino
 
IT Service Catalogs: 5 Keys to Good Service Design
IT Service Catalogs: 5 Keys to Good Service DesignIT Service Catalogs: 5 Keys to Good Service Design
IT Service Catalogs: 5 Keys to Good Service DesignEvergreen Systems
 
Mike Sharples - Generative AI and Large Language Models in Digital Education....
Mike Sharples - Generative AI and Large Language Models in Digital Education....Mike Sharples - Generative AI and Large Language Models in Digital Education....
Mike Sharples - Generative AI and Large Language Models in Digital Education....EADTU
 
Improve IT Business Alignment With An Infrastructure Roadmap
Improve IT Business Alignment With An Infrastructure RoadmapImprove IT Business Alignment With An Infrastructure Roadmap
Improve IT Business Alignment With An Infrastructure RoadmapInfo-Tech Research Group
 
ITSM Foundation Course Material
ITSM Foundation Course MaterialITSM Foundation Course Material
ITSM Foundation Course Materialstefanhenry
 
IIBA® Sydney - From Isolation to Innovation: Effective Communities Practice
IIBA® Sydney - From Isolation to Innovation: Effective Communities PracticeIIBA® Sydney - From Isolation to Innovation: Effective Communities Practice
IIBA® Sydney - From Isolation to Innovation: Effective Communities PracticeAustraliaChapterIIBA
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecturecccamericas
 
IT Service Desk
IT Service DeskIT Service Desk
IT Service DeskSkyCentral
 
From SLAs to XLAs | Shift to pro-active service delivery
From SLAs to XLAs | Shift to pro-active service deliveryFrom SLAs to XLAs | Shift to pro-active service delivery
From SLAs to XLAs | Shift to pro-active service deliverynexthink
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
品質とは何か.pdf
品質とは何か.pdf品質とは何か.pdf
品質とは何か.pdfkauji0522
 
The ITFM Tool Journey
The ITFM Tool JourneyThe ITFM Tool Journey
The ITFM Tool JourneyPete Hidalgo
 
How to fulfil requirements of ISO 20000:2018 Documents?
How to fulfil requirements of ISO 20000:2018 Documents?How to fulfil requirements of ISO 20000:2018 Documents?
How to fulfil requirements of ISO 20000:2018 Documents?Global Manager Group
 
Siebel crm strategy and roadmap ()
Siebel crm strategy and roadmap ()Siebel crm strategy and roadmap ()
Siebel crm strategy and roadmap ()crm2life
 
Managed it services
Managed it servicesManaged it services
Managed it servicesGss America
 
The updated non-technical introduction to ChatGPT SEDA March 2023.pptx
The updated non-technical introduction to ChatGPT SEDA March 2023.pptxThe updated non-technical introduction to ChatGPT SEDA March 2023.pptx
The updated non-technical introduction to ChatGPT SEDA March 2023.pptxSue Beckingham
 

What's hot (20)

クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
IT Service Catalogs: 5 Keys to Good Service Design
IT Service Catalogs: 5 Keys to Good Service DesignIT Service Catalogs: 5 Keys to Good Service Design
IT Service Catalogs: 5 Keys to Good Service Design
 
こうすればできる!ウェブアクセシビリティ試験実施のポイント
こうすればできる!ウェブアクセシビリティ試験実施のポイントこうすればできる!ウェブアクセシビリティ試験実施のポイント
こうすればできる!ウェブアクセシビリティ試験実施のポイント
 
Mike Sharples - Generative AI and Large Language Models in Digital Education....
Mike Sharples - Generative AI and Large Language Models in Digital Education....Mike Sharples - Generative AI and Large Language Models in Digital Education....
Mike Sharples - Generative AI and Large Language Models in Digital Education....
 
Improve IT Business Alignment With An Infrastructure Roadmap
Improve IT Business Alignment With An Infrastructure RoadmapImprove IT Business Alignment With An Infrastructure Roadmap
Improve IT Business Alignment With An Infrastructure Roadmap
 
ITSM Foundation Course Material
ITSM Foundation Course MaterialITSM Foundation Course Material
ITSM Foundation Course Material
 
IIBA® Sydney - From Isolation to Innovation: Effective Communities Practice
IIBA® Sydney - From Isolation to Innovation: Effective Communities PracticeIIBA® Sydney - From Isolation to Innovation: Effective Communities Practice
IIBA® Sydney - From Isolation to Innovation: Effective Communities Practice
 
The NLP Muppets revolution!
The NLP Muppets revolution!The NLP Muppets revolution!
The NLP Muppets revolution!
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecture
 
IT Service Desk
IT Service DeskIT Service Desk
IT Service Desk
 
From SLAs to XLAs | Shift to pro-active service delivery
From SLAs to XLAs | Shift to pro-active service deliveryFrom SLAs to XLAs | Shift to pro-active service delivery
From SLAs to XLAs | Shift to pro-active service delivery
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
品質とは何か.pdf
品質とは何か.pdf品質とは何か.pdf
品質とは何か.pdf
 
The ITFM Tool Journey
The ITFM Tool JourneyThe ITFM Tool Journey
The ITFM Tool Journey
 
How to fulfil requirements of ISO 20000:2018 Documents?
How to fulfil requirements of ISO 20000:2018 Documents?How to fulfil requirements of ISO 20000:2018 Documents?
How to fulfil requirements of ISO 20000:2018 Documents?
 
Siebel crm strategy and roadmap ()
Siebel crm strategy and roadmap ()Siebel crm strategy and roadmap ()
Siebel crm strategy and roadmap ()
 
Managed it services
Managed it servicesManaged it services
Managed it services
 
Chatbot
ChatbotChatbot
Chatbot
 
The updated non-technical introduction to ChatGPT SEDA March 2023.pptx
The updated non-technical introduction to ChatGPT SEDA March 2023.pptxThe updated non-technical introduction to ChatGPT SEDA March 2023.pptx
The updated non-technical introduction to ChatGPT SEDA March 2023.pptx
 

Similar to Applying Systems Thinking to Solve Wicked Problems in Software Engineering

Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cardsTudor Girba
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
 
Agile Practices and Design Thinking.pptx
Agile Practices and Design Thinking.pptxAgile Practices and Design Thinking.pptx
Agile Practices and Design Thinking.pptxtosoyo4069
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
 
Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)Makaha Rutendo
 
Role of system analyst
Role of system analystRole of system analyst
Role of system analystShaileshModi9
 
In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?Rich Hilliard
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 
Lecture2 2
Lecture2 2Lecture2 2
Lecture2 2soloeng
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for TestingSQALab
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
From Prototype to MVP (case study)
From Prototype to MVP (case study)From Prototype to MVP (case study)
From Prototype to MVP (case study)Sergey Sundukovskiy
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxAbdulMateen516672
 
What can Enterprise Architecture learn from Systems Thinking?
What can Enterprise Architecture learn from Systems Thinking?What can Enterprise Architecture learn from Systems Thinking?
What can Enterprise Architecture learn from Systems Thinking?Richard Veryard
 
Best Practice Information Architecture
Best Practice Information ArchitectureBest Practice Information Architecture
Best Practice Information ArchitecturePatrick Kennedy
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessaryYazid Hamdi
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxMrSDeepakRajAssistan
 

Similar to Applying Systems Thinking to Solve Wicked Problems in Software Engineering (20)

Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
 
Agile Practices and Design Thinking.pptx
Agile Practices and Design Thinking.pptxAgile Practices and Design Thinking.pptx
Agile Practices and Design Thinking.pptx
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)
 
Role of system analyst
Role of system analystRole of system analyst
Role of system analyst
 
In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Lecture2 2
Lecture2 2Lecture2 2
Lecture2 2
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
From Prototype to MVP (case study)
From Prototype to MVP (case study)From Prototype to MVP (case study)
From Prototype to MVP (case study)
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
What can Enterprise Architecture learn from Systems Thinking?
What can Enterprise Architecture learn from Systems Thinking?What can Enterprise Architecture learn from Systems Thinking?
What can Enterprise Architecture learn from Systems Thinking?
 
Welcome.pptx
Welcome.pptxWelcome.pptx
Welcome.pptx
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
Best Practice Information Architecture
Best Practice Information ArchitectureBest Practice Information Architecture
Best Practice Information Architecture
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessary
 
Systems Thinking
Systems ThinkingSystems Thinking
Systems Thinking
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Applying Systems Thinking to Solve Wicked Problems in Software Engineering

  • 1. Applying Systems Thinking to Solve Wicked Problems in Software Engineering The scientific study of “wholes” Majed Ayyad, PhD Birzeit University 11/21/2019
  • 2. Outline 2 1 2 3 4 What is a problem: Complex wicked Problems What is Thinking What is Systems Thinking Where it is applied in Software Engineering Replaced by
  • 3. Not Yet Another Thinking
  • 4. What is a Problem? Which of the followings is a problem The multiplication of 2 by 2 Translating the word “problem” into Arabic Problem solving is “What you do, when you don’t know what to do” (Wheatley, 1984) A rule of thumb: Problems exist when learned behaviors are not sufficient to solve the problem. I learned Arithmetic , I know both languages I am 2 years old, I don’t know Arabic
  • 5. How Do You Solve this Problem? Problem: Given a candidate CV, which of the following decisions you will select: Analyze Challenge assumptions Seek others opinion Validate claimed knowledge Critical Thinking Use Pros and Cons
  • 6. How Do You Solve this Problem? Problem: … (Yes, three dots) Yes, But for a specific context? Ah … we need to find the problem? Gather Information Verify and Validate gathered information Do we need Secondary Information? Problem Framing Design ThinkingSelect a strategy Build a solution Prototype Evaluate Results Productize .. ..
  • 7. How Do You Solve this Problem? Overtime /Velocity Problem: Increase the development velocity by 20% Linear Thinking Increases Explain a phenomenon by using a single relationship: cause and effect. reductionist theory Mechanistic Thinking
  • 8. What is Thinking? Problem: What is This? But what is thinking? When you start the process of solving the problem … you start the thinking process A mind activity To make sense of what you are aware of [here the picture: physical perception]! Using your [knowledge, memory, experience,…
  • 9. Given the following characteristics, Name one problem that matches all ………………….! We don’t understand the problem until we find the solution You can create incremental solutions to the problem, but there’s nothing that tells you that you’ve found the correct and final solution. Solutions are not right or wrong: Every problem is essentially novel and unique Every solution is a one-shot operation Answer: Software Engineering
  • 10. Which Problem is Solved by Software Engineering? A fundamental problem of software engineering is the problem of development of systems… Creating value to customer The actual product of software engineering is ……………..
  • 11. Software Engineering: A wicked Problem? The real problem in software engineering is to find the Value? Software Engineering is a wicked problem by itself. It is used to solve another wicked problem which is finding the customer value.
  • 12. Why Software Engineering is a wickedproblem? Proof by contradiction SE is not a wicked problem We start by well defined problem statement We don’t have to use incremental solutions to the problem [ Spiral, XP, Scrum, lean, …] We know that we are building what the customer needs We can use previous solutions Change is affordable
  • 13. How do We Solve Wicked Problems! ThinkingSystems
  • 14. What is Systems Thinking? Zoom out Holistic Thinking Synthetic thinking Dynamic thinking Systems thinking was developed by Jay Forrester and others at MIT. “Systems thinking is a discipline for seeing wholes. It is a framework for seeing interrelationships rather than things, for seeing patterns of change rather than static ‘snapshots”
  • 15. A Systems Example A System This Photo by Unknown Author is licensed under CC BY-SA-NC A Part A Structure A Function A Process Thoughts {time} {space} {Emergent} {Input/Output} {The whole is different than the sum} {function/Role} A Whole {contains}
  • 16. Kanban Board as a System ! Control Stock Stock Stock Flow Flow Development rate inflow outflow
  • 17. Characteristics of Systems Thinking • Optimize the Whole – avoid sub-optimization and look for the properties of the whole not the properties of each part. Learn and practice the zoom out skill
  • 20. ? Zoom out Too vague Some characteristics Big Picture source The truth : A medal A Sea Turtle Medal
  • 21. Solving the Previous Buzzle! Problem: What is This? Again it is sea turtle!
  • 22. Zoom out the Kanban Board! Stock Stock Stock Flow Flow Development rate inflow outflow
  • 23. Characteristics of Systems Thinking • Optimize the Whole – avoid sub-optimization look for the properties of the whole not the properties of each part. • Look for Relationships: Interaction is more important to understand how components work together.
  • 24. Systems Dynamics: Balancing and Enforcing Loops Overtime /Velocity Fatigue Stress + - - Efficiency + + + time Stress management - + + Features Delivered/ Throughput QualityProblem: Increase the development velocity by 20% Bugs rate of requirements change Team skills Budget constraints Schedule constraints
  • 25. Characteristics of Systems Thinking • Optimize the Whole – avoid sub-optimization look for the properties of the whole not the properties of each part. • Look for Relationships: Interaction is more important to understand how components work together. • Consider Flows and Processes before Structures.
  • 26. How To Develop Systems Thinking Mindset?  Start with Synthesis  Draw a boundary – identify the containing whole  Study the behavior and properties of the whole – emergent properties, homeostasis or steady state  Study the behavior and properties of the parts in terms of their contribution to the behavior of the whole [ use loops, flows and stocks]- interrelationships Identify the Whole? How can I master the zoom-out skill? Synthesis reveals understanding—why? Analysis reveals structure— how?
  • 27. Example on Synthetic How many developers start the design exercise from scratch? • … few • … why • We analyze and analyze then we compile the design after we put a lot of code! Reverse Engineering is not synthetic! Application as Stock APIs as flows
  • 28. Applications of Systems Thinking in SE . Operations Development Architecture PlaceholderPlanning SE-Education
  • 29. Scaled Agile and Systems Thinking! Aspects of systems thinking in © Scaled Agile, Inc.
  • 30. Microservices Challenges • Decentralized Governance and Data Management • Creating Synergies and Orchestrations • Heterogeneity and Homeostasis • Network Structure (Image: Bruce Wong, Netflix)
  • 31. DevOps Feedbacks Flows work, experiments and learning The 175 Principles of Flow ECONOMIC PRINCIPLES QUEUEING PRINCIPLES FLOW CONTROL PRINCIPLES FAST FEEDBACK PRINCIPLES
  • 32. We have developed and evolved an MS-level software engineering curriculum that enables Computer Science (CS) majors to become considerably more T-shaped than when they entered. It includes courses in software management and economics, human-computer interaction, embedded software systems, systems and software requirements, architecture, and Verification and Validation (V&V), and a two-semester, real-client team project course that gives students experience in applying these skills.
  • 33. Between 𝑡0 𝑎𝑛𝑑 𝑡0 + 1 The Domino effect Image source Faulty Requirements Faulty design Faulty functionality Faulty logic The bug path
  • 34. Final Remark • Systems are connected through a complex network! • Software Engineering a Socio-Technical System • Theory of systems is our way to achieve Integration in the various sciences, natural and social as inspired by von Bertalanffy (Image: Josh Evans, Netflix)
  • 35. Not Anymore R&D • Research and design are not two different things! • …. Design is also a research methodology
  • 37. Summary • Software systems are essentially socio-technical systems • and they are not isolated from other systems engineering processes. Unconsciously or by intention, we implement systems thinking in multi- agent systems, microservices, DevOps, distributed systems, API-led integrations and lean based software development life cycles. However, the concrete relationship between systems thinking and software engineering is still a green area and barely highlighted as a common practice among software engineers. In this presentation, we will • elaborate how systems thinking helps us to understand the socio-technical aspects of software engineering. We will discuss why systems thinking is important in the field of software engineering, provide examples where it is currently used and show the general areas where systems thinking applies to tackle complex software problems