1. Introduction
The process of eliciting, analyzing, validating,
and managing requirements, often referred to as
“requirements engineering” plays a critical role in
the success of software development projects.
Despite ongoing technological advances, an
unsatisfactory number of projects continue to be
delivered late and over-budget, or fail to provide
all of the functionality needed by the stakeholders
[1,2]. The well-quoted Standish report identified
requirements related problems as a leading cause
of failure, and conversely well-implemented
requirements practices were seen as major success
factors.