Complexity and Solution
Architecture

Alan McSweeney
Generalised Solution Architecture
Sub-System 1
Primary Processor

Sub-System 2
Monitor, Audit,
Manage
January 6, 2014

Sub-System 3
Control Data
Storage
and Flow
2
Generalised Solution Architecture
•

Sub-System 1 - performs primary activities, functions that accepts
and process inputs, performs transformations and creates and
presents outputs, divided into multiple components, implements
and actualises processes and activities

•

Sub-System 2 - monitors, audits, measures, manages performance
and activities of the components of sub-system 1

•

Sub-System 3 - controls operation and communication and storage
of data between components of sub-system 1 and between subsystem 1 and sub-system 2

January 6, 2014

3
Generalised Solution Architecture
•

Useful in defining the components of the solution

January 6, 2014

4
Solution Views
Data View

Re
su

W
lts
ha
ti
Vi
sG
ew
Cr e
Ac ea n
hi te era
Ou ev d/ te
d/
tp ed
ut /

Range of Data Being
Processed/Handled

Process View
Processes Enabled and
Actualised by Solution and its
Functions

January 6, 2014

5
Solution Views And Their Interrelationships
Data View
Range of Data
Being Processed/
Handled
Results
Consist of
Created or
Transformed
Data

Processes
Read and
Generate Data

Process View
Results View
Processes Enabled
and Actualised by
Solution and
its Functions
January 6, 2014

Processes
Generate
Results

What is Generated/
Created/Achieved
6
Process View And Decomposition
Process 1

Activity 1.1

Task 1.1.1

Step 1.1.1.1
January 6, 2014

…

Task 1.1.N

… Step 1.1.1.N

…

…

Process N

Activity 1.N

Task 1.N.1

…

Task 1.N.N

Step 1.N.N.1

… Step 1.N.N.N
7
Data View And Decomposition
Data Type 1

Data Element 1.1

Data Attribute
1.1.1

Data Attribute
Value 1.1.1.1

January 6, 2014

…

…

Data Attribute
1.1.N

Data Attribute
Value 1.1.1.N

…

…

Data Type N

Data Element 1.N

Data Attribute
1.N.1

…

Data Attribute
1.N.N

Data Attribute
Value 1.N.N.1

…

Data Attribute
Value 1.N.N.N

8
Results/Outputs View And Decomposition
Output 1

Output Element
1.1

Output Attribute
1.1.1

Output Attribute
Value 1.1.1.1

January 6, 2014

…

…

Output Attribute
1.1.N

Output Attribute
Value 1.1.1.N

…

…

Output N

Output Element
1.N

Output Attribute
1.N.1

…

Output Attribute
1.N.N

Output Attribute
Value 1.N.N.1

…

Output Attribute
Value 1.N.N.N

9
Solution Views

Re
su
lts
V

ie
w

Data View

Process View

January 6, 2014

10
Generalised Decomposition Of Solution Architecture
Solution Views
Data View

Process View

Results View

Range of Data
Processes Enabled What is Generated
Being Processed/ and Actualised by
/ Created/
Solution and Its Achieved/ Output
Handled
Functions

Sub-System 1

Solution Primary Processor
Architecture Sub-System 2
Component Monitor, Audit,
Manage
Views
Sub-System 3

Communication
and Storage of
Data
January 6, 2014

11
Necessary And Unnecessary Complexity
•

Systems acquire or accrete unnecessary complexity over
time as originally unforeseen exceptions or changes are
incorporated

•

It may be possible to reduce complexity by
collapsing/compressing/combining/consolidating elements
and by removing non-value-adding, duplicate, redundant
activities

January 6, 2014

12
Necessary And Unnecessary Complexity
•

When unnecessary or accreted complexity in the problem being
solved has been removed, you are left with necessary complexity
that must be incorporated into the solution

January 6, 2014

13
Necessary/Core Complexity After Unnecessary
Complexity Removed

January 6, 2014

14
Necessary Complexity Cannot Be Reduced
Pressure to Reduce
Complexity

January 6, 2014

15
Uncompressible Complexity
Attempts To Reduce Complexity Will Give Rise To Increased
Complexity Elsewhere

Uncompressible Complexity Resembles A Waterbed – Push
Down In One Location And The Level Will Rise Elsewhere
January 6, 2014

16
Ashby’s* Law Of Requisite Variety
•

Complexity is needed to handle and process complexity

•

Only complexity can implement complexity

•

The necessary/core complexity of the problem being
solved governs and guides the scope of the complexity of
the solution

* http://en.wikipedia.org/wiki/W._Ross_Ashby
http://www.rossashby.info/index.html
January 6, 2014

17
Problem and Solution Complexity
Solution
Simple

Problem

Simple
Complex

Complex

Simple problems Simple problems do
not have complex
have simple
solutions
solutions
Complex problems Complex problems
do not have simple
have complex
solutions
solutions

•

Beware of attempts to oversimplify problems and their solutions to
attempt to save time and resources

•

Beware of attempts to introduce unnecessary complexity into simple
problems that mean wasted time and resources
January 6, 2014

18
Failure To Address Complexity And Solution Failure
•

Complexity factor of the proposed solution must match
the complexity factor of the problem being resolved

•

Many system implementation and operational failures
arise because of failure to understand and address the
core complexity of the problem

•

Underlying complexity is all to frequently ignored or
misrepresented

January 6, 2014

19
Beware Of Snake-Oil Salesmen Peddling Quick-Win
Panaceas To Complex Problems

AGILE!

January 6, 2014

Don’t be confused by
approaches to
implementation or
operation (the How) with
the complexity of what
has to be done (the
What) and how it needs
to operate in the long
term

