A good project brief helps a developer estimate the right work and helps you compare proposals fairly. You do not need to write technical specifications first. Explain the business outcome, the users and the important tasks, then identify what is known, what needs investigation and how you will judge the first release.
Describe the business outcome in plain language
Start with your business type, customers, location and current process. Explain the problem with an example: customers ask the same product questions on WhatsApp, staff repeat order details in several spreadsheets or managers cannot reconcile branch stock. Avoid promising an improvement percentage before you have a baseline.
Choose the primary outcome of the first release. For a service website, that could be enquiries containing the customer's required service and location. For internal software, it could be one approved order moving from entry to fulfilment without duplicate entry. Add how you will measure that outcome with records you can actually collect. A clearer outcome makes it easier to challenge a feature that does not help.
Identify users and the tasks they must finish
Describe customers, staff and administrators separately. A visitor browsing a website does not need the same information or permissions as the person publishing its content. For each role, write a starting situation, the steps needed and the expected result. Include an exception, such as an unavailable item or a rejected approval.
Use a hypothetical shop as an example: a customer chooses a product variant, sees delivery information, places an order and receives a clear status. Staff verify payment, prepare the order and record fulfilment. If one of those steps happens outside the website, state which tool or person handles it. A practical brief can include manual steps rather than pretending every task must be automated.
Separate essential work from later ideas
Group requirements by what must work at launch, what would be useful and what can wait. The essential group should form a complete workflow. Removing the administrator's order view while keeping checkout does not create a smaller usable shop; it creates an operating gap. Ask the supplier to explain dependencies before assigning phases.
Record the reason for each requirement. A language choice, dashboard or loyalty feature may be justified, but the developer needs to know the underlying users and constraints. Include devices, internet limitations and existing business tools. If the only reason is that a competitor has the feature, investigate whether your customers or staff actually need it.
Specify content, data and integration responsibilities
For a website, list approved text, product details, photographs, brand assets and policies, then name who supplies or approves them. Identify which staff should edit pages and whether training is needed. For software, list the data sources, formats and approximate quantities, using anonymised samples when sharing records for an estimate.
Identify external providers and what you already have access to. Safaricom Daraja, for example, makes APIs available for M-PESA integration, but the provider setup for your project still requires checking. Do not label a proposed connection as ready until access and the required workflow are verified. Name who controls the merchant account and who resolves operational discrepancies.
Include an acceptance example for each important task
Acceptance criteria should let you and the supplier agree whether a task works without arguing about vague language such as user-friendly or fully functional. Use sample data and an observable result. Include errors and permissions, not just the normal path.
| Requirement | Example acceptance check |
|---|---|
| Website enquiry | A phone user sends an enquiry and the named recipient receives its details |
| Product variant | The selected size and price persist in the basket and order |
| Staff permissions | A cashier cannot approve an owner-only stock adjustment |
| Data import | Approved sample records and agreed totals reconcile after import |
| Handover | The client can access agreed accounts and follow documented recovery steps |
Explain budget, dates and ownership expectations
Give a budget range if you have one, including whether it covers ongoing costs. State the deadline and any event or business dependency behind it. Identify approval dates, content availability and the person who can resolve questions. A target date cannot become reliable until the scope and dependencies are understood.
Specify the accounts, documentation, source rights and data exports you expect at handover. Record support requirements, operating hours and who will maintain the system. NIST SSDF is a useful reference for discussing secure development responsibilities; it is not a substitute for agreed project-specific checks. Ask the supplier to identify exclusions rather than assuming a general promise covers everything.
Turn the brief into comparable proposals
Send the same brief to shortlisted suppliers and ask them to state assumptions, deliverables, milestones, recurring costs and questions. When a recommendation changes the scope, evaluate whether it improves the outcome rather than rejecting it simply because it differs from your original feature list. Keep decisions in a written record that both sides can review.
Use the free template below to draft your first version. For a public website, start with our website design service and website cost guide. For staff workflows or a customer portal, use custom software development. Share the brief with Ken Designers so the next conversation can focus on a workable scope and quotation.
Questions people ask
Do I need a technical specification before speaking to a developer?
No. A business brief with outcomes, users, workflows and constraints is a useful start. Discovery can turn it into a technical scope once the unknowns are understood.
Should I include my budget range?
Yes, where possible. It helps the developer recommend a scope you can operate and identify features that should be deferred or delivered differently.
What if I do not know every integration requirement yet?
List what you need the integration to achieve and mark access or capabilities as unconfirmed. Request investigation before treating it as a fixed, production-ready deliverable.
Put this guide to work
Download a practical template, fill in your requirements and bring it to your project conversation.
- Website and software project brief ↓
A fill-in template for your goals, workflows, budget, ownership and launch checks. No signup required.
- Developer comparison scorecard ↓
Compare suppliers against the same evidence and record unanswered questions.
Sources and research notes
Sources checked 3 October 2026. Recommendations and labelled scenarios are editorial guidance. Provider prices and capabilities can change; confirm them before purchasing.
- Safaricom: Daraja developer portal
Daraja provides Safaricom and M-PESA APIs for web and mobile integrations; specific setup must be checked with the provider.
- NIST: Secure Software Development Framework
Risk-based secure development and supplier procurement discussions, including responding to vulnerabilities.

About this guide
AI-assisted research and original buyer checklists from the studio. Official documentation is linked above; examples are illustrative and do not describe verified client outcomes.
Ask Ken on WhatsApp


