The Architect's IDE
Software Architecture
October 23, 2026
8 min read
Koen Mannaerts
Chief Software Architect ยท Process and Design Lead

Building Software in the AI Era, Part 3

Topics Covered:
  • It Starts With Design, Not Review
  • What the Model Is Made Of
  • One Requirement, Four Representations
  • Humans Design in Pictures. The AI Walks the Graph.
SCROLL TO ARTICLE

It Starts With Design, Not Review

In Part 2 we said the model leads and the code follows. That raises the obvious question: what is this model, and who works on it? Start with the problem everyone feels right now. AI generates code faster than anyone can read it. Teams struggle to keep up with reviewing it, let alone understanding it.

That's the wrong place to fight. In Part 2 I said nobody will be reviewing code anymore. Then what do we review? The design. Design comes first. If you get the design right, you sidestep most of the review problem, because you review the design, not the code.

But abstraction doesn't mean leaving out the business details. That's where it used to go wrong. Our diagrams stayed at the high level: a context diagram, some components, a few call chains. The details lived in code and in prose. That no longer works.

The design has to go up, into business design: how the business actually runs its processes. And it has to go down, into detailed design: what an entity may do and when, and how an algorithm decides. Abstract enough to review. Complete enough to build from.

What the Model Is Made Of

The model is not a diagram habit. It is a set of artefacts, each with one job. The main ones:

  • The business process (BPMN): the process as the business actually runs it, with who does what on the page.
  • The system interaction: one use case, end to end, in business language: the steps the system takes, with their inputs and outputs.
  • The state machine: what an entity may do, and when.
  • The contracts: the interfaces, stated precisely.
  • The flowchart: the detail of an algorithm, the logic inside an engine.

On the technical side, each system interaction gets a call chain: which component calls which.

None of this is new. We know about state machines, and we don't use them. We put a status flag on a database row instead, and another column next to it when the flag isn't enough. We know a flowchart can model an algorithm, and we choose to code it right away. We move straight to code instead of thinking and modelling.

So don't iterate towards the model. Start with it. Use the spec, if you have one, to come up with the model, and then let the model be the truth.

Domain knowledge stops being context. It becomes the input format.

One Requirement, Four Representations

Take one small requirement from the Master Builder Clinic, our hands-on course in business design and modelling: a customer creates an account. It starts as a business process. Onboard customer, in BPMN: the customer requests an account, verifies the email, logs in, and optionally records preferences. Two lanes, customer and system, so who does what is on the page and not in someone's head.

BP01 Onboard Customer, as a business process in BPMN
BP01 Onboard Customer, as a business process in BPMN

The first system step is refined into a system interaction, still in business words: validate the email; if it's valid, create a pending account, store it and send the event; if not, return a validation error. Next to the diagram sits a table of steps, inputs and outputs, and a list of open questions. One of them: what happens when email validation fails? The process has no error path yet. That gap is recorded in the model, visible to everyone, instead of in one person's memory.

SI01.01 Create Login, as a system interaction
SI01.01 Create Login, as a system interaction

The model doesn't only hold what we decided. It holds what we haven't decided yet. Then the first technical view: the call chain. Which component calls which, in what order. The manager validates the email, creates the pending account, asks the access layer to store it, and publishes the event. That lines up one to one with the code. The first line of the method is the email check; the next is the if-statement.

CC01.01 Create Login, as a call chain
CC01.01 Create Login, as a call chain
The same call chain, applied to a domain-driven design: application service, value object, aggregate, repository, domain event
The same call chain, applied to a domain-driven design: application service, value object, aggregate, repository, domain event

The call chain is the design, not the architecture style. Map the same steps onto a domain-driven design and the manager becomes an application service, the email check a value object, the pending account an aggregate, and the access layer a repository. Same steps, same inputs, same error path. Only the target changes.

And underneath, all of it is one graph. Every process, interaction, call chain and method is a node; every link between them is an edge. For one product, that is 1,401 nodes and 1,768 edges, not drawn by hand but extracted from the diagrams and pages themselves. Change the requirement and you change the first box. Everything downstream is connected to it, so you can see what the change touches before you touch it.

Remember the F-16 from Part 1, taken apart and scanned to rebuild a model nobody kept. This is the alternative, in software, on a product that exists.

