Writing a Software Requirement Specification

documentationRequirements

I have a few questions about writing a specification and they are:

  1. When we write a software specification, under the topic "User requirements definition" we have to specify the "Functions" and "Constraints" only ?

  2. Does "User Interface" fall into "functions" or "constraints" ?

  3. What are the major key areas (requirements) a software can be broken into (e.g. UI ) ?

Best Answer

While I am not a big fan of gathering all requirements in detail up front (as they are subject to so much change over the course of a non trivial project), if you are writing requirements documents, the Volere requirements specification template is an excellent guide.

While it may be overkill for some projects, it provides a great checklist of things to think about, even if it's just to mentally check off the list that you don't need that item for this requirement.

Here's a link to more information about the template:

http://www.volere.co.uk/template.htm

The template itself (and the book Mastering the Requirements Process - which is actually slightly less expensive than the template and contains the full template text) contains a lot of information, examples and advice within the various sections as to what should go in each section.

Here's a summary of the sections in it (quoted from the above link):

  1. The Purpose of the Project

  2. The Stakeholders

  3. Mandated Constraints

  4. Naming Conventions and Definitions

  5. Relevant Facts and Assumptions

  6. The Scope of the Work

  7. Business Data Model and Data Dictionary

  8. The Scope of the Product

  9. Functional and Data Requirements

  10. Look and Feel Requirements

  11. Usability and Humanity Requirements

  12. Performance Requirements

  13. Operational and Environmental Requirements

  14. Maintainability and Support Requirements

  15. Security Requirements

  16. Cultural and Political Requirements

  17. Legal Requirements

  18. Open Issues

  19. Off-the-Shelf Solutions

  20. New Problems

  21. Tasks

  22. Migration to the New Product

  23. Risks

  24. Costs

  25. User Documentation and Training

  26. Waiting Room

  27. Ideas for Solutions

Related Topic