Unfortunately there is no general consensus in
either the literature or in practice for either a
common requirements terminology or for a
consistent requirements process. Actual
requirements practices vary broadly from
organization to organization, according to the
culture of the organization, its maturity in
implementing software engineering processes, and
the domain in which the software is being
developed. In too many cases little effort is
expended on the requirements process, which can
result in construction of a product that does not
meet its stakeholders’ needs, in costly redesign
efforts, and in projects that are abandoned despite
large investment losses. IEEE Standards such as
IEEE std 830-1998 provide guidelines for
recommended practices. Similarly, the Guide to
the Software Engineering Body of Knowledge
(SWEBOK) [5] which was developed through
extensive contributions from both software
engineering practitioners and educators provides
another valuable resource for those who wish to
establish or improve their current requirements
practices.