Professional software developers must go through a software requirements gathering process at the beginning of software development projects of any meaningful size. The end product of that project phase is a document commonly referred to as a Software Requirements Specification, or SRS. It's usually the first project milestone or deliverable. The importance of this document cannot be understated. Its foremost function is to record the client's business needs and requirements in written form and become the foundation for the rest of the software development process. Once these requirements are compiled, the document becomes the record of both the client's and developer's understanding of what the software should accomplish. Usually the client reviews and signs the SRS, thus beginning the full software design and development phase. By taking the high level steps involved, you can write an SRS document.
Step
If your organization does not have a standard Software Requirements Specifications document template, create one now (see Resources for links to templates).
Step
Meet with the subject matter experts/clients to gather the requirements.
Step
Define the functions of the software.
Step
Create use cases for the major sub-processes. For example, if you're designing an order entry system, use cases would consist of creating a new order, modifying an existing order and a customer order search.
Video of the Day
Step
Define the user interface.
Step
Define any other interfaces such as hardware interfaces or other software system interfaces.
Step
Define the process flow.
Step
Determine any specific business rules.
Step
Define the performance specification.
Step
Create any diagrams needed to illustrate the process flow or elaborate on key requirements.
Step
Compile the SRS document and have all necessary parties review or sign it.