Buying principleThe first valuable deliverable is one complete, operable workflow. A pile of finished screens can still hide an unfinished product.
A web app development agency should start with the user outcome
A useful brief begins with what one person must accomplish, what changes in the system and how everyone knows the task is finished. It does not begin with a page count.
Imagine a hypothetical equipment-rental business. A customer requests a machine, an operations manager checks availability, finance approves the deposit and the customer receives a confirmed collection slot. That is one workflow with visible actors and state changes.
The GOV.UK Service Standard recommends designing around a whole user problem rather than a technology or preselected solution. It also warns against making a service so broad that people cannot use it intuitively.
Ask the agency to map the trigger, people, decisions, records, external systems and finish. If the team jumps from “rental portal” to a technology stack, use a product discovery workshop to resolve the workflow first.
Define five contracts before comparing estimates
Estimates become comparable when every proposal answers the same five contracts. These are not legal documents. They are explicit agreements about what the product must do and what evidence will prove it.
In the rental example, the happy path is only one contract. The app also needs to decide who can approve a deposit, what “reserved” means, what happens when availability changes and who owns a failed payment after launch.
A strong website design brief can capture audience, content and interface direction. A web application brief must go further because permissions and state transitions create business consequences.
| Contract | Question to settle | Rental example | Acceptance evidence |
|---|---|---|---|
| User outcome | What must one person finish? | Receive a confirmed collection slot | Task completed from a fresh account |
| Roles | Who can see and change what? | Customer requests, manager reserves, finance approves | Role-by-role permission tests |
| Data state | Which states exist and what moves them? | Requested, held, approved, confirmed | Recorded transition history |
| Failure | What happens when a dependency fails? | Payment times out after stock is held | Safe retry and visible recovery |
| Operation | Who monitors, supports and changes it? | Operations owns exceptions after launch | Runbook, alerts and named owner |
Buy one vertical slice before a broad feature plan
A vertical slice is one thin path through interface, business rules, data, integrations and deployment. It should be small enough to finish and complete enough to expose architectural mistakes.
For the rental app, the slice could let one customer request one item, let one manager reserve it and show the confirmed result to both. Notifications, bulk edits and reporting can wait.
GOV.UK advises teams to start with something just complex enough to learn from and then iterate. That is different from building a disposable visual prototype. The slice should run in a production-like environment with the actual authorization and persistence pattern.
Ask every bidder what the first slice will prove, which risks it retires and which work is intentionally excluded. If the answer is “dashboard, settings and profile pages,” the agency has described navigation, not product risk.
Permissions and recovery belong in the scope
Authenticated web apps need server-enforced permissions, not buttons hidden from the wrong role. A customer changing an identifier in the URL must not gain access to another customer's reservation.
The OWASP Application Security Verification Standard provides procurement-ready requirements for authentication, sessions, access control, data protection and APIs. Use a relevant subset as acceptance criteria instead of asking for the wonderfully precise deliverable called “secure.”
Recovery deserves equal detail. If payment succeeds but confirmation fails, the app must show the unresolved state, avoid charging twice and give staff a safe next action. Error handling is a product flow, not an engineering footnote.
W3C's WCAG guidance on error identification requires detected input errors to be identified and described in text. Ask to see validation, dependency failures and recovery with keyboard and assistive technology, not only the success screen.
The delivery team must cover product, design, engineering and operation
A credible agency proposal names the people who will make decisions, not a list of disciplines copied from a pitch deck. The work needs product judgement, research, interaction design, content, engineering, quality assurance and operational ownership in proportions that change by phase.
The GOV.UK Service Standard calls for a multidisciplinary team that can create and operate the service sustainably. It specifically includes expertise in offline delivery and the back-end systems that the service integrates with.
For the rental workflow, an operations manager must help define reservation exceptions. A designer cannot guess them, and a developer should not quietly encode them from a Slack thread.
Compare the scope with a product design agency when the main uncertainty is experience and validation. If the workflow is known and the implementation choice is Next.js, the framework-specific questions in our Next.js development agency guide become relevant later.
Accept the web app through evidence your team can inspect
Acceptance should connect every important promise to a test, an observable result and an owner. “Feature complete” is not useful when the feature works only for the administrator who built it.
Ask for a production-like walkthrough using fresh accounts for each role. Interrupt an integration, submit the same action twice, revoke access and resume an incomplete case. Inspect the resulting records and logs.
Next.js publishes a production checklist covering error handling, server-side validation, authorization, environment variables, accessibility, metadata, build verification and field performance data. A framework checklist is not your whole acceptance plan, but it reveals whether the proposal includes production work at all.
Finish with ownership: source code, deployment access, schema, migration history, test suite, dependency register, runbook, monitoring and recovery instructions. A maintenance retainer can fund ongoing work, but it should not be the only place where operational knowledge exists.
Web app development agency checklist before you sign
- Name one end-to-end user outcome and the person who owns it.
- Map roles, permissions, records, states and external systems.
- Ask for the smallest vertical slice that proves the risky architecture.
- Write acceptance tests for normal, forbidden, duplicate and failed actions.
- Confirm accessibility, security and recovery evidence in a production-like environment.
- Meet the people doing product, design, engineering and quality work.
- Own the source, data model, tests, deployment access, monitoring and runbook.
- Separate launch scope from post-launch operation and change requests.
If you have a workflow in mind, send Seuil the people involved, the records they change and the systems the workflow touches. That is enough to identify the first vertical slice and the questions an estimate must answer.