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... :-)