Skip to content

Speaking Developer

By Tomasz Lewandowski · 17 Sep 2026 · 7 min read

Speaking Developer
The Maintenance Blueprint — The Brief

Why Developers Need Business Clarity

A common frustration in software projects is that the developer builds exactly what was requested, yet the result still feels wrong. This is rarely because the developer is careless. More often, the business has described a feature without explaining the operation behind it. Maintenance is full of local rules, exceptions, priorities, safety requirements and informal workarounds. If those are not made explicit, a developer has to guess.

Developers are skilled at turning requirements into functioning software. They are not usually maintenance mind readers. They may not know why a work order must carry access notes, why certain assets need certification evidence, why two engineers are required on a particular site, or why a client report must separate labour from parts. The business must translate its practical knowledge into a brief that a technical person can use. Clarity is not a courtesy. It is project control.

The Danger of 'They Built What I Said'

The phrase "they built what I said, not what I meant" captures a painful truth. People often describe systems in shorthand because the underlying process feels obvious to them. "We need job tracking" may seem clear, but it can mean dozens of different things. Does the job have statuses? Who changes them? Can engineers create jobs? Can clients see them? Is there an approval step? What happens when parts are needed? What evidence is required before closure?

If these questions are not answered early, they emerge later as changes, delays and extra cost. The developer may have built a perfectly logical version of job tracking, but not the version your business can actually use. A good brief closes the gap between assumed meaning and written requirement. It slows the conversation down at the start so the build does not become expensive guesswork later.

What to Include in a One-Page App Brief

A one-page app brief is a simple discipline with considerable value. It should state the business problem, target users, current workaround, desired outcome, essential functions and success measures. It should be written in plain language. The aim is not to produce a technical specification. The aim is to explain the business clearly enough that technical decisions have a sensible foundation.

For example, the problem might be: "Work orders are currently managed through email and spreadsheets, leading to missed updates and poor visibility." The users might be schedulers, engineers, managers and administrators. The desired outcome might be: "Every live job has one current status, one owner and one visible history." Essential functions might include job creation, assignment, mobile completion, parts recording and client sign-off. Success measures might include fewer missed visits, faster invoicing and reduced calls asking for job status.

Turning Workarounds into Requirements

Workarounds are not merely bad habits. They are clues. If engineers keep private notebooks, ask why. They may need quicker access to site notes, a way to record observations offline, or confidence that their notes will not disappear. If administrators maintain a separate spreadsheet, ask what the main system fails to show. If managers ask for manual reports, ask which decisions they cannot currently make.

Every workaround points to an unmet need. The mistake is to automate the official process while ignoring the shadow process people actually use. A developer who understands the workaround can help design a better route. For instance, a private notebook may become a structured site note feature. A manual status email may become a dashboard. A spreadsheet of overdue jobs may become an automatic escalation view. Requirements are strongest when they come from real behaviour, not imagined perfection.

Explaining Business Rules

Business rules are the if-this-then-that logic of your operation. If a job is high priority, who must be notified? If a work order is completed, what evidence is required? If a part is unavailable, does the job status change automatically? If an asset is critical, does it require manager approval before closure? If a client has a service level agreement, how is the deadline calculated?

These rules often live in people's heads because they have developed over time. They need to be written down before development begins. Do not assume the developer will infer them from examples. Be explicit. A simple table can help: trigger, rule, owner and exception. Business rules are where much of the real value of software sits. They turn a database into a working system. Without them, the app may store information but fail to guide action.

Using Plain English Before Technical Language

Some business owners feel they must speak in technical jargon to work with developers. In practice, plain English is usually more helpful. Say what the business needs to happen, who needs it, when they need it and what should count as success. The developer can then decide how best to implement it. Premature technical language can even cause confusion if terms are used loosely.

For example, instead of saying "we need an API-driven workflow module", start with "when an engineer completes a job, the office needs the time, parts and client signature to appear in the invoicing queue without retyping." That sentence is much more useful. It describes a business outcome. Technical design can follow. Good development conversations begin with operations, not buzzwords.

