Sociotechnical Engineering at IT Meetup Bruchsal 19.09.2024 by Yevgen Nebesov

YevgenNebesov 51 views 49 slides Sep 22, 2024
Slide 1
Slide 1 of 49
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49

About This Presentation

In software projects, individuals and technical artifacts mutually influence each other, forming complex sociotechnical systems that necessitate a holistic approach. Despite their complexity, we can approach these systems similarly to how we approach technical systems: by eliciting requirements, des...


Slide Content

ComplexityNavigator.rocks
Sociotechnical
Engineering
19.09.2024
For kids between
8 and 88 years
old

ABOUT ME
KHARKIV

Systems architecture
in real life
Systems architecture
in books

Systems
Architect
Technical
System
Social
System

He is thinking about
another woman
People and matter are
interconnected and have
agency upon each other
SOCIOMATERIALITY

SYSTEMS ARCHITECTURE IS...
...the navigation of
complexity in projects

Four Horsemen of the Apocalypse Uncertainty
Technical
Uncertainty
Domain
Uncertainty
Political
Uncertainty
Operational
Uncertainty
DOMAIN
DRIVEN
DESIGN
TEAM
TOPOLOGIES

"Needless to say, Politics Systems Architecture is
too important to be left to the politicians
Systems Architects."
Charles de Gaulle
Yes, he really
said it!

A HOLISTIC APPROACH TO
ADDRESS MULTIDIMENSIONAL
COMPLEXITY

SYSTEMS THINKING
FOR SOCIO-TECHNICAL SYSTEMS
HOW SYSTEMS
ARCHITECTS
CALL IT?
HOW STRATEGY
CONSULTANTS
CALL IT?

Sociotechnical Systems
are systems, and can be
engineered like other
systems

Systems Engineering for Sociotechnical Systems
REQUIREMENTS
DESIGN
TROUBLESHOOTING

Sociotechnical
Engineering is
not a method

Systems Engineering for Socio-Technical Systems
REQUIREMENTS
DESIGN
TROUBLESHOOTING
Functional
Non-
functional
We are here

Functional
Requirements
FUNCTIONAL VS NON-FUNCTIONAL REQUIREMENTS
Non-functional
Requirements
Ich bin ein

Build the Product Y,
please. Nothing else.
There are project
artifacts to be created.
Functional Requirements: Examples
THE PROJECT X
SHOULD
DEVELOP THE
PRODUCT Y

Functional Requirements: Examples
We want to sink
costs by 40%
We want to build a
platform for other
products

Systems Engineering for Sociotechnical Systems
REQUIREMENTS
DESIGN
TROUBLESHOOTING
Functional
Non-
Functional
We are here

DEVELOPMENT AVAILABILITY
We want to be able to make
technical decisions without
relying on a single person
for approval.
Non-Functional Requirements: Examples

WE WANT TO INCREASE
PRODUCTIVITY BY
HIRING MORE PEOPLE
DEVELOPMENT SCALABILITY
Non-Functional Requirements: Examples

WE WANT OUR ENGINEERS TO BE
SATISFIED AND HAPPY WHILE
WORKING ON THE PROJECT
DEVELOPERS’ SATISFACTION
Non-Functional Requirements: Examples
BEWARE OF
SOCIAL DEBT

Our budget is €2,000,000,
and the time to market is
3 years.
Non-Functional Requirements: Examples
FINANCIAL AND TIME CONSTRAINTS

REQUIREMENTS HELP REDUCE
POLITICAL COMPLEXITY AND NAVIGATE
SOCIAL AND TECHNICAL DECISIONS
This sheet
is 2 dip
Requirement: Conclusion

Systems Engineering for Socio-Technical Systems
REQUIREMENTS
DESIGN
TROUBLESHOOTING
We are here

System Design
System Elements Arrangement Decisions
SYSTEM DESIGN INVOLVES MAKING
ARRANGEMENT DECISIONS ABOUT
SYSTEM ELEMENTS.
Tactics and
Design Patterns

System Elements
“People work on artefacts according
to their roles.”
Cassandra Lead ArchitectLead ArchitectLead Architect
Software Architecture
Documentation
Software EngineerSoftware EngineerSoftware Engineer

ROLES-ARTEFACTS-MAPPING

ARRANGEMENT DECISIONS
Decomposition
Integration
Allocation

REQUIREMENTS
System Elements
Arrangement Decisions
Patterns & Tactics
Systems Engineering for Socio-Technical Systems
DESIGN
TROUBLESHOOTING
We are here
Don’t show me
Roman numbers.
Romans are not
invented yet.

PATTERNS & TACTICS
Designing
solution from
scratch
Reusing
someone else’s
work

EXAMPLE: AVAILABILITY

EXAMPLE: AVAILABILITY

Redundant Spare
REDUNDANT

SELF-TEST + REMOVAL FROM SERVICE
GIVEN the allocated Lead Software Architect is on
vacation
WHEN an external software architecture audit for the
project is requested
THEN the audit should not result in any major findings

REQUIREMENTS
Systems Engineering for Socio-Technical Systems
DESIGN
TROUBLESHOOTING
We are
here
It’s not a bug,
it’s a feature.

Eat, pray,
TROUBLESHOOT
IDEA NUMERO UNO:
BUGS ARE RELATIVE

IDEA NUMERO UNO: BUGS ARE RELATIVE

IDEA NUMERO UNO: BUGS ARE RELATIVE

IDEA NUMERO UNO: BUGS ARE RELATIVE

BUGS VS PERCEIVED BUGS
FIXING PERCEIVED BUGS MEANS
CHANGING SOCIOTECHNICAL
REQUIREMENTS

IDEA NUMERO DUO: DISSOLVING MESSES
Russel Ackoff
“Messes are
systems of
interconnected
problems”
Solving
problems
Dissolving
messes

HOW NOT TO SOLVE THE MEETING PROBLEM?
Let’s make meeting more
efficient by
appointing a moderator
and sending an agenda
upfront
Le’t cluster all meetings
in the morning
Let’s allow people decline
meetings if they have
nothing to contribute

HOW TO DISSOLVE THE MEETING MESS?

REQUIREMENTS
Systems Engineering for Socio-Technical Systems
DESIGN
TROUBLESHOOTING

Understanding the context
Gathering requirements
Documenting design
Roles-Artefacts-Mapping
Dissolving messes
SOCIOTECHNICAL ENGINEERING WORKSHOP

SOCIOTECHNICAL CHEAT SHIT SHEET
WORK IN PROGRESS
complexitynavigator.rocks

WORK IN PROGRESS
BOOK “SOCIOTECHNICAL ENGINEERING”

Smile and wave!
THANK YOU

Good bye!