Non-Functional Requirements

Updated

Non-functional requirements define the quality conditions and constraints under which software must operate, including performance, availability, security, accessibility, recoverability, and supportability. In SaaS replacement, they make service qualities supplied by the vendor explicit responsibilities of the replacement design and operating model.

Non-functional requirements describe how well a replacement must work and the conditions it must operate within. They cover qualities that can affect every workflow, such as response time, availability, access control, recovery, accessibility, and maintainability. A SaaS replacement plan makes these conditions explicit before responsibility moves away from the vendor.

What changes when SaaS is replaced

A SaaS subscription packages software with an operating model. The vendor may handle hosting, deployment, monitoring, backups, incident response, and parts of security and compliance. An owned replacement moves some or all of those duties to the organisation and its delivery partners.

Total cost of ownership includes this continuing work. Non-functional requirements identify what the operating model must achieve, so infrastructure and support costs are tied to stated needs rather than copied from a generic architecture.

Quality areaRequirement concernsEvidence before cutover
PerformanceResponse, throughput, and workload limitsTests with representative load
AvailabilityPermitted interruption and maintenanceMonitoring and recovery exercise
SecurityIdentity, permissions, encryption, and auditControl tests and access review
RecoverabilityBackup, restore, and data-loss toleranceSuccessful restoration evidence
AccessibilitySupported interaction needsReview against defined criteria
SupportabilityLogging, diagnosis, and ownershipOperational procedures and alerts

Turning qualities into testable requirements

Words such as “secure,” “reliable,” and “scalable” are goals, not complete requirements. A testable statement defines the condition, the expected result, and the context in which it applies. The source can be an observed workload, a business deadline, a policy, a contractual obligation, or a recovery decision.

A review should cover:

  • Normal operation: expected users, records, integrations, and scheduled work.
  • Peak conditions: known periods when demand or processing rises.
  • Failure conditions: unavailable dependencies, delayed messages, or interrupted jobs.
  • Recovery: restoration of service and data after a defined incident.
  • Change: deployment, rollback, monitoring, and support after release.
  • Data lifecycle: retention, deletion, export, and access to historical records.

Invented precision is not useful. When evidence is missing, the requirement can record an assumption and identify how it will be resolved.

Relationship to functional scope

Functional requirements define the behaviours the replacement provides. Non-functional requirements apply conditions to those behaviours and to the system as a whole. A report can be functionally correct but operationally unusable if it completes too late. A login can work while failing required access, audit, or recovery controls.

The two sets need traceability without being forced into the same format. A workflow scenario can test a business outcome, while specialised checks assess load, recovery, security, or accessibility.

Ownership after launch

Each requirement needs an owner who can accept evidence and respond when the condition is not met. Ownership may sit with product, engineering, security, operations, or a business process owner, depending on the requirement.

The argument about the full economics of leaving SaaS extends beyond delivery cost. Monitoring, maintenance, incident response, capacity, and recovery continue after launch. Non-functional requirements define the service those activities are meant to sustain.