NFRs:

In addition to the customer value-adding Epics and User stories you typically brainstorm in story writing workshops, the team needs to consider & plan for how to meet critical non-functional requirements that are also essential to the success of the product. These include things like performance, security, reliability, etc. To truly differentiate your product from the competition, think about NFRs not merely as compliance must-haves, but as distinguishing factors and essential contributors to the value proposition of the product. A big part of why our product is superior to the competition could be because it is more secure, more reliable, faster, etc.

NFRs include things like performance, flexibility, usability, maintainability, audit, logging, data migration, availability, reliability, recoverability, traffic/user volume, security, globalization/localization, etc.

In practice, we need to look at each of these non-functional requirements and answer 3 broad questions:

  • What is our _Definition of Success _for this NFR? Exploring this question is critical in order to determine how much time and effort we need to dedicate to this NFR.

Let us take usability as an example: here is an excerpt of the Definition of Success for the Usability NFR from a team I coached recently:

  1. the system should be accessible remotely via a virtual desktop
  2. users should be able to customize the user interface
  3. users should be able to use keyboard shortcuts to access frequently used features
  4. response time for the system should be <n seconds
  5. user should be able to have multiple instances of the system open at the same time
  6. the system should have a usability score on the System Usability Scale (SUS) of 68 or higher.

#devops #agile adoption #agile teams #agile and devops #agile adaptation #agile practices #agile application delivery #agile culture #agile applications #agile product development

Identifying Non-Functional Requirements (NFR) As Part of Your Agile Project Inception
2.30 GEEK