5 Must-Haves for Your Software Requirements Document

Entrepreneurs, when it comes to starting up, you can’t simply ‘wing it.’ Your pitch, business plan, and your product needs that unmistakable spark that will get people talking.  As part of our mission to contribute to the community of entrepreneurs and innovators in the Northeast, one of our engineers, Wenbin Zhang, will be on hand every other week to share with you his experience with the industry’s most popular processes, tools, tips and technological insight. You can check out some of Wenbin’s work by logging into/downloading Task Cloud 9 - Independent Software’s team-based project management platform.  Follow him on Twitter at @JasonHotSauce.

5 Must-Haves for Your Software Requirements Document

If you’re beginning a software project, an important place to start is with developing a Requirements Document.  The document is a description of your software system which you can use for planning, tracking, and reference when a decision needs to be made.

Why do you need a good Requirements Document?  Even a simple application contains multiple features, and each one has a different relationship with the other.  A well-written Requirements Document correctly describes the concept of the product, details of each use case, expected results and behavior, etc.   It can not only help the software engineering team understand the product they are going to develop, but the document also gives them an idea of what to expect during the development process.

When it comes to other team members involved with the project, the Requirements Document can be equally valuable. For project managers, the document can help them see how changes will affect cost, time, and quality.  Test engineers will be able to use the document to define test cases and ensure that the product is of high quality and error-free. Last, but not least, maintenance/ support engineers will use it as a guide to see how the product is supposed to work in order to help them address reported issues quickly during maintenance.  Since the document outlines a plan of action for the project, even the client can use it to feel more confident about how the team intends to reach their goals, and to confirm that the design of the product meets their expectations.

A Requirements Document helps everyone on the team see the big picture.

The following parts are typically included in a Software Requirements Document:

  • Functional Requirements
  • Non-Functional or Technical Requirements (performance, architecture, etc.)
  • Business Requirements

What elements are important to include?  Here are five general rules for content:

  1. Depth: Everything described in the requirements document must be correct, and explain the system’s behavior and the use cases it supports.
  2. Completeness: Your Requirements Document must describe all the features your team is going to build, along with system expected behaviors and user goals.
  3. Detail:  Your Requirements Document must be detailed.  For example: “The system shall respond fast” is unacceptable in the requirement document.  The word “fast” is subjective – different people will have different definitions of “fast,” and the system may not in all cases respond “fast.”  Some requests will be processed for longer than the others. A better way to describe this goal could be: “In 90% of all requests, the response time for a user’s request for current inventory data must be less than 1 second.”
  4. Format: Your Requirements Document must be well formatted and consistent. Keep in mind the fonts that you are choosing along with sizes and the use of elements such as bulleted and numbered lists.
  5. Traceable:  All changes made to  features and use cases must be documented in the Requirements Document. The previous version of the Requirements must also be accessible for reference.

As you start your next project, be on the look-out for a Requirements Document.  And remember, it’s all about iterations – so don’t be discouraged if it takes a few tries to get it just right.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

No comments yet... Be the first to leave a reply!

Leave a Reply