Before Writing Code: The 5 Questions We Always Ask Our Clients
In many projects, the first conversation starts with a solution:
“We need a system.”
“We want a dashboard.”
“Can you integrate this software with our machines?”
At Simplico, we deliberately slow this moment down.
Not because we don’t like building software — we do — but because writing code too early is one of the most expensive mistakes in system development.
Before any architecture diagram, database schema, or hardware discussion, we always begin with five questions.
These questions are not technical. They are clarity questions.
They exist to protect our clients from building the wrong system very efficiently.
Question 1: What decision or action should this system make easier?
Most requests describe features.
We focus on decisions.
A dashboard is not a goal.
An API is not a goal.
Even automation is not a goal.
The real question is:
- What decision is currently slow, risky, or unclear?
- Who makes that decision?
- What happens when the decision is delayed or wrong?
When a system improves decisions, value becomes obvious.
When it only adds screens, complexity quietly grows.
Question 2: What problem exists even if software didn’t exist?
This question often feels uncomfortable — and that’s a good sign.
If software disappeared tomorrow:
- Would the problem still exist?
- Is this a process issue, a communication issue, or a responsibility issue?
We ask this because software amplifies reality:
- A clear process becomes faster
- A broken process becomes chaos at scale
By understanding the problem without software, we design systems that stabilize, not magnify pain.
Question 3: Where does information start, and where does it end?
In system integration projects — especially those involving machines, sensors, or multiple departments — problems rarely come from code.
They come from unclear boundaries.
We map:
- Where data is created (human, machine, external partner)
- How it changes
- Where it becomes a decision, report, or action
This helps us decide:
- What should be automated
- What should stay manual
- Where software should integrate with hardware — and where it shouldn’t
Good systems respect boundaries.
Bad systems blur everything together.
Question 4: What must remain flexible in the next 2–3 years?
Most systems don’t fail immediately.
They fail quietly, when the business changes.
We ask:
- Which parts of your operation are stable?
- Which parts are likely to change (volume, regulation, partners, machines, markets)?
This guides critical design decisions:
- Where we avoid hard-coding logic
- Where configuration matters more than features
- How to design software that survives hardware replacement
Flexibility is not about future-proofing everything —
it’s about choosing where to be flexible.
Question 5: How will you know this system is working?
Not in theory.
Not in KPIs written for a proposal.
But in daily reality:
- What feels easier?
- What disappears from your daily frustration?
- What no longer needs explanation?
If success cannot be described simply, the system is probably too complex.
This question keeps us honest — and keeps the project grounded in real outcomes.
Why These Questions Matter
These five questions often change the project direction.
Sometimes the result is:
- Less software than originally planned
- No hardware integration at all
- A phased approach instead of a “big system”
And sometimes the result is a much stronger system — because it is built on clarity, not assumptions.
This is why we position ourselves not just as developers, but as consulting partners in system design and integration.
A Simple Decision Diagram We Use
The purpose of these questions is not discussion for discussion’s sake. They lead to clear decisions about what to build, what not to build, and what to postpone.
Below is a simplified version of the decision flow we often sketch together with clients:
flowchart TD
A["Business Pain or Goal"] --> B{"Is this a decision problem?"}
B -- "Yes" --> C["Who makes the decision?"]
B -- "No" --> D["Fix process, clarify roles"]
C --> E["What information is missing?"]
E --> F{"Can this be solved without software?"}
F -- "Yes" --> G["Process / policy fix"]
F -- "No" --> H["Design system boundary"]
H --> I["Software-first design"]
I --> J["Integrate hardware only if it adds value"]
This diagram helps everyone align early:
- We avoid building systems that automate confusion
- We separate process problems from system problems
- We introduce hardware only when the software design is already clear
When Should You Talk to Us?
If you are thinking:
- “We know something is wrong, but we can’t define it clearly yet”
- “We’ve been quoted a system, but it feels too heavy”
- “We want to integrate software and hardware, but don’t want a fragile setup”
That is usually the right moment to talk.
You don’t need a specification.
You don’t need final requirements.
Sometimes, you just need the right questions.
Get in Touch with us
Related Posts
- Reference Architecture for Provincial / Municipal Digital Systems
- 实用型 GovTech 架构:ERP、GIS、政务服务平台与数据中台
- A Practical GovTech Architecture: ERP, GIS, Citizen Portal, and Data Platform
- 为什么应急响应系统必须采用 Offline First 设计(来自 ATAK 的启示)
- Why Emergency Systems Must Work Offline First (Lessons from ATAK)
- 为什么地方政府的软件项目会失败 —— 如何在编写代码之前避免失败
- Why Government Software Projects Fail — And How to Prevent It Before Writing Code
- AI 热潮之后:接下来会发生什么(以及这对中国企业意味着什么)
- After the AI Hype: What Always Comes Next (And Why It Matters for Business)
- 为什么没有系统集成,回收行业的 AI 项目往往会失败
- Why AI in Recycling Fails Without System Integration
- ISA-95 vs RAMI 4.0:中国制造业应该如何选择(以及为什么两者缺一不可)
- ISA-95 vs RAMI 4.0: Which One Should You Use (And Why Both Matter)
- 为什么低代码正在退潮(以及它正在被什么取代)
- Why Low‑Code Is Falling Out of Trend (and What Replaced It)
- 2025 年失败的产品 —— 真正的原因是什么?
- The Biggest Product Failures of 2025 — And the Real Reason They Failed
- Agentic AI Explained: Manus vs OpenAI vs Google —— 中国企业的实践选择
- Agentic AI Explained: Manus vs OpenAI vs Google — What Enterprises Really Need
- AI驱动的医院信息系统纵向整合(Vertical Integration)













