Defining the requirements of your software is naturally one of the first steps in any project. These requirements usually take two forms: functional requirements and non-functional requirements (NFRs). Our free non-functional requirements template can help you plan and log the progress of your software’s NFRs.
But what is the difference between the two? And how should you go about documenting and tracking the progress of your system requirements?
What is a Non-Functional Requirement?
Perhaps the best way to explain NFRs is to contrast them with their sister concept - the functional requirement. Functional requirements are ‘what’ the system should do. For example: ‘the system must send an email to the customer when they sign up for email alerts or register as a user on the site.’
Typically, a functional requirement will specify a behaviour or function without going much further than that.
Meanwhile, an NFR specifies ‘how’ a system should perform a function, including any constraints and minimum requirements. For instance: ‘the email must be sent within a period of no more than 12 hours after sign-up.’ To put it another way, you could think of NFRs as the quality attributes of a system. NFRs are often based upon things like:
- Performance
- Interoperability
- Reliability
- Recoverability
- Serviceability
- Security
- Data integrity
- Usability
At Capacitas we believe that all performance NFRs should adhere to the seven pillars of software performance, namely throughput and response time, capacity, efficiency, scalability, stability, resilience and instrumentation.
What’s in the Template?
So how can our free template help you document and track the progress of your performance NFRs?
Firstly, the template provides guidance on how to define and identify NFRs for your system, using our unique seven pillars approach.
The template also lays out an easy-to-use framework which categorises NFRs by performance and the area that each NFR applies to. It also includes sections for assessing the NFR's rating in production and testing, giving you an easy way to track the progress of your requirements during the project.
Both elements help you to develop and monitor the right performance NFRs for your system. Through our seven-pillar method, you’ll subject your system to comprehensive performance testing, reducing the likelihood of errors and poor performance as a result.
To download this free resource, click here. To learn more about our unique approach to assessing software performance, download a copy of our 7 Pillars of Software Performance infographic here.
About the author
Danny Quilton
FinOps and AI: Building the Financial Discipline for the Next Wave of Enterprise Intelligence
AI FinOps represents an evolution rather than a replacement of traditional FinOps. It extends the model into a domain where financial, technical, and product decisions are tightly interconnected.
Confidence Under Load: How We Verified AKS Readiness for Peak
How Capacitas verified AKS readiness for peak demand by validating workload performance, autoscaling, cluster capacity, monitoring, and incident response.
Building Cloud Resilience: Lessons from the AWS Outage
Learning from the Latest Outage. Events like this week’s AWS disruption highlight one clear truth: resilience must be designed, not assumed.
Bringing Order to Chaos: A Practical Guide to Chaos Testing in the Cloud
In today’s cloud-native environments, resilience is not optional—it’s critical. Chaos testing has emerged as a key practice for validating system behaviour under failure conditions.

