process · assess / shape / build / refine
Before the work becomes design, code, or integrations, I try to understand the business direction, the operating reality, and the tradeoffs that will shape the system.
The sequence is simple: assess what matters, shape the system, build the smallest serious version, then refine it with what real use reveals.
the working path /
Assess the situation.
Shape the system.
Build the first serious version.
Refine it with reality.
Simple enough to remember. Structured enough to keep the work honest.
the goal is to reduce the risk of building the wrong thing.
Many software projects drift before the first line of code. Not because the team cannot build, but because the problem, sequence, tradeoffs, or operating reality were not clear enough.
This process keeps the work grounded. It creates enough clarity to move, enough structure to build, and enough room for the people involved to understand why the system is being built this way.
influenced by /
The structure is partly influenced by Hasard Lee’s ACE framework: assess, choose, execute. I adapted that idea into a practical way of working for software: assess, shape, build, refine.
each stage creates the clarity needed for the next one.
Understand the business direction, the current reality, and the constraints that cannot be ignored.
- Where the business is trying to go and why it matters now.
- What is currently manual, scattered, unclear, or holding the work back.
- Who the system needs to support: customers, operators, partners, or internal teams.
- What should be solved first, and what should not be built yet.
Turn the opportunity into a clear system direction before design and code make it expensive to change.
- Clarify the first serious version of the system.
- Map the main flows, roles, data, decisions, and operational edge cases.
- Separate what is essential now from what can wait.
- Make the tradeoffs visible before they become hidden costs.
Create the smallest serious version that can be used, tested, and improved.
- Build the core system with enough quality to be used in the real business.
- Keep the scope focused without treating the work like a throwaway prototype.
- Connect design, software, data, integrations, and operations into one usable flow.
- Ship in a way that gives the business something concrete to learn from.
Use what happens after launch to improve the system with reality, not just assumptions. For most of my engagements, this stage does not end. I stay involved as the business grows, because the system has to keep fitting it.
- Watch what happens when real people use the system.
- Improve the parts that create friction, confusion, or operational drag.
- Adjust the system as the business model, team, users, or constraints change.
- Decide what is worth strengthening, automating, or scaling next.
the process is there because software work can go wrong quietly before anything obvious breaks.
without assess /×
The team starts from what people think is needed, while the real constraint stays hidden.
without shape /×
The idea gets bigger before it gets clearer, and every decision becomes harder to make.
without build /×
The work stays in planning too long, or ships as something too rough for the business to trust.
without refine /×
The system goes live, but the team does not learn from how people actually use it.
Start with the business gap
The work should connect to a real business need or change, not just a feature list.
Choose the smallest serious version
Small enough to move, serious enough to matter, and clear enough to learn from.
Make tradeoffs explicit
Budget, time, quality, risk, and operational fit should be discussed before they become hidden costs.
Work with context, not just tasks
Good technical work needs to understand the business, the user, the constraints, and the people who will live with the system.
Treat launch as a beginning
The first release reveals what the business, users, and system actually need next.
not every engagement needs the same depth, but the logic stays the same.
For a business that already knows the direction and needs the first usable version built properly.
For a broad opportunity, messy workflow, or early idea that needs clearer structure before the build begins.
For work where the system is closely tied to the business outcome, and the useful work continues after the first release.
If this feels like the way you want your next system to be shaped and built, let's talk.