FREN

Let’s keep in touch

Social

Organisation· 8 min read

Web application specification: the sections to include

Web application requirements document: the sections to include, functional vs technical specification, writing requirements and the mistakes to avoid.

A web application specification describes what the application must allow people to do, for whom and under which constraints, before a provider proposes a solution. It is used to consult providers, to frame the contract, then to run acceptance testing. This guide explains how it differs from a technical specification, the sections to include, how to write verifiable requirements and the mistakes that prove costly later.

It is written for managing directors, CIOs and product managers preparing the custom development of a web application: a customer portal, a business tool, a platform. A showcase site needs a lighter document; the principles remain the same.

What is a web application specification?

A web application specification is the document in which a company states its need before having an application developed: the users, what they must be able to do, the constraints to respect and the criteria that will show whether the result is right. It comes before the choice of a solution and serves as the reference throughout the project.

The NF EN 16271 standard, published by AFNOR in 2013 to replace the French standard NF X50-151, defines the functional specification as the expression of a need in terms of service functions and constraints. For each function, it calls for assessment criteria, with an expected level and its flexibility: what is negotiable and what is not.

The document is used three times: to consult providers on a common basis and compare their answers, to frame the contract, then for acceptance testing, that is, checking at delivery that what was asked for is really there.

Functional or technical specification: what is the difference?

The functional specification says what the application must do; the technical specification says how it will do it. The first belongs to whoever expresses the need, the second to those who design the solution.

CriterionFunctional specificationTechnical specification
Question addressedWhat, for whom, under which constraintsHow, with which technologies
Written byThe company, with its users, sometimes helped by a consultantThe provider or the technical team
Typical contentUsers, journeys, functions, business rules, constraints, prioritiesArchitecture, languages, database, hosting, technical interfaces
WhenBefore consulting providersAfter the solution has been chosen

Mixing the two is the most common mistake: imposing a language or a tool in the functional specification shuts out better solutions and blurs the comparison of offers. A real constraint, such as integration with your ERP or imposed hosting, belongs there; a preference with no reason does not.

Which sections should a web application specification include?

A web application specification comes down to ten sections, from the reason for the project to the arrangements after delivery. They do not all need the same length; none should be missing.

  • Context and objectives. The company, the problem to solve, what exists today, and the measurable objectives of the project.
  • Scope. What the application covers, and what it does not: the list of what is out of scope prevents as many misunderstandings as the rest.
  • Users and their roles. Who uses the application (customers, internal teams, partners, administrators) and what each of them may see and do.
  • Journeys and functions. What each user must be able to do, journey by journey, with the business rules that apply.
  • Data. The information the application creates, receives or displays, where it comes from, how long it is kept, and the migration of existing data.
  • Exchanges with other tools. ERP, CRM, payment, authentication, internal tools: what is exchanged, in which direction and how often.
  • Non-functional requirements. Expected performance, availability, security, accessibility, browsers and devices, languages.
  • Constraints. Technical (existing systems, imposed hosting), regulatory, budgetary and scheduling, each with its reason.
  • Priorities and acceptance. What is essential for the first version, what can follow, and how each function will be checked at delivery.
  • Consultation and after delivery. What the provider’s answer must contain, code ownership, documentation, maintenance and reversibility.

The last sections are often the shortest and the most forgotten. Yet they decide what happens after delivery: who owns the code, who maintains it, and how you change provider. Our guide to the application maintenance contract details these clauses.

How do you write the functional requirements of a web application?

A well-written functional requirement states who does what, for what purpose, and how you will know it has been met. The ISO/IEC/IEEE 29148 standard, dedicated to requirements engineering, notably requires a requirement to be unambiguous and verifiable.

In web projects, the most widespread form is the user story, followed by its acceptance criteria and its priority:

ElementExample
User story“As a purchasing manager, I want to approve a supplier order from my phone, so that a delivery is not held up when I am travelling.”
Acceptance criterion“An order above the threshold set by management requires a second approval.”
Acceptance criterion“The requester is notified as soon as the order is approved or rejected.”
Priority“Essential for the first version.”

