forget your password?

The Definitive Non-Functional Requirements Checklist

Performance RequirementsEvery digital project has requirements, whether they have been explicitly written down or not. There are different types of requirements, some of which are more obviously than others and perhaps that’s why some requirements are simply assumed or worse, are overlooked altogether.

Functional requirements for a digital project are quite simple to understand. They explain what the website has to do. But fewer people are able to clearly articulate what non-functional requirements are, let alone clearly define them at the outset of the project. But non-functional requirements are vital and they remain vital even when it’s not known exactly what they are.

The confusion begins with the name “non-functional” requirements. I mean, trying to define them by describing what they are not, is a not a great place to start. Non-functional requirements are the qualities that functional requirements need to possess or the standards to which a website as a whole has to perform to. If functional requirements are what a website has to do, then the non-functional requirements are what the website has to be. For example, the pages of a website have to be quick to load, they may have to be secure and they most certainly need to be backed up. Non-functional requirements describe the qualities, performance standards and attributes that the website needs to possess. If functional requirements are actions, then essentially they are verbs. But then non-functional requirements are not non-verbs, they are adverbs.

Here endeth my rant on the illogical naming of non-functional requirements.

Because non-functional or, should I say the newly renamed to “performance” or “quality” requirements are somewhat perplexing, we decided to make it easy for clients by a creating a simple checklist that can easily be reviewed. The checklist was created by scouring through previous project requirement documentation, online research and then finally a bit crowdsourcing ideas from digital project management forums.

You might want to consider these requirements when thinking about what you want your website to be and how you need it to perform.

Acceptable – Be verified as meeting the stated objectives

Accessible – Be accessible from different devices or be accessible for the blind or partially sighted 

Archived – Archiving, management and retention of old, out of date or redundant data.

Auditable – Creating and retention of activity logs and records

Available - Available 24 x 7 x 365. Service level agreements

Certified - Web standard certifications, security and compliance certificates. E.g. PCI compliance.

Dependable – All aspects of the site including third party services being depended upon.

Deployable – Consideration of the installation effort and any prerequisites

Documented – The level of required documentation

Emotional - Emotional factors e.g. fun, absorbing, reassuring.

Exploitable  - The system or data providing additional benefits other than those explicitly stated

Feasible – Possible to meet all requirements

Maintainable – Site configuration and content management.

Modifiable & Extensible – The ease and cost to make further changes to the website

Open – Application APIs, system integration and interfaces. E.g. social media

Responsive - Website performance, user response times. Speed of page loads, calculations and processing

Quality – Measureable identification and rectification of faults and improvements.

Reliable - Consistent and dependable quality of service

Reportable - Catering for different reporting requirements

Resourced - Internal and external human resources

Safe - Any associated safety risks

Scalable – Will the data, processing and concurrent user capacities need to be scaled in the future. Consider the infrastructure for web hosting, databases and web services. Will the infrastructure cope with the planned future, visitor numbers, data and transaction volumes?

Secure - Online assets that need to be protected from theft

Secured and Recoverable – System, software and data backups. Business continuity and disaster recovery plans

Supportable- Support arrangements including third parties

Testable - Can the website be tested?

Useable - Ease of use by target users. Both humans and web crawlers

Verifiable – Are controls required for the system, the business transactions and the processes? I.e. how will you know if the system is working?

Have we missed any? Do let us know in the comments below and we’ll keep adding them in.

You might also like:

Comments (2)

Ian Sharp

August 16, 2014 at 11.49 am

Matthew - good point about accessibility that certainly deserves an update to improve the definition.

Matthew Castle

August 15, 2014 at 9.44 pm

That’s a good comprehensive list which is going to be helpful for people to understand what’s required to develop a well rounded requirements backlog above just the normal “click this button and it does that” user story.

A couple of comments: Accessible could also be interpreted to mean accessibility standards for the partially sighted etc.  Responsive could be interpreted to mean Responsive Design for desktop / tablet / mobile.

Leave a comment