Functional & Non-Functional Requirements

Functional & Non-Functional Requirements are a hot and catchy topics in Business Analysis knowledge that every BA should master on it.

🔧 Functional Requirements (FR)

These define what the system should do — the specific behaviors, functions, and data interactions.

📌 Characteristics:

  • Describe tasks, services, or functions the system must perform.
  • Based on stakeholder needs and business rules.
  • Often captured as use cases, user stories, or process flows.

✅ Examples:

  • The system shall allow users to log in using a username and password.
  • The system shall generate a monthly financial report.
  • The application shall send an email confirmation after user registration.

🧩 Non-Functional Requirements (NFR)

These define how the system performs or constraints on the functionality — often called quality attributes.

📌 Characteristics:

  • Define system performance, usability, security, reliability, etc.
  • Usually measurable or verifiable through benchmarks or testing.

✅ Examples:

  • The system shall support 1,000 concurrent users without performance degradation.
  • The application shall be available 99.9% of the time.
  • All user data shall be encrypted at rest and in transit.
  • The system shall load the dashboard within 2 seconds.

🆚 Key Differences

AspectFunctional Requirements (FR)Non-Functional Requirements (NFR)
FocusWhat the system doesHow the system behaves
TypeBehavior, features, servicesQuality, constraints, performance
MeasurementPass/fail based on function executionOften measured by performance metrics
ExpressionUse cases, business rules, workflowsSLAs, performance thresholds, compliance rules

🧠 Understanding Non-Functional Requirements (NFRs) Through Language

Non-Functional Requirements describe the qualities or attributes of a system. Etymologically, many of these qualities derive from Latin and are structured using suffixes like “-ability”, “-ity”, “-ence”, and “-ness”. These suffixes help define how well a system performs, rather than what it does.


📝 Common Suffixes in NFR Terminology

🔤 Suffix “-ability”The capacity to be or do something

Derived from Latin -abilitas, this suffix is central to many NFR terms:

TermWhat It RepresentsExample Requirement
AvailabilityUptime and accessibility of the system“System must operate 24/7 with 99.95% uptime.”
ScalabilityAbility to grow and handle increasing demand“System must support 10x growth in user volume.”
ReliabilityConsistency and dependability of system performance“System should not fail more than once per 10,000 operations.”
UsabilityEase of use and learnability for users“System must allow task completion in under 3 clicks.”
MaintainabilityEase with which the system can be updated or repaired“Bug fixes must be deployable within 2 hours.”
PortabilityAbility to function across environments/platforms“Application must run on both Android and iOS.”
ExtensibilityCapacity to add new features without major redesign“System must allow for plugin architecture.”

🌀 Suffix “-ity”A state or condition of being

Often used to describe inherent or emergent system properties:

TermWhat It RepresentsExample Requirement
SecurityProtection against unauthorized access or data loss“All sensitive data must be encrypted in transit and at rest.”
IntegrityAccuracy and trustworthiness of data and systems“Financial transactions must be tamper-proof.”
FlexibilityAbility to adapt to new requirements or conditions“User workflows should be customizable per department.”
ComplexityDegree of intricacy or difficulty in use or maintenance“System complexity must be kept under 5 modules per feature.”

🌐 Suffix “-ence” / “-ency”Ongoing state or quality

These reflect enduring qualities or system tendencies:

TermWhat It RepresentsExample Requirement
ResilienceAbility to recover from failures or disruptions“System must auto-recover within 30 seconds of failure.”
EfficiencyOptimal use of resources (time, memory, etc.)“System must complete report generation in under 2 seconds.”
TransparencyOpenness and auditability of processes“All user actions must be logged and traceable.”
ConsistencyUniformity across operations and outputs“Reports generated must match backend data 100% of the time.”

🧭 The Big Picture

While Functional Requirements answer “What will the system do?”, Non-Functional Requirements focus on “How well will it do it?” — and the language used to describe them points directly to quality attributes that are measurable, testable, and critical for long-term success.

Other Business Analysis Articles:

aboozarkordi

Leave a Reply