A template for software requirements gathering techniques

Requirements gathering can be a difficult, exhaustive process. We've assembled information on the best methods for requirements engineering -- prototypes, storyboards, models, state transition diagrams and use cases -- in one guide.

Requirements gathering is an essential part of software development. However, the process can be difficult. To help you, we've assembled a detailed guide of the best methods for facilitating the requirements gathering process. Not merely a collection of links, our guide has detailed descriptions to help you maneuver. We value your input. As always, if you know of an article, tip, tool or successful method for requirements gathering...

that should be included, send us an email with the information.


Prototypes range from the simple to the elaborate. But whether it's a paper sketch or an interactive digital design, a prototype should aid stakeholders and developers in anticipating requirements for a product.


Storyboards help developers visualize the sequence and interconnectedness of their work. They allow for a "big picture" approach that may be very useful in requirements gathering.


A model can be made according to Unified Modeling Language (UML) or according to domain-specific modeling. Or, models can consist of stick figures on a whiteboard. All of these methods have their advantages and disadvantages. Use these links to figure out what method is right for you.

Modeling in the agile methodology

While these links discuss modeling from an agile software development perspective, the lessons may still be valuable to those practicing other methodologies. At the very least, one can gather ideas for one's own modeling processes.

State transition diagrams

State transition diagrams allow developers and users to see how a program might behave. This anticipation of events is useful when discussing requirements.

  • What is a state diagram?
  • State-transition diagrams: This article explains what state transitions are and why they are important. Also included are a series of questions for testing state-transition diagrams.
  • Automating state transitions: The Microsoft Developer's Network state transitions within Visual Studio. Code examples aid the reader.
  • Visual Requirements: There is a section devoted to state transition diagrams in this article on diagrams in software development. The author provides a clear perspective on state diagrams and the necessary part they play among the other diagrams. (PDF)
  • State transition diagrams: The language of this white paper is technical, so beginners may be put off. However, the paper achieves what it sets out to do, and that is to define the syntax and semantics of state transition diagrams. (PDF)
  • Understand testing diagrams

Use cases

Use cases are created to capture functional requirements in the software development lifecycle.


Here are some tools that may prove useful in the requirements gathering process.

Other useful resources

Send in your suggestions: Are there other topics you'd like to see learning guides on? Send an e-mail to editor@techtarget.com and let us know what they are.

Next Steps

Learn how to use a nonfunctional requirements template

Some IT pros are rethinking requirements and the tester's role

This was first published in February 2007

Dig deeper on Software Requirements Gathering Techniques



Enjoy the benefits of Pro+ membership, learn more and join.

Related Discussions

Jennette Mullaney asks:

What are some of your tried and true techniques for software requirements gathering?

3  Responses So Far

Join the Discussion



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: