Workshop

Nonlinear Thinking: DDD Europe 2022

From Software To Systems

When I started on my journey, we built individual digital spaces bounded by software that orchestrating page request. Almost everything was constructed around the relationship between a user and a page.

Meanwhile, the internet, a knowledge and information system, was emerging around us. Everyone was outgrowing their software. In response everyone wanted digital transformation.

So we began restructuring spacetime. Asynchronous software and micro services, event-based cloud native platforms and hypermedia data structures.

The transformations inevitably hit the same iceberg. We don’t think in systems.

Nonlinear Thinking

Linear thinking is so ubiquitous, it is usually what we usually mean when we say “thinking.” The ideals of linear approaches are: predictable, rational, repeatable, top down, dualistic and primarily concerned with control

Nonlinear thinking is also called systems thinking, strategic thinking, pattern thinking, parallel thinking or systemic reasoning. Nonlinear approaches are antithetical to reductionism — managing complexity by breaking it down into parts. Instead, it focuses on how relationships between the parts create emergence — things that couldn’t exist without those relationships.

There are big challenges to nonlinear thinking. We are terrible at it. We don’t know we are terrible at it. And when we do it well, almost nobody will believe what we say.

Conceptual Integrity

Fred Brooks says that conceptual integrity is the most important consideration in systems design. It is creating harmony from a cacophony of “many good but independent and uncoordinated ideas”.

We often rely on “glue roles”, people good at synthesizing knowledge and experience into reasonable decisions to maintain integrity between parts of an organization (system or software). But this is exhausting and often fruitless. A better way if to help everyone become better at practicing conceptual integrity.

One way to do this is to create artifacts together, that move behind data and information towards knowledge, understanding and maybe even wisdom.

Respond rather than react

There is a lot of panic and blame in systems. People generally don’t improve their thinking and communication in response to systems challenges — they make things worse. To alleviate this strain, practicing self awareness and learning to drop reactions (in favor of constructing responses) is essential.

Writing out our thinking (by hand) supports self awareness, especially awareness of our reactive minds. As does most forms of meditation, rhythmic activity and immersive hobbies.

Collective Systemic Reasoning

Collectively reasoning is arriving at the best possible conclusion, under the circumstances, when conditions are uncertain. Conditions, in systems, are always uncertain.

Rather than share our opinions, we share our ideas, recommendations or theories along with the reasons that convinced us. And we proactively strengthen those reasons, with others, in order to improve the soundness of our activities.

Central to this practice is learning to say “Yes, and …” critically listening to others and helping them strengthen reasons.

Places to intervene

Adapted from: Leverage Points: Places to Intervene in a System by Donella Meadows


Mostly Linear

12. Parameters (numbers): autoscaling, five 9s

11. Storage: add caching, database performance

10. DevOps: restructure the flows

9. React faster: CI/CD, test coverage


S/T InBetween

7. Self-correcting negative feedback: let the pain be painful

6. Self-reinforcing positive feedback: make what must be easier, easier

5. Restructure information flows: in people (transparency) and tech (silos)

4. Change the rules that govern behavior


Mostly Nonlinear

4. Self-organizing: the power to change previous aspects of the system

3. Change the goals: the Why of the system.

2. Change the paradigm: the mindsetout of which the system — its goals, structure, rules, workflows — arise

1. Maintain the power to transcend paradigms


Get Updates

From Software to Systems

WELCOME,

Enjoy luxury, exclusivity and discretion

NOW TREAT YOURSELF!

Get 25% Off & Free Shipping On Your First Order. Enter Code WELL25SPE