Defining Success Before the Build Begins

A project without success measures will always be vulnerable to drift. Every new idea can sound attractive because there is no agreed test of value. Before development begins, define what the system must improve. Fewer missed jobs, faster completion notes, reduced duplicate entry, cleaner asset history, better first-time fix rates, quicker invoicing and clearer management reporting are all possible measures.

Success measures should be specific enough to guide decisions. "Make the business more efficient" is too broad. "Reduce time spent compiling weekly job status reports from four hours to thirty minutes" is useful. When a requested feature appears, ask whether it serves one of the agreed outcomes. If not, it may belong in a later phase. A clear definition of success protects both the budget and the relationship with the developer.

A Better Conversation With Your Developer

Speaking developer does not mean becoming technical. It means making your business understandable. Bring examples of current job sheets, screenshots of spreadsheets, photographs of site labels, sample reports and the awkward exceptions that always catch people out. Walk the developer through a real job from first call to final invoice. Show where information is lost. Explain which mistakes cost money or damage trust.

The best software conversations are collaborative. The business brings operational truth; the developer brings technical judgement. Between them, they can design something useful. But that collaboration depends on clarity at the start. A one-page brief, supported by real examples and clear business rules, can prevent a great deal of waste. It helps ensure the app is not merely functional, but fit for the maintenance work it is meant to support.

A Common Mistake to Avoid

The common mistake is to begin with screens. People sketch dashboards, buttons and menus before agreeing the process the software must support. Screens are visible and therefore tempting, but they can distract from the deeper questions. What is the business problem? Who owns each step? What information is needed before a job can move forward? What should happen when the ordinary route breaks?

Start with workflow and outcomes. The screens should serve them. A beautiful dashboard that shows unreliable data is not useful. A clever button that triggers the wrong process is not progress. When speaking with a developer, keep returning to the work itself: the call, the site, the asset, the engineer, the part, the evidence and the client. The interface can then be designed around reality rather than assumption.

The Practical Next Step

Write a one-page app brief before any technical meeting. Limit yourself to plain English. Include the problem, users, current workaround, desired outcome, essential functions, exclusions and success measures. Attach one real job sheet, one awkward example and one report you wish you could produce reliably. This will give the developer a practical view of the business.

Then ask the developer to repeat back the process in their own words. Listen for gaps. If they misunderstand a handover, status, exception or role, correct it early. This simple conversation can prevent weeks of rework. A brief is not only a document; it is a test of shared understanding.

The Business Owner's Takeaway

The business owner's takeaway is that the quality of the brief shapes the quality of the build. Developers can solve problems brilliantly when those problems are explained clearly. Put the workflow, rules, users and success measures on one page before discussing features. A plain-English brief is one of the cheapest ways to prevent expensive misunderstanding.

How to write a one-page app brief for a developer

  1. State the business problem in plain English. Begin with the operational problem rather than a feature, for example 'work orders are currently managed through email and spreadsheets, leading to missed updates and poor visibility'. Write it in plain language, not as a technical specification.
  2. Identify the users and desired outcome. List who the system is for - such as schedulers, engineers, managers and administrators - and state the desired outcome, for example 'every live job has one current status, one owner and one visible history'.
  3. Turn current workarounds into requirements. Look at the private notebooks, separate spreadsheets and manual reports people actually use and ask what the main system fails to provide. Convert each one into a real requirement, such as a structured site note feature, a dashboard, or an automatic escalation view.
  4. Write down your business rules explicitly. Capture the if-this-then-that logic that lives in people's heads - who is notified for a high-priority job, what evidence is required before closure, whether the status changes when a part is unavailable. A simple table of trigger, rule, owner and exception helps make these explicit before development begins.
  5. List essential functions, exclusions and success measures. Name the essential functions such as job creation, assignment, mobile completion, parts recording and client sign-off, note what is out of scope, and define specific success measures like cutting weekly report compilation from four hours to thirty minutes.
  6. Attach real examples. Include one real job sheet, one awkward example that always catches people out, and one report you wish you could produce reliably, so the developer gets a practical view of the business.
  7. Ask the developer to repeat the process back. Have the developer describe the workflow in their own words and listen for gaps. If they misunderstand a handover, status, exception or role, correct it early - this test of shared understanding can prevent weeks of rework.

