Skip to content
Latticework
Esc
Try
No. 003Ways of Thinking

Second-Order Thinking

Ask “and then what?” The consequences of consequences are where architectures succeed or fail.

The intended effect is only the first step; the consequences that follow from it decide whether the choice was good.

To an executive

Most regret comes from what a decision causes later, not its immediate effect. Asking what happens next avoids fixes that create bigger and costlier problems.

To an engineer

For each design choice, ask what follows. A cache speeds reads but adds invalidation bugs, stale reports and a new dependency. Weigh those before committing.

The idea

First-order thinking stops at the immediate effect: adding a cache makes reads faster. Second-order thinking follows the chain: now there are invalidation bugs, stale data in reports and a new dependency to run.

The idea is old. In the 19th century the economist Frédéric Bastiat argued that an act, a habit or a law produces not one effect but a series of them. Only the first is seen; the later ones are not, and good judgement weighs both.

Most architectural regret comes not from the direct effect of a decision but from the behaviour it induces in teams, users and other systems over time.

Why it works

The first effect is usually the one you intended. That is why it is easy to see. The surprises live one or two steps further out.

Systems respond to change. People and software adapt to whatever a decision makes easy. A shortcut becomes a habit, and a habit becomes a dependency.

Costs and benefits arrive at different times. Benefits are often immediate and the costs come later, frequently to a different team. Tracing the chain brings those future costs into today's decision.

Where it applies

  • Design reviews, where each option can be traced two or three steps out.
  • Shortcuts under deadline pressure, such as "temporary" shared access or a quick point-to-point integration.
  • Platform and governance decisions, which shape what many teams will do next.
  • Incentives and metrics, which change behaviour in ways the designer may not intend.

How to apply

  1. State the first-order effect, the one the decision is for.
  2. Ask "and then what?" twice more, covering operations, team behaviour, cost and other systems.
  3. Ask who is affected at each step, especially people who are not in the room.
  4. Weight each path by likelihood, then decide, and record the second-order risks you accepted.

Example scenario

To meet a delivery date, a new team was given read access to another team's database "temporarily". The first-order effect was good: the feature shipped on time.

Within a year, three teams were querying that schema directly, and every column change needed sign-off from all of them. The planned split of the service became a long programme to unpick the coupling. In the next similar case, the architect traced the chain at the design review and the team instead published a small read API with its own contract, which took two extra weeks.

Questions to ask

  • If this works, what happens next, and after that?
  • What behaviour does this make easy, and do we want more of it?
  • Who inherits the consequences in a year, and have they been asked?

When not to use it

  • Emergencies, where stopping the immediate harm comes first and the chain can be traced afterwards.
  • Cheap, reversible experiments, where running the experiment reveals the consequences faster than speculating about them.

How it misleads you

Infinite speculation leads to paralysis: every decision has some imaginable bad consequence ten steps out. Go two or three steps, weight each path by how likely it is, then decide. Second-order thinking should improve choices, not become a reason never to make one.

Further reading

Last reviewed · Suggest an improvement