Process
Before I build it, I draw it.
I don't start by opening an editor. I start by understanding the system. This is the eight-stage process I follow, and how the drawing changes along the way.
The eight stages
How I build systems
01 / 08
Understand
Understand the task, business problem, constraints, users, and the outcome that is actually wanted.
- Understand: Understand the task, business problem, constraints, users, and the outcome that is actually wanted.
- Plan: Draw the proposed system visually, usually in Excalidraw or another architecture tool.
- Choose: Select the stack that fits the problem, instead of forcing the problem into a familiar tool.
- Approve: Review the proposed architecture before any implementation begins.
- Build: Implement the approved system.
- Verify & Iterate: Compare the real implementation against the original drawing. The first design is rarely the final one, so both the build and the architecture get updated.
- Review: Functionality, workflows, edge cases, data flow, business behavior, reliability, and production readiness.
- Deliver: Hand over the completed and reviewed system.
Then and now
The first drawing is rarely the final one.
The same system at the planning stage and at delivery. Real systems expose edge cases that cannot be predicted beforehand, so the architecture is updated together with the implementation.
Planned
Delivered