Every 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.