Last year a client asked for an AI agent to automate their customer complaint triage. Forty hours of scoping done, two weeks of build time blocked. I was three days from opening the IDE when I sat next to the customer service team for two hours and watched.
I expected to see overwhelmed agents drowning in tickets. What I saw was three CS staff handling 12 complaints a day each, perfectly fine, with one exception — they refused to escalate anything to the operations team. Not because escalations were hard. Because the SOP for escalation was 11 steps long, contradicted itself in steps 4 and 7, and the last person who escalated “incorrectly” got a written warning.
The complaint volume was not the problem. The fear of escalation was. The triage agent I was about to build would have processed tickets faster into a system the team was already afraid to use.
I killed the project. Rewrote the escalation SOP from 11 steps to 4. Ran a 30-minute training. Two weeks later, complaints were down 60%. Zero lines of code shipped. The client saved 40 hours of dev time and $8K of cloud budget.
Since then I have had the same conversation five more times. Different industry, different “we need an app” request, same ending: a procedure nobody had bothered to write down clearly was doing the work that 200 hours of engineering could not.
This is the part of design thinking nobody talks about. Most of the time, the right output of the empathy stage is not a prototype. It is a one-page procedure that everyone can read, agree on, and follow. The build comes later — if it comes at all.
The build reflex
Engineers and PMs reach for tools the way tired people reach for coffee. Something is broken, so we build the thing that fixes it. It feels productive. It converts a vague “we have a problem” into a concrete “we have a roadmap.”
But the most expensive thing you can ship is the wrong solution, especially when the right one is free. The triage agent I almost built would have automated the bottleneck instead of removing it. Six months later, we would have been back at the empathy stage wondering why nothing changed.
The build reflex has three usual suspects. Solutioneering as default — when the request arrives as “we need an app,” we rarely ask whether an app is the right shape. Sunk cost on the project — if scoping is done and budget approved, walking it back requires a stakeholder to admit they were solving the wrong problem. Visibility bias — a procedure rewrite is invisible work, an app is a launch announcement; internal reward systems often punish the former and celebrate the latter. None of these are malicious. They are the gravity of how product teams operate. Design thinking’s job is to make that gravity escapable.
Three signals the answer is no app
After the SOP incident, I started watching for patterns. Requests that ended with “no build” almost always carried one of three signals before the first line of code was written.
Signal A: the actual pain is procedural, not technical. The user describes a feature, but the thing slowing them down is a rule, policy, or missing agreement. In the triage case, the pain was an unclear escalation SOP. Signal B: the workaround exists and is almost working. Real users show up with a spreadsheet, sticky note, Slack thread, or personal script. When the workaround is “almost working,” the right move is rarely to replace it with a tool. It is to ask what is missing and add a small lever. Signal C: the requester and the sufferer differ. The CS team felt the pain; client leadership requested the solution. When those two are different people, the request is a hypothesis, not a diagnosis. Sit with the sufferer first.
If two of three signals are present, the answer is almost never an app. It is a procedure, a checklist, a one-page matrix, a 30-minute training, or sometimes just a meeting where everyone agrees on the rule that has been implicit for a year.
Surface empathy vs. root empathy
Most “we need an app” requests are surface empathy. Someone said “I wish X existed” and we took it literally.
Root empathy asks why. It treats the request as a clue, not a spec. Five questions, in order, before opening Figma or VS Code:
1. What did the user try before they asked us for this? 2. What is the workaround they are using right now? 3. Who else is affected by this problem? 4. If I do nothing for two weeks, what gets worse? 5. Could a 1-page procedure document fix this faster than a 4-week build? If yes, why are we building?
Most of the time, the answer to question 5 is yes. “We are building anyway” usually means one of three things: the team has not actually sat with the user yet, the stakeholder wants something to show for the budget, or the build was already approved and nobody wants to walk it back. All three are solvable. The procedure is cheaper than any of them.
Procedure clarity beats new tools — almost every time
Here are three more cases from the last 18 months. Same shape as the triage story, different surface.
Case 1: onboarding doc, not an internal tool. A founder asked for a tool to “track new hire progress.” I sat with two new hires for a day. The real problem: the onboarding document was 14 pages, nobody read it, and the handoff between HR, engineering, and team leads was tribal. I did not build the tool. I wrote a 2-page checklist with five explicit “ask X person on day Y” steps. 30-day retention went up 40%.
Case 2: decision matrix, not an AI prioritizer. An engineering team asked for “AI to prioritize bugs.” I watched three senior engineers triage for two days. The real problem: three PMs had three different definitions of severity, and bugs escalated when the definition shifted. I did not build the AI. I wrote a 1-page matrix with four questions (impact, reversibility, blast radius, time-since-detection) and posted it in Slack. Disagreement dropped from 11 escalations a week to 2.
Case 3: SOP rewrite, not a workflow engine. A logistics client asked for “an app to track handoffs between warehouse and dispatch.” I sat with the dispatch lead for half a shift. The real problem: the handoff SOP had been edited five times by five managers, and the printed copy in the warehouse was from 2022. I rewrote the SOP into a 1-page visual flow, printed it, taped it to the wall. Misfires dropped 35% in the first month. No app was ever built.
The pattern in every case is the same: clarity is infrastructure. If the team cannot articulate the procedure on paper, no app will fix the inconsistency. The app will just automate the confusion, faster. A 4-hour procedure rewrite is reversible in 30 minutes. A 4-week build commits you to a specific workflow for 18 months. If you are wrong about the workflow, the procedure lets you walk it back cheaply. The build makes the wrong workflow load-bearing.
How to tell the stakeholder the answer is no app
This is the part nobody teaches in design thinking workshops, because they assume the stakeholder already agrees that the user is the point. In reality, the stakeholder is the point, and the user is downstream.
When the empathy stage tells you the answer is no build, four moves have worked for me. Reframe as a faster, cheaper path — “I found a path that will move the metric in two weeks, costs four hours of my time, and does not require a build.” Removing the word build makes the conversation about outcomes. Quantify the avoided cost — hours saved, budget saved, maintenance debt avoided. The triage story had a clean number: 40 hours of dev, $8K of cloud, 6 months of unused-tool maintenance. The stakeholder’s CFO understands those numbers. Prototype the non-build — a procedure is a prototype, a 1-page matrix is a prototype, a printed SOP on a wall is a prototype. Show the artifact, not a description of it. Offer a two-week trial — “If this does not move the metric in two weeks, I will build the app. You pay nothing if it fails.” That makes the no-build path zero-risk for the stakeholder.
This script only works if you have actually done the empathy work. Stakeholders can smell a consultant dodging a build. They cannot smell an engineer who has sat with the user for two hours and come back with a better answer.
The real output of design thinking
Design thinking is a debugging loop for the gap between “what we think the user needs” and “what the user actually needs.” The output of the loop is a falsifiable claim. Sometimes the claim is “build feature X.” Sometimes the claim is “rewrite the SOP and measure for two weeks.” Sometimes the claim is “do nothing — the workaround is fine and the feature request is a misunderstanding.”
Ship the claim, not the build. The build is downstream.
If you remember one thing from this post, remember the fifth question: could a 1-page procedure document fix this faster than a 4-week build? If the answer is yes, you do not have a build problem. You have a clarity problem. Clarity is the cheapest infrastructure you will ever ship.
Discover more from Susiloharjo
Subscribe to get the latest posts sent to your email.