One requirement, four representations: process, system interaction, call chain, semantic modelThe views are how people see the system. The model is how the AI sees it.

Humans Design in Pictures. The AI Walks the Graph.

The views are the human interface. People think in pictures: a process, an interaction, a call chain, a state machine. Business people can read the process. Architects can read the call chain. Nobody reads the raw graph.

The AI reads the graph. Ask it "if we change this interaction, what does it touch?" and it walks a handful of edges: the process, the interaction, the call chain, the manager, the access component, the state machine. Exact, and cheap. Hand it a four-hundred-page spec instead and it reads all of it, guesses the links, and gets some of them wrong.

We tested that. We gave an LLM the spec of a calculation engine, the component that holds one piece of business logic, and asked for a flowchart of its logic. It came back with something that made no sense: an endpoint in the middle of the flow, edges dangling. Then we gave it the code that had been generated from the same spec, with the same prompt. That flowchart made complete sense. I could take it to a domain expert and ask: is this what the software should do? We saw the same with a state machine.

Even a very capable model misread the spec. The code worked because it is precise. A flowchart is just as precise, and a domain expert can read it. So why keep the spec as the artefact? Keep the flowchart, and build from that.

A Model You Can Ask Questions

Once the model is a graph, every architect's question becomes a query. Pick any element and look at its neighbourhood: which component owns it, which business interaction it realises, which code implements it, which rules hang on it, and which questions are still open.

Star view: one call chain and everything around it, two hops out
Star view: one call chain and everything around it, two hops out

Blast radius, ownership, coverage, open questions: one query against one graph. Not a meeting. Not an archaeology exercise. And some checks move forward in time. Does this step have the customer id it needs at this point in the flow? It doesn't, so the model flags it, before anyone writes code. We have always found those problems in the code. Now we can find them in the design.

This is what it means for the model to be the source of truth: you can ask it questions, and it answers.

The Architect's IDE

That model needs a place to live, and that place is not a coding harness. It is a design surface: one place where the architect manages business design, system design and detailed design. Every view is drawn from the model, and every edit goes back into it. The architect works in pictures; the model stays consistent underneath.

Under the views sits a shared language. The Semantic Model is the schema: the types (business goal, actor, rule, process, system interaction; component, call, contract) and how they may relate. Each project's design is written in that language, as its own System Model. And when the system runs, its measurements point back to the design. They read it; they never change it.

Semantic Model, System Model and Runtime Model, in business, architecture and infrastructure layers
Semantic Model, System Model and Runtime Model, in business, architecture and infrastructure layers

We're not alone in building this. Several teams in our community are working on their own version of the tool. The agent frameworks will keep improving without us; everybody is tuning the flow. Almost nobody is working on the model. Either we're missing something, or there's a very big opportunity here.

Three and a Half Days. Twice.

Is there evidence? At the last two Master Builder Clinics, we modelled first: business processes, system interactions, contracts, entities. Then we gave the models to an AI and said: don't build it yet, just do a try run and tell us what you understand. It read the BPMN, followed the process to the system interaction, and knew what to validate and what to answer.

After three and a half days there was a working application. Twice, with two different rooms. And nobody in the room wrote code. That was the first stake in the ground in Part 2. Modelling did not cost us time. The models were the work. And twice matters more than fast: one run is a lucky team, two is a process.

What exists today is the model, and it is real. The deterministic compiler from Part 2 is the work ahead.

What to Do on Monday

Your CEO is asking what to do with AI, and is scrolling the same feeds you are. Don't be silent. Be the adult in the room.

  • Start modelling. Pick one process that matters and model it down to the detail: the process, its system interactions, the state machines, the logic inside the engines. Not the whole system; one requirement, all the way through.
  • Run the try run. Give your model of that one process to an AI and ask what it understands before it builds anything. Where it gets confused, the model has a gap.
  • Report upwards. Send management a short update every week: what the team built, what you're investigating, which proof of concept is running and when you'll report back. The people who start answering those questions are the people others will listen to.

That is what we teach in the Master Builder Clinic: business design and modelling, from the process down to the detail, so the code can follow.

The tools change every week. The model doesn't.

Interested in the Master Builder Clinic?

Related Articles