CLOUD!

20
More Information
Alan McSweeney
http://ie.linkedin.com/in/alanmcsweeney

January 6, 2014

21

Complexity and Solution Architecture

  • 1.
  • 2.
    Generalised Solution Architecture Sub-System1 Primary Processor Sub-System 2 Monitor, Audit, Manage January 6, 2014 Sub-System 3 Control Data Storage and Flow 2
  • 3.
    Generalised Solution Architecture • Sub-System1 - performs primary activities, functions that accepts and process inputs, performs transformations and creates and presents outputs, divided into multiple components, implements and actualises processes and activities • Sub-System 2 - monitors, audits, measures, manages performance and activities of the components of sub-system 1 • Sub-System 3 - controls operation and communication and storage of data between components of sub-system 1 and between subsystem 1 and sub-system 2 January 6, 2014 3
  • 4.
    Generalised Solution Architecture • Usefulin defining the components of the solution January 6, 2014 4
  • 5.
    Solution Views Data View Re su W lts ha ti Vi sG ew Cre Ac ea n hi te era Ou ev d/ te d/ tp ed ut / Range of Data Being Processed/Handled Process View Processes Enabled and Actualised by Solution and its Functions January 6, 2014 5
  • 6.
    Solution Views AndTheir Interrelationships Data View Range of Data Being Processed/ Handled Results Consist of Created or Transformed Data Processes Read and Generate Data Process View Results View Processes Enabled and Actualised by Solution and its Functions January 6, 2014 Processes Generate Results What is Generated/ Created/Achieved 6
  • 7.
    Process View AndDecomposition Process 1 Activity 1.1 Task 1.1.1 Step 1.1.1.1 January 6, 2014 … Task 1.1.N … Step 1.1.1.N … … Process N Activity 1.N Task 1.N.1 … Task 1.N.N Step 1.N.N.1 … Step 1.N.N.N 7
  • 8.
    Data View AndDecomposition Data Type 1 Data Element 1.1 Data Attribute 1.1.1 Data Attribute Value 1.1.1.1 January 6, 2014 … … Data Attribute 1.1.N Data Attribute Value 1.1.1.N … … Data Type N Data Element 1.N Data Attribute 1.N.1 … Data Attribute 1.N.N Data Attribute Value 1.N.N.1 … Data Attribute Value 1.N.N.N 8
  • 9.
    Results/Outputs View AndDecomposition Output 1 Output Element 1.1 Output Attribute 1.1.1 Output Attribute Value 1.1.1.1 January 6, 2014 … … Output Attribute 1.1.N Output Attribute Value 1.1.1.N … … Output N Output Element 1.N Output Attribute 1.N.1 … Output Attribute 1.N.N Output Attribute Value 1.N.N.1 … Output Attribute Value 1.N.N.N 9
  • 10.
  • 11.
    Generalised Decomposition OfSolution Architecture Solution Views Data View Process View Results View Range of Data Processes Enabled What is Generated Being Processed/ and Actualised by / Created/ Solution and Its Achieved/ Output Handled Functions Sub-System 1 Solution Primary Processor Architecture Sub-System 2 Component Monitor, Audit, Manage Views Sub-System 3 Communication and Storage of Data January 6, 2014 11
  • 12.
    Necessary And UnnecessaryComplexity • Systems acquire or accrete unnecessary complexity over time as originally unforeseen exceptions or changes are incorporated • It may be possible to reduce complexity by collapsing/compressing/combining/consolidating elements and by removing non-value-adding, duplicate, redundant activities January 6, 2014 12
  • 13.
    Necessary And UnnecessaryComplexity • When unnecessary or accreted complexity in the problem being solved has been removed, you are left with necessary complexity that must be incorporated into the solution January 6, 2014 13
  • 14.
    Necessary/Core Complexity AfterUnnecessary Complexity Removed January 6, 2014 14
  • 15.
    Necessary Complexity CannotBe Reduced Pressure to Reduce Complexity January 6, 2014 15
  • 16.
    Uncompressible Complexity Attempts ToReduce Complexity Will Give Rise To Increased Complexity Elsewhere Uncompressible Complexity Resembles A Waterbed – Push Down In One Location And The Level Will Rise Elsewhere January 6, 2014 16
  • 17.
    Ashby’s* Law OfRequisite Variety • Complexity is needed to handle and process complexity • Only complexity can implement complexity • The necessary/core complexity of the problem being solved governs and guides the scope of the complexity of the solution * http://en.wikipedia.org/wiki/W._Ross_Ashby http://www.rossashby.info/index.html January 6, 2014 17
  • 18.
    Problem and SolutionComplexity Solution Simple Problem Simple Complex Complex Simple problems Simple problems do not have complex have simple solutions solutions Complex problems Complex problems do not have simple have complex solutions solutions • Beware of attempts to oversimplify problems and their solutions to attempt to save time and resources • Beware of attempts to introduce unnecessary complexity into simple problems that mean wasted time and resources January 6, 2014 18
  • 19.
    Failure To AddressComplexity And Solution Failure • Complexity factor of the proposed solution must match the complexity factor of the problem being resolved • Many system implementation and operational failures arise because of failure to understand and address the core complexity of the problem • Underlying complexity is all to frequently ignored or misrepresented January 6, 2014 19
  • 20.
    Beware Of Snake-OilSalesmen Peddling Quick-Win Panaceas To Complex Problems AGILE! January 6, 2014 Don’t be confused by approaches to implementation or operation (the How) with the complexity of what has to be done (the What) and how it needs to operate in the long term CLOUD! 20
  • 21.