Nonlinear Thinking Workshop


Nonlinear Thinking: DDD Europe 2022


We are conditioned to think linearly. Linear thinking is so ubiquitous, many of us don’t recognize it as one type of thinking. We think of it as, simply, thinking. Linear thinking enables us to design, build and deploy software. But it can not resolve systemic issues. For systems, we need nonlinear thinking.

Though we may be brilliant software developers, product managers or strategic leaders, when it comes to nonlinear thinking, we are all blocked by two obstacles:

  • One: By default, we are spectacularly terrible at nonlinear thinking*. We are constantly tangled up in our opinions, cognitive biases, fears, assumptions, linear conditioning and logical fallacies. They seem real and true to us. Skillfully and consistently untangling ourselves requires practice.
  • Two: We don’t know that we are terrible at it. In fact, the worse we are at nonlinear thinking, the more certain we are that we are good at it! 

Therein lies a paradox: We need to be good at nonlinear thinking in order to see that we aren’t good at nonlinear thinking. Fortunately, as Carl Jung said, “Only the paradox comes anywhere near to comprehending the fullness of life.” 

In this workshop, we will “comprehend the fullness” with helpful principles and practices on three levels: individual, teams/groups and a system as a whole.

30 mins: Practices for cultivating self awareness and improving the soundness of our own thinking. We begin here because what we think and experience is what we’ll build. While we’ll only have time to do one or two, we’ll introduce varied resources to continue exploring.

30 mins: The “Yes, and” game. We’ll practice collective reasoning by following a few fundamental rules for thinking nonlinearly together. This is a warm up for …

1 hour: “Where shall we begin?” We’ll model an interesting (likely familiar) real world systems challenge. In this challenge, there is no linear path to transformation – we’ll need to take a nonlinear approach. We’ll focus on patterns and relationship as well as blockers, challenges, feedback loops. We can apply DDD concepts or we can mix and match. We won’t Solve Everything. But we will create some structured thinking in the midst of uncertainty.

Note: Nonlinear thinking is also called systems thinking, strategic thinking, pattern thinking, parallel thinking, systemic reasoning and other names.

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

Sociotechnical 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

Contact Mentrix

Get Updates

From Software to Systems


Enjoy luxury, exclusivity and discretion


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