Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.
They are contrasted with functional requirements that define specific behavior or functions. 

Wikipedia: https://en.wikipedia.org/wiki/Non-functional_requirement

...

Non-functional requirements are criteria to judge that the system performs its functions the right way. For instance, the max downloaded file size is 1 Gb, it should be downloaded within 12 seconds, etc.

Examples

  • Scalability
    It tells what amount of data or number of users the system should be able to process.

  • Performance
    How fast a certain system functions should be performed.

  • Fault tolerance
    How fast the system should be restored in case of an unexpected issue.

...

  • Customers
    For instance, they can provide numbers for Scalability, Performance as well as additional Security requirements.

  • Hosting providers
    For instance, they can provide Fault tolerance and Availability requirements that have already been agreed upon with customers as part of SLA.
    They can also help to define Supportability requirements.

  • Dev teams and Solution architects
    They can provide NFRs that help to make the development process more efficient currently and in the future, at the same time helping to improve the overall product quality. For instance, they can provide Maintainability and Testability requirements. POs can also consult with them for Security requirements. 

...

The NFRs could be collected during a meeting with Customer / Hosting providers or by sending the following spreadsheet template: 

https://docs.google.com/spreadsheets/d/1vhszxQbrz527-mSFsCuTVGdjfHiA3JvvZ4l7RS7loc01vxawUPFKYVf8Ekqr6gGDo_kA8VJlgqBEmLWbntXSgIo/edit?usp=sharing

The template contains major NFRs that should be collected along with questions helping to do this. 

Once NFRs are collected, they should be put to the target spreadsheet:

https://docs.google.com/spreadsheets/d/1oa5PnM9HqbKQl1lAe08aKojz29Go_-amQCNiMzwPnZc/edit#gid=01x7_yoJNtx_S90iVowrJB64oJt87nsBFJIauyYp87MPc/edit?usp=sharing


Alternatively, existing NFRs spreadsheets could be added to the following directory:

https://drive.google.com/drive/folders/1RJZ3fCJBAZYQcbfudXZ0w6D-2MH17W2T

They could be added in as-is format, however, it is recommended to eventually convert them to the proposed format.

It will help to make sure all major NFRs are collected. Also, it is easier to work with spreadsheets if they all have a single format.


It is recommended to make sure:

...

NFRs for all product areas should be added to the following spreadsheet:

https://docs.google.com/spreadsheets/d/1oa5PnM9HqbKQl1lAe08aKojz29Go_-amQCNiMzwPnZc/edit#gid=01x7_yoJNtx_S90iVowrJB64oJt87nsBFJIauyYp87MPc/edit?usp=sharing

All Folio architects and developers can leverage them then for the product needs.

...