How to do not miss any requirements?
Single, not spoken, obvious requirement can cross out software design in best case. In worst make product unusable and costly toy. How to not omit anything?
FURPS Model
Formulated by Robert B. Grady and Deborah L. Caswell in Book: Software Metrics: Establishing a Company-Wide Program1 FURPS model of quality requirements collecting
As it claimed
One reason the acronym FURPS is effective is that it is a silly mnemonic which is easy to remember. Using the FURPS model involves two steps: establishing priorities and making quality attributes measurable. Establishing priorities is important because of the tradeoffs involved between quality attributes. For example, adding a new function might improve functionality but decrease performance, usability, and/or reliability. Since each project has different priorities, it is necessary to make an early decision of what kind of quality is most important.
How to use it
Following engineers from HP usage of FURPS consists of 2 steps
- establish priorities to those areas
- make quality attributes measurable
Giving priorities is important as long as introducing new functionalities can improve some attribues but dectrease others. Having them prioritized provides way to evaluate functionalities.
Second step - assign ways of measurement defined atrtribures is important to define for each stage of software development process
Example is presented following book1