Non-functional Requirements Elicitation
"A non-functional requirement is a specification describing how well a software system must Function" Roxanne Miller
Non-functional Requirements (NFRs) are vital to the success of software systems. If Non-functional Requirements are not properly addressed, undesirable results occur such as unsatisfied users, developers, and clients; as well as schedule and budget overruns to correct the software that was developed without the NFRs in mind.
NFRs are difficult to elicit for many reasons. Due to the complexity involved in defining NFRs, inteGREAT includes 14 specifications for Non-functional Requirement Elicitation which catalogue over 2000 questions based on "The Quest for Software Requirements" book by Roxanne Miller.
|User Needs||User Concerns with the Software System||Non-functional Categories|
How well does the system perform for daily use
|How well is guarded against unauthorized access||Access Security (ACS)|
|How dependable is it during normal operation times?||Availability (AVL)|
|How fast, how many, and how well does it respond?||Efficiency (EFC)|
|How accurate and authentic are the data?||Integrity (INT)|
|How immune is the system to failure?||Reliability (REL)|
|How resilient is the system from failure?||Survivability (SRV)|
|How easily is to learn and operate the system?||Usability (USE)|
How easily is to correct errors and add on functions?
|How easily is to modify to work in different environments?||Flexibility (FLX)|
|How easy is to upkeep and repair?||Maintainability (MNT)|
|How easy is to expand or upgrade its capabilities?||Scalability (SCL)|
|How easy is to show it performs its functions?||Verifiability (VER)|
How easily is to adapt to changes in the technical environment?
|How easy it to interface with another system?||Interoperability (IOP)|
|How easy it to transport?||Portability (POR)|
|How easy is to convert for use in another system?||Reusability (REU)|
Each Non-functional Category above, has 6 sub-categories, with its elicitation questions, as follows:
- Data (What)
- Roles (Who)
- Purpose (Why)
- Timing (When)
- Logistics (Where)
- Process (How)
inteGREAT has leveraged this remarkable effort by Roxanne and has incorporated this structure and questions directly into inteGREAT. Analysts who are eliciting NFRs can now use inteGREAT to help remind them of the types of questions they should be considering. The answers to these questions help define the NFRs. inteGREAT maintains the links between the questions and the NFRs. inteGREAT also facilitates the reuse of these resulting NFRs across the enterprise in any new project.