Software Requirements Gathering Techniques

Email Alerts

Register now to receive news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • use case diagram

    A use case diagram is a graphic depiction of the interactions among the elements of a system. A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. 

  • user story

    A user story is a tool used in Agile development to capture a description of a software feature from an end-user perspective. 

  • story

    In agile software development, a story is a particular business need assigned to the software development team. (Continued...) 

  • requirements analysis (requirements engineering)

    Requirements analysis, also called requirements engineering, is the process of determining user expectations for a new or modified product... (Continued) 

  • Wirth's Law

    Wirth's Law states that computer software increases in complexity faster than does the ability of available hardware to run it... (Continued) 

  • documentation

    In computer hardware and software product development, documentation is the information that describes the product to its users. It consists of the product technical manuals and online information (including online versions of the technical manuals... 

  • functional specification

    A functional specification (or sometimes functional specifications) is a formal document used to describe in detail for software developers a product's intended capabilities, appearance, and interactions with users. 

  • software requirements specification (SRS)

    A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform... (Continued)... 

  • The Agile enterprise needs Agile requirements models

    A rep from Blueprint, a requirement modeling company, explains the difference between the Agile and Waterfall requirements-gathering processes. 

  • Excelling in the art and science of requirements elicitation

    Eliciting software requirements is a human-intensive activity, and any process requiring user input is never a walk in the park. Learn techniques that can help project leaders make the right choices in eliciting and then analyzing requirements needs.... 

  • What are the best practices in agile

    Requirements consultant Robin Goldsmith describes what the best practices in gathering requirements criteria in agile are, his answer might surprise you. 

  • Mastering key requirements phases

    Consultant Robin F. Goldsmith describes the key phases in a successful software requirements process in this audiocast interview. 

  • Software requirements: Moving beyond use cases

    In this podcast, software development and requirements definition expert Ellen Gottesdiener describes when use cases are a good fit for software projects, when they are not, and what alternative approaches should be used. 

  • Reporter's Notebook: Jack Vaughan on agile methodology

    Jack Vaughan, editor in chief of, gives his take on the evolution of agile, goals of agile, requirements gathering in agile, and the intersection of agile and service-oriented architecture. 

  • Injection attacks -- Knowledge and prevention

    SQL injection is recognized as a major threat to application security, but what about other injection attacks? SPI Dynamics' Caleb Sima dissects these exploits and offers straightforward prevention techniques in this podcast. 

About Software Requirements Gathering Techniques

Software requirements engineering techniques and best practices would cover the different methods used in gathering, analyzing and documenting requirements. Business analysts may hold interviews or requirements workshops with customers to determine system requirements. Other techniques include prototyping, storyboarding, modeling and state transitions, use cases or documenting user stories. Some traditional methodologies, such as the waterfall model, promote the gathering, analysis, and documentation of all requirements before moving to the next phase of the software development cycle. In agile methodologies, requirements are considered dynamic and are reassessed with each short iteration of the development cycle.