Requirements Gathering

What is Requirements Gathering?

It is the phase in Requirements Engineering, in which requirements are captured.

This term, capture(1), is becoming less frequent, and other terms such as elicitation are used instead. This is so just to avoid the feeling that requirements are simply resting there, waiting to be capture through mere questions. Rather, the process is far more complex than that.

On the other side, the term ‘user', typically used to indicate the source of our requirements, is not completely correct. ‘Users' are not the one and only source of our requirements. It is more convenient to use the term ‘stakeholder`(2), which defines all the people and entities involved in, or affected by the system.

Requirements Capture Techniques

The tasks involved in this phase heavily depend on the methodology or processes applied, however, there's a common set of recommended guidelines (3):

  • Evaluate the (technical) feasibility of the system.
  • Define the origin of the requirements by identifying the different stakeholders. Not all stakeholders need to be people. Some of them may simply be a legacy system, which is typically the biggest source of requirements; a document; a law, etc.
  • Define the scope of the system. Identify what will and will not do the system. What falls in and out of it is specially important when dealing with interfaces to other systems.
  • Define the elicitation techniques that will be used. Depending on the system, the stakeholders background, and other environmental factors, some techniques may be more appropriate than others. These may include prototypes, interviews, use cases or storyboards.
  • Apply the selected techniques to the different stakeholders to gather the requirements

Theoretically, requirements elicitation could be considered an easy and straightforward process, but considering the human factor, it is not. Specially if we consider that in most cases stakeholders are people who we have to work with to gather the requirements. Quoting Brooks (4), "The Requirement Elicitation (RE) process is challenged by different factors, most of which are related to communication between stakeholders"

Want to know more on Requirements Capture?

(1) Requirements Engineering: Social and Technical Issues by Joseph Goguen, Marina Jirotka(1994)

(2) R. E. Freeman: "Strategic Management: A Stakeholder Approach".

(3) Requirements Engineering A good practice guide, Ian Sommerville and Pete Sawyer, John Wiley and Sons, 1997

(4 Brooks, F.P., No Silver Bullet: Essence and accidents of Software Engineering. IEEE Computer, 20), (1987) 10-19.