Documenting Requirements For Software Development Projects


There are various ways and means by which requirements for software development projects can be gathered and documented.

Before you start documenting the requirements you might want to be sure if you have captured all the required information. You know “What information gather?“, but what about the methods and techniques to gather this information. We will cover the “Methods and techniques for gathering requirements” in this article.

Methods for Gathering Requirements

  • One-on-one interviews
  • Group interviews
  • Facilitated sessions
  • Joint application development (JAD)
  • Questionnaires
  • Polling
  • Following people’s work routine / work flow
  • Brainstorming

Techniques for Documenting the Requirements

  • Diagrams – Flow charts, Block Diagrams, Sequence Diagrams
  • A pictorial representation is always helps. It gives information rather quickly and better understanding. One diagram may give information for which 100’s of words might not be enough.

    I’ll not cover details about each of the diagramming technique it would take several pages to describe them. Through this article let us just understand the techniques available for documenting requirements.

  • Process Modelling & domain models
  • The process model shows the flow of information through a system. Each process transforms inputs into outputs.

    A domain model is a conceptual model of a solution you are trying to build which describes the various entities involved in that system and their relationships. The domain model is created in order to document the key concepts, and the domain-vocabulary of the system being modelled. he domain model provides a structural view of the system that can be complemented by other dynamic views in Use Case models. In UML, a class diagram is used to represent the domain model.

  • Documents
  • There are templates available for making the documentation easier. One such template is a Functional Specification (FS) or systems requirement specification (SRS) document template.

  • Use cases
  • Use Cases is an UML technique for documenting the interaction between the initiator of the interaction (Actor) and the system. Use Case represents a sequence of steps an Actor would take in using the system and what is the result of the particular action he takes. Actors are something or someone existing outside the system under consideration. They may be end users, other systems, or hardware devices.

  • Prototypes
  • Creating a Prototypes is to model a real thing. If you are trying to build a car the company would first create a prototype of the car before it is manufactured. Similarly in software development projects Prototypes usually show the look and feel of the application or screen as seen by the users (graphical user interface – GUI). Prototypes are usually created as images, html pages, pseudo coded screens.

  • Mind mapping
  • A mind map is a diagram used to represent words, ideas, tasks etc. around a central key word or idea. Mind maps are used to generate, visualize, structure, and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing.

    We have covered – What information to gather and in this article how to gather requirements and document them.

    You can look forward to “Common problems encountered during requirement analysis” in the series of articles on requirement analysis. Feel free to write to me if you would like more information on any of the above mentioned items.



    Please enter your comment!
    Please enter your name here