10 Characteristics of quality Requirements
I had attended a presentation by Borland on Software development and collaboration last month. Within the notes I took at that presentation, I saw a list - '10 Characteristics of Quality Requirements'. I believe it was devised by Karl Wiegers (author of Software Requirments). Here is the list -
- Complete - Nothing is missing: no “To Be Determined“
- Consistent - Does not conflict with other requirements
- Correct - Accurately states a customer or external need
- Feasible - Can be implemented within known constraints
- Modifiable - Can be easily changed, with history, when neccessary
- Neccessary - Documents something customers really need
- Prioritized - Ranked as to importance of inclusion in product
- Traceable - Linked to system requirements and to designs, code and tests
- Unambiguous - Has only one possible meaning
- Verifiable - Correct implementation can be determined by testing, inspection, analysis or demonstration
In a Software Engineering industry study (Standish Report?) - it was found that 2 out of 3 projects fail due to poor Sofware Requirements. Hopefully, a top 10 list will help alleviate that problem... :-)