Free 30-minute strategy call with Nihar Scope, budget and a written proposal within 24 hours. Book now
PRODUCT STRATEGY

Non-Functional Requirements: The Checklist Founders Skip (and Pay For Later)

Functional requirements say what your app does. Non-functional requirements say how well it has to do it: how fast, how secure, how many users, how available and how easy to maintain. They are the part of a spec founders most often leave blank, and the part that most often explains why two quotes for the same app look so different.

Non-Functional Requirements: The Checklist Founders Skip (and Pay For Later): guide by Nihar Ranjan Rout
In this guide 8 sections
  1. What non-functional requirements are
  2. Why they change your quote
  3. The checklist
  4. How to make each one measurable
  5. When to set them
  6. Common mistakes
  7. How we handle them at Creuto
  8. Frequently asked questions

When I review a founder's spec, the feature list is usually detailed. Then I ask a few simple questions. How many people will use this on launch day? What happens if it is down for an hour? Whose data are we storing, and for how long? Most of the time, nobody has written those answers down. Those answers are the non-functional requirements, and they shape the architecture, the timeline and the cost as much as any feature does.

The short version

For every quality that matters to your business, write one measurable target: a number, a condition and how it will be tested. "The app should be fast" is a wish. "The home screen loads in under two seconds on a mid-range Android phone on 4G" is a requirement.

What non-functional requirements are

Functional requirements describe what the product does: sign up, book a slot, pay, get a receipt. You usually capture them as user stories in your PRD.

Non-functional requirements describe how the whole system behaves while doing those things. The international software quality model, ISO/IEC 25010, groups these qualities into areas such as performance efficiency, reliability, security, usability, maintainability and portability. You do not need to read the standard, but it is a useful reminder of what to cover.

Why they change your quote

Two development companies can read the same feature list and imagine very different products. One pictures a few hundred users and a single server. The other pictures a national launch, strict data rules and round-the-clock support. Both quotes can be fair, and they will still be far apart.

  • Scale decides the architecture, caching and how much load testing is needed.
  • Availability decides whether you need redundancy across servers or regions, and on-call monitoring.
  • Security and compliance add reviews, audit logs, encryption and sometimes outside testing.
  • Device and browser support multiplies design and testing effort.

This is why I ask founders to add these targets before they send an RFP. If you want to see how these choices move a budget, our project cost guide and the app cost calculator show the main drivers.

The checklist

Copy this table into your spec and fill in the last column. If you do not know an answer, write a rough estimate and mark it as one. A guess is far more useful to a development team than a blank.

AreaQuestion to answerExample target
PerformanceHow fast must key screens and actions be?Search results appear in under two seconds on a mid-range phone on 4G.
ScaleHow many users at the same time, at launch and in a year?Handles the expected launch-day peak with room to spare, confirmed by a load test.
AvailabilityHow much downtime can the business accept, and when?Planned maintenance only between 2 am and 4 am local time, announced a day ahead.
Backup and recoveryHow much data can you afford to lose, and how fast must you recover?Daily backups kept for 30 days; a restore is tested every quarter.
SecurityWho can see what, and how do they sign in?Role-based access for staff, two-step login for admins, data encrypted in transit and at rest.
Privacy and complianceWhich laws apply to the data you store, and where must it live?Personal data stored in a named region; users can request deletion.
AccessibilityWhich accessibility level must screens meet?Customer-facing screens meet WCAG 2.2 level AA.
CompatibilityWhich devices, OS versions and browsers are supported?The last three major iOS and Android versions; current Chrome, Safari and Edge.
LocalisationWhich languages, currencies, time zones and date formats?English and Hindi at launch; all times stored in UTC and shown in local time.
ObservabilityHow will you know something is wrong before customers tell you?Error tracking and uptime alerts sent to the on-call person within minutes.
MaintainabilityWho will change this code later, and what do they need?Automated tests for core flows, a written setup guide, code in the client's own repository.

Writing a spec for your app?

Book a free 30-minute call. We will go through your requirements and point out the targets that are missing.

Book a free 30-minute call →

How to make each one measurable

A good non-functional requirement has three parts: the quality, the number, and the conditions under which the number must hold. Here is how I rewrite common vague ones.

  • "It should be secure" becomes: staff accounts use role-based access, admin logins need a second factor, and the app passes a review against the OWASP Application Security Verification Standard at the level we agree on.
  • "It should handle lots of users" becomes: the checkout flow handles the expected peak load with acceptable response times, proven by a load test before launch.
  • "It should be accessible" becomes: customer screens meet WCAG level AA, checked with automated tools and a manual screen reader pass.
  • "It should always be up" becomes: a stated uptime target, a maintenance window and a plan for what users see when something fails.

Be honest about the targets. Asking for the highest level everywhere makes the product slower and more expensive to build. A booking app for one city does not need the same availability plan as a payments platform. Pick high targets only where the business truly needs them.

When to set them

  1. Before you ask for quotes. Even rough targets make proposals comparable.
  2. During discovery. The development team checks each target, flags the expensive ones and suggests cheaper alternatives.
  3. Before each milestone. Review the targets that matter for that release, such as load testing before a marketing push.
  4. After launch. Real usage data will show which targets were too high or too low. Update the spec.

For mobile apps, security is the area founders most often underestimate. Our mobile app security checklist goes deeper on what to ask for.

Common mistakes

  • Leaving them out entirely. The team then makes its own assumptions, and you discover them after launch.
  • Words instead of numbers. "Fast", "secure" and "scalable" cannot be tested, so they cannot be accepted or rejected.
  • Gold-plating. Demanding enterprise-level targets for a first version burns budget before you have users.
  • No owner. Someone has to own monitoring, backups and security updates after launch. Write down who.
  • No test plan. Every target needs a matching test, or it will quietly be skipped under deadline pressure.

How we handle them at Creuto

At Creuto, we cover non-functional requirements in the first call and write them into the proposal, which you get within 24 hours of the call. The targets go into the PRD next to the features, each one with a test. We set up monitoring and backups as part of the build, your code lives in your own accounts from day one, and after launch there is a 60-day warranty while real users put those targets to the test.

If you already have a feature list, add the checklist above and send both to any team you are talking to. You will get clearer answers, and you will find out quickly which teams have thought about the questions.

Frequently asked questions

What is the difference between functional and non-functional requirements?

A functional requirement describes a behaviour, such as 'a customer can reschedule a booking'. A non-functional requirement describes a quality of the whole system, such as 'search results load in under two seconds on a mid-range phone' or 'customer data is encrypted at rest'.

What are examples of non-functional requirements?

Common examples are page or screen load time, number of users at the same time, uptime target, backup and recovery time, security and login rules, data retention, accessibility level, supported devices and browsers, and how logs and monitoring work.

Do non-functional requirements affect the cost of an app?

Yes. Higher targets for scale, availability, security or compliance mean more infrastructure, more testing and more engineering time. Stating them up front is what lets different development companies quote for the same thing.

Who should write non-functional requirements?

The founder or product owner sets the business targets, such as how many users and how much downtime is acceptable. The development team turns those into measurable technical targets and checks they are realistic.

How do you test non-functional requirements?

Each one needs a measurable target and a test: load tests for speed and scale, security reviews and penetration tests for security, restore drills for backups, and accessibility audits against WCAG. If you cannot test it, rewrite it until you can.

Free quote within 24 hours

Need a PRD with clear targets?

We write PRDs that cover features and the speed, security and scale targets behind them, so every quote you get is comparable.

See product strategy and PRD

Goes straight to Nihar. Reply within 24 hours.