Frequently asked questions

Why does my developer build what I asked for but it still feels wrong?

This usually happens because the business described a feature without explaining the operation behind it. Developers turn requirements into working software, but they are not usually maintenance mind readers - they may not know why a work order needs access notes, why two engineers are required on a particular site, or why a client report must separate labour from parts. If those local rules and exceptions are not made explicit, the developer has to guess, so you get a perfectly logical version of the feature that your business cannot actually use.

What should I put in a one-page app brief for a developer?

Keep it to one page in plain language covering the business problem, target users, current workaround, desired outcome, essential functions, exclusions and success measures. For example the problem might be 'work orders are currently managed through email and spreadsheets, leading to missed updates and poor visibility', the users might be schedulers, engineers, managers and administrators, and the outcome might be 'every live job has one current status, one owner and one visible history'. The aim is not a technical specification but a clear explanation of the business so technical decisions have a sensible foundation.

Should I learn technical jargon before talking to a software developer?

No. Plain English is usually more helpful than premature technical language, which can cause confusion if terms are used loosely. Instead of asking for 'an API-driven workflow module', say something like 'when an engineer completes a job, the office needs the time, parts and client signature to appear in the invoicing queue without retyping'. Describe the business outcome - what needs to happen, who needs it, when, and what counts as success - and let the developer decide how best to implement it.

What do I do about the spreadsheets and notebooks my staff use instead of the system?

Treat them as clues rather than bad habits, because every workaround points to an unmet need. If engineers keep private notebooks, ask why - they may need offline notes or quicker access to site information; if administrators keep a separate spreadsheet, ask what the main system fails to show. The mistake is to automate the official process while ignoring the shadow process people actually use, so turn each workaround into a requirement: a private notebook becomes a structured site note feature, a manual status email becomes a dashboard, and a spreadsheet of overdue jobs becomes an automatic escalation view.

How do I stop a software project from drifting and going over budget?

Define success measures before development begins, because without an agreed test of value every new idea sounds attractive. Make the measures specific enough to guide decisions - 'reduce time spent compiling weekly job status reports from four hours to thirty minutes' is useful, while 'make the business more efficient' is too broad. When a requested feature appears, ask whether it serves one of the agreed outcomes; if not, it may belong in a later phase, which protects both the budget and the relationship with the developer.

Why shouldn't I start by designing the screens and dashboards?

Screens are visible and therefore tempting, but starting with them distracts from the deeper questions: what is the business problem, who owns each step, what information is needed before a job can move forward, and what should happen when the ordinary route breaks. A beautiful dashboard that shows unreliable data is not useful and a clever button that triggers the wrong process is not progress. Start with workflow and outcomes, keep returning to the real work - the call, site, asset, engineer, part, evidence and client - and let the interface be designed around that reality.

Share Follow
Building Your Custom Warehouse Tool
The Warehouse Blueprint

Building Your Custom Warehouse Tool

A custom tool begins with a clear outcome, not code. Own the workflow, brief real exceptions, and use the Done Ladder.

3 Aug 2026 · 5 min read
The Maintenance Iceberg
The Maintenance Blueprint

The Maintenance Iceberg

The build quote is only the visible part of the cost. Hosting, updates, security and technical debt sit below the surface.

15 Oct 2026 · 7 min read
Testing in the Field
The Maintenance Blueprint

Testing in the Field

A system that works beautifully in the office may still fail on a wet roof, in poor signal, with an engineer wearing gloves.

8 Oct 2026 · 7 min read