Skip to main content
GullySystem
A practical guide

What a good software project brief includes

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

A good brief names the users, walks through each workflow, lists the data and the systems it touches, states limits on time and budget, and defines what done means. It runs to a few pages, not a hundred. It helps a developer ask sharper questions.

Begin with who uses it and why

Name every kind of user. A shop owner, a billing clerk, a delivery rider and a customer are four people with four different screens. Give each a two line persona, and write what that person needs to do and may see.

Add the problem in plain words. Orders arrive by phone and get lost. Invoices wait two weeks for a signature. A developer who can feel that pain makes better choices than one who was only handed a feature list.

Describe what happens today. Is it a shared Excel file, a paper register or a WhatsApp group? That is the system you are replacing, and its quiet habits, like a clerk who rounds every quote up, will follow you into the new one. Write them down.

Walk through each workflow in order

Describe one working day inside the software. Start with a trigger, such as a customer placing an order, and list each step until the work ends, saying who acts and what that person taps or types.

Include the awkward cases. Cancelled orders. Part payments. A returned carton. A user who forgets the password. These take more effort than the happy path, and they drive most of the price.

Rough boxes and arrows on paper beat a polished Figma file at this stage, because they invite correction instead of admiration, and corrections are what you want now. A swimlane sketch with one row per person works well. A storyboard of five screens is enough for a first quote.

  • The starting event and who triggers it
  • Each step in order, with the person responsible
  • Approvals and who gives them
  • What happens when something goes wrong
  • The final record, printout or message

List the data and the connections

Say what information the software holds. Customers, products, invoices, attendance sheets, site photos, scanned forms. Note roughly how many rows you have today, and how quickly that count grows each month.

Then list the neighbours: your accounting package, the payment gateway, a courier tracking link, the WhatsApp number, an old Excel workbook. Say whether data should flow in, out or both ways.

If old records must move across, say so now. Cleaning and importing them is a small project of its own. It is also the usual source of late surprises. Add a sitemap if a website is involved, and a short taxonomy of product categories or job types that the search box must understand.

  • Main records and who owns each
  • Existing files to import, with their format
  • Systems to connect and in which direction
  • Reports and exports people already expect

State the limits you work within

Give the date that matters and the reason behind it. A trade fair, a new financial year, a contract renewal. Say which parts can wait if time runs short, and whether this is a greenfield build or a brownfield job that must live beside old software.

Share a budget range if you can. It is not a trap. It lets the developer propose what fits instead of guessing high or low. Also name rules that bind you, such as who may see customer data, which phones staff carry, and where the files must be stored.

Mention who decides on your side and how fast they reply. A slow approver delays delivery more than a slow coder. Book a kickoff call on Calendly. Share a Notion page or Trello board for questions.

Define what done looks like

Close with a short list of tests you will run before accepting the work. A clerk can raise an invoice in one minute. A manager can export the month’s sales to a spreadsheet. Ten people can log in together without any errors appearing.

Agree what comes after launch: staff training, a warranty window for fixes and a named person for support. Put these in an annexure so the quote covers them. A punchlist of final snags needs an owner too.

Before sending it, give the brief to someone outside your team and ask them to explain it back. Each place they stumble is a question your developer would ask too. Fix the gaps. Then send it to three firms the same day.

Software project brief template

A four-page fill-in template. Page one holds users and the problem. Page two is a workflow table with columns for step, person, screen and exceptions. Page three lists data, imports and connected systems. Page four covers dates, a budget range, the decision maker and a numbered acceptance test list.

Open a blank worksheet to print

Questions owners ask

How long should a brief be?

Three to six pages is usually enough. Clear matters more than long. If a stranger can describe your workflow back to you after one read, without phoning you for help, then the length is right.

Do I need technical terms in the brief?

No. Use your own words and the names your staff use. A developer will translate. Wrong technical terms, borrowed from a website you skimmed the night before, confuse far more than they help.

Should I share my budget?

A range is helpful. It lets a team suggest what fits and what to leave for later. Hide it and you often receive quotes that sit far apart, built on different guesses, which makes any honest comparison almost impossible.

Can the brief change after work starts?

It will, and that is normal. Agree how changes are recorded, priced and approved. A written change list keeps both sides honest and the plan visible.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements