Non-functional Requirements in software development
Digvijay Jadhav
Technology Head | System Architect | Leads Engineering Team @ Scrobits Technologies
?
Non-functional requirements (NFR) may not be visible to users and customers directly, but their absence may impact the overall user experience in a negative way and hamper the business.
Non functional requirements also keep functional requirements in line, so to speak. Attributes that make the product affordable, easy to use, and accessible, for example, come from non functional requirements.
?
Most common attributes of NFR:
1.?????? Performance
2.?????? Environmental
3.?????? Usability
4.?????? Scalability
5.?????? Reliability and Availability
6.?????? Maintainability
7.?????? Recoverability
8.?????? Security & Compliance.
9.?????? Capacity
10.? Compatibility
How to define NFR/Considerations of NFR’s
1.??????Performance:
a.?? What will be the application load time for users?
b.???How can we handle network latency?
2.??????Security and compliance:
a.???How can we secure an application from unauthorized access?
b.???How can we protect an application from malicious attacks?
c.?? How can we meet local laws and audit requirements?
3.???? Recoverability:
a.???How can we recover an application from an outage?
b.???How can we minimize recovery time in the event of an outage?
c.???How can we recover data loss?
4.??????Maintainability:
a.???How can we ensure application monitoring and alerts?
领英推荐
b.???How can we ensure application support?
5.??????Reliability:
a.?? How can we make sure the application performs consistently?
b.???How can we inspect and correct glitches?
6.????? Availability:
a.???How can we ensure the high availability of an application?
b.???How can we make an application fault-tolerant?
7.??????Scalability:
a.???How can we meet the increasing demand for resources?
b.? How can we achieve a good scale for a sudden spike in utilization?
8.??????Usability:
a.???How can we simplify an application's use?
b.?????? How can we achieve a seamless user experience?
9.????? Capacity:
a.???What are your system’s storage requirements, today and in the future?
b. ??How will your system scale up for increasing data storage volume demands?
10.? Compatibility:
a.???What are the minimum hardware requirements?
b.???What operating systems and their versions must be supported?
?
Examples of NFR:
Performance: Each page must load within 2 seconds; The application must handle 800-1000 simultaneous users without a significant degradation in response time.
Reliability: The system must achieve 99.99% uptime, ensuring minimal service disruption throughout the year.
Security: Data encryption for all transactions must meet AES-256 standards to safeguard sensitive information; Database security must meet HIPAA requirements.
Scalability: The system should automatically scale up or down to handle varying workloads, ensuring consistent performance across peak and off-peak times.
Compliance: The software must adhere to GDPR guidelines to ensure the protection of users' personal data.
Maintainability: Code must follow standard naming conventions and documentation practices to ensure that future modifications can be implemented within a 24-hour timeframe.
?
Ultimately, NFRs play a crucial role in delivering a product that is not only functional but also reliable, secure, and future-proof.
?
?
Backend Developer @ Scrobits Technologies || Javascript || Linux
10 个月Yes! the agenda of NFR is to have the product to sustain in the market and the user should get value while using this.
Business Analyst | MERN Stack & Cloud DevOps Specialist | Driving Digital Transformation at SCROB1TS TECHNOLOGIES | Leveraging Data Insights for Cutting-Edge UI/UX & Innovation | Expert in Scalable, Tech-Driven Solutions
10 个月Great info actually NFRs are crucial for ensuring a smooth user experience and resilient systems.