Three rules avoid most unusable requirements: one requirement per sentence; no word that cannot be measured (“fast”, “intuitive”, “modern”) without saying how it is measured; a priority for each. The MoSCoW method, which classifies each requirement as must have, should have, could have or won’t have this time, is a simple reference.

What should you plan for data, security and accessibility?

Personal data, security and accessibility belong in the specification because they cost far more to add afterwards. For personal data, it is an obligation: Article 25 of the GDPR requires data protection by design and by default.

  • Personal data. Which data is collected, why, how long it is kept, who can access it, and how a person exercises their rights. Test environments count too: see our article on test data and the GDPR.
  • Security. Authentication, roles and permissions, a record of sensitive actions, backups, and what happens when a vulnerability is discovered.
  • Accessibility. The target level and the journeys concerned. For certain online services, including e-commerce, the European Accessibility Act has made it an obligation since 28 June 2025: our European Accessibility Act checklist explains who is concerned.
  • Migration of existing data. Where the data to migrate comes from, what state it is in, and who validates it before go-live.

Which mistakes should you avoid in a specification?

The costliest mistakes in a specification are the ones that only show at delivery: a need described as a solution, a scope with no limits, a requirement that cannot be verified.

  • Describing a solution instead of a need. “A drop-down menu”, “a MySQL database”: without saying what it is for, the provider cannot propose anything better.
  • Leaving the scope open. Whatever is not written as out of scope will end up being argued over, at the worst moment.
  • Giving everything the same priority. The provider can no longer propose a realistic first version.
  • Writing without the users. The real business rules lie with those who do the work every day.
  • Forgetting what comes after. Without code ownership, documentation and maintenance planned, an application quickly turns into technical debt, and its takeover by another provider is costly.
  • Freezing the document. A specification is updated when the need changes, with a dated version.

Frequently asked questions

Who writes a web application specification?
The company that expresses the need, together with the people who will use the application. It can be helped by a consultant or by a provider during a scoping phase, but the need remains its own. The technical specification is written by those who design the solution.
What is the difference between a functional and a technical specification?
The functional specification describes what the application must do and under which constraints. The technical specification describes how it will do it: architecture, technologies, hosting.
Should a specification impose a technology?
Only if it is a real constraint, with its reason: an internal team that will maintain the code, an existing application to take over, imposed hosting. Otherwise, let providers propose and justify their choices.
Should a web application specification cover the GDPR?
Yes, as soon as the application processes personal data. Article 25 of the GDPR requires data protection by design and by default: the data collected, how long it is kept and who can access it are decided at specification stage.
Is a specification compatible with an agile method?
Yes. In agile, the specification sets the frame (objectives, users, constraints, priorities) and functions are detailed as the project goes, as user stories. What disappears is the frozen document that claims to foresee everything.
What if the need is not clear yet?
Start with a scoping workshop or an audit of what exists, before the specification. Requirements written on a vague need remain vague.

Specification: start from the need, not the solution

A good web application specification does not foresee everything: it says what matters, for whom, how it will be checked, and what will happen after delivery. The rest is built with the chosen provider.

The iones team develops custom web applications nearshore from Tunisia, for French and European companies, and can start with an audit of your existing system or your need. You can also write to us for an initial discussion.

Sources

  1. NF EN 16271, functional specification – AFNOR, 2013
  2. ISO/IEC/IEEE 29148:2018, requirements engineering – IEC Webstore, 2nd edition, November 2018
  3. Regulation (EU) 2016/679 (GDPR), Article 25 – EUR-Lex
  4. Directive (EU) 2019/882 on accessibility – EUR-Lex

Start a project

Ready to take action?

Tell us what you need – we will get back to you quickly with a technical assessment and an action plan.

  • Reply within 48–72 hours
  • No-obligation conversation
  • NDA confidentiality