Skip to content
PN Scripts

Development

How to write a software project brief developers can price

  • PN Scripts Team
  • 7 min read

A useful software project brief explains what the product must achieve, who will use it, what those people need to do in it, which systems it must connect to, and which limits of time, budget and technology apply. It should also say what is out of scope. Two to four pages that cover these points will get you more accurate estimates than a long feature list, because a developer can price a clear problem far better than a vague wish list. Leave the choice of stack, architecture and database to the people who will build it, unless you have a real reason to fix them.

#Why the brief decides the quality of your estimates

Every estimate is a guess about unknowns. A developer who receives a one-line request such as "we need a booking platform" has to fill the gaps with assumptions, and different companies will assume different things. That is why the quotes you get back can be hard to compare: they describe different products.

A good brief removes the largest unknowns before anyone starts counting hours. It lets several teams price the same thing, it shortens the first calls, and it gives you a document to check the written scope against later. If you want to see which factors move a price most, our article on what drives the cost of a custom web application goes through them one by one.

#What a useful brief contains

The goal and how you will measure it

Start with the business problem in plain words. "Customers book appointments by phone and we lose calls after hours" says more than "we need an online booking system". Add how you will know the project worked: fewer manual steps, orders taken online, a process moved out of spreadsheets. Numeric targets are optional. A clear direction helps every estimate.

Users and roles

List every type of person who will use the product: customers, staff, managers, partners, administrators. For each, say roughly how many there are and what they are allowed to see or change. Roles and permissions shape the data model and the admin area, so they belong in the brief early.

Key flows

Describe the three to seven most important journeys from start to finish. For example: a customer finds a slot, pays a deposit, gets a confirmation email and can cancel up to a set time before the appointment. Flows are more useful than a feature list because they show how features connect, and the connections are where most of the work hides.

Integrations and existing systems

Name every system the product must talk to: payment providers, accounting or ERP software, a CRM, a booking or stock system, email and SMS services, single sign-on. Say whether each has an API and whether you have documentation or a test account. If the new product replaces something, describe what exists today and what data must be moved across, with an idea of its size and condition.

Constraints

Write down anything the developer cannot change: a hosting requirement, a system your IT team already supports, accessibility needs, languages and currencies, data that must stay in a particular region, or a brand guide the design must follow.

Deadline and budget range

Give the real deadline and the reason for it, such as a trade fair, a season or a contract ending. A date with a reason helps the developer suggest what to cut if time runs short. Give a budget range too. Many buyers hold it back to see what comes in, but a range lets a developer propose the version that fits it, instead of a design you cannot afford.

What is out of scope

This section prevents more arguments than any other. Say what the first version will not include: a mobile app, a second language, reporting, a customer loyalty scheme. Items listed here can come later, and everyone knows they are not in the price.

#What to leave to the developer

A brief describes the problem. The solution is what you are paying the developer to design. Unless there is a business reason, avoid fixing these in advance:

  • Programming language, framework and database. If your team will maintain the code, say which stack they know. That is a constraint, and a legitimate one.
  • Architecture, such as microservices, serverless or a single application.
  • Detailed screen designs, if you are also hiring design work. Sketches and examples of products you like are welcome; finished layouts are premature.
  • Exact hours per feature. Ask for them in the estimate instead.

Prescribing a solution can cost more than it saves. A requirement such as "real-time updates everywhere" may double the work when refreshing one screen every minute would serve users just as well. Describe the need and let the developer propose options with their trade-offs.

#A brief outline you can copy

Use these headings and answer each in a few sentences or bullet points. Where you do not know the answer, write "unknown". That is useful information too.

  1. Company and contact: who you are, who decides, who answers questions during the project.
  2. The problem: what happens today and why it needs to change.
  3. The goal: what should be true once the product is live.
  4. Users and roles: each user type, roughly how many, and what each can see and do.
  5. Key flows: the most important journeys, step by step.
  6. Integrations: each external system, whether it has an API, and whether test access exists.
  7. Existing systems and data: what is being replaced, what data moves, and in what shape it is.
  8. Platforms: web, iOS, Android, desktop; browsers and devices that matter.
  9. Languages and regions: interface languages, currencies, time zones.
  10. Constraints: hosting, security, accessibility, stack, brand.
  11. Deadline: the date and the reason for it.
  12. Budget range: a band you are comfortable with.
  13. Out of scope: what the first version will not include.
  14. After launch: who will run the product, and whether you expect ongoing development and support.
  15. Examples: products you like or dislike, and why.

#Common mistakes that weaken a brief

  • Listing features without priorities. Mark each item as essential for launch or something that can wait. Without this, everything looks equally urgent and the estimate grows.
  • Copying a competitor. "Like Booking.com, but for dentists" hides years of work. Name the specific parts you actually need.
  • Skipping the admin side. Someone has to manage users, content, orders and refunds. Those screens are real work and are often forgotten.
  • Ignoring existing data. Migrating old records with duplicates and missing fields can take longer than building the feature that uses them.
  • Writing it alone. Ask the people who will use the product daily to read the flows. They will spot missing steps in minutes.

#What to expect after you send it

A serious developer will come back with questions before giving a number. That is a good sign: it means they read the brief and found the gaps. After a call or two you should receive a written scope and estimate that restates your goal, lists what is included and excluded, and names the assumptions behind the price. Compare that document with your brief line by line. Anything that changed between the two should have a reason you understand. If you are deciding how the work will be billed, see fixed price or time and materials.

#How PN Scripts can help

If you have a brief, or only the first few answers from the outline above, you can send it to PN Scripts and we reply within one business day. Before any work is agreed you receive a written scope and estimate, and nothing starts until you have read it and said yes.

Keep reading

Keep reading

Comments

Comments

Be the first to leave a comment.

Leave a comment

Next step

pnscripts.com/contact

Talk to the team

Ask about an article, or tell us about a project you want built. We reply within one business day.

Write to us

The PN Scripts family

Other PN Scripts sites

Hosting, games and the blog each have their own site, run by the same company.

  • pnscripts.com

    PN Scripts

    Software engineering

    Custom web, mobile, API and game development, plus our open-source products and plugins.

  • games.pnscripts.com

    Games

    Games and game servers

    The home for PN Scripts games and game servers. The catalog is empty for now and fills up as titles and servers go live.

  • hosting.pnscripts.com

    Hosting

    Hosting and infrastructure

    Shared hosting, KVM VPS, dedicated servers and domains, from the same company that builds your project.

  • blog.pnscripts.com

    Blog

    Articles and field notes

    Plain articles on hosting, servers, domains and security, written by the people who work with them.

    You are here