Dvisight / After the diagram

What happens after the diagram?

Architecture diagrams describe what we intend to build. Real systems have to survive what we didn't draw.

A system under pressure
Clientrequest APIboundary Servicedecision Datastate
The diagram is a useful starting point. It is not the evidence that the system will behave this way.
01 / Designed vs reality

The world adds conditions.

Latency, loss, change and scale are not edge cases outside the architecture. They are part of the system it becomes.

What we designed
USERAPISERVICEDATABASE
  • A request arrives once.
  • The dependency responds.
  • The data is consistent.
What reality adds
TIMEOUTRETRYDUPLICATEAMBIGUITY
  • The response is lost after success.
  • The dependency is available but slow.
  • Traffic is ten times higher.
02 / The uncomfortable question

The diagram looks good.
So what could still go wrong?

TIMEOUT ≠ FAILURE

03 / Questions

Questions are where the system becomes visible.

Enter the Questions space →

01
Question

What happens if the response is lost?

Processing an operation and knowing it happened are different things.

02
Question

What happens when the database is available but too slow?

Availability without a usable response can still become failure.

03
Question

How difficult would this decision be to reverse?

Some commitments become expensive before they become visible.

04 / Thinking

A visual essay about the assumption beneath a correct design.

Read the thinking →

Featured visual essay

The Architecture Was Correct. The Assumption Wasn't.

A payment flow can be well designed and still fail when a timeout is mistaken for proof that nothing happened.

Open the visual essay

05 / Assurance

Confidence needs a trail.

The point is not to eliminate uncertainty. It is to make its shape and consequence visible before commitment.

  1. 01Context
  2. 02Decision
  3. 03Assumption
  4. 04Evidence
  5. 05Risk
  6. 06Recommendation
  7. 07Confidence
A worked example
  1. RequestPayment begins
  2. TimeoutResponse is lost
  3. RetryClient repeats
  4. DuplicateState is unclear
  5. Side effectCustomer may be charged twice
06 / A final question

What is the most important assumption your architecture is making today?

07 / Start the conversation

A useful place to begin is the question you cannot dismiss.

Start a conversation