Requirements management
Why bother with requirements management?
Well-defined requirements are a key element in the success of any project.
An analysis carried out by the Standish Group, an American research firm specialized in project and value performance assessment, shows that 13% of all projects fail due to inefficient requirements management. Many experts believe that as many as 40-60% of software defects and failures can be attributed to badly-defined requirements.
Effective requirements management helps guarantee the success of a project, since by definition, a project which respects and fulfils identified requirements is a project whose end-product will satisfy the user.
The benefits of developing clear requirements before the design and coding phases include the following:
· development of a thorough understanding of user needs and wants
· elaboration of a clearly-defined solution to meet the user's needs
· identification of the benchmark against which implementation success can ultimately be measured
· smooth flow into the design phase
· improved testability and maintainability
· improved customer satisfaction and overall product quality
And what exactly are requirements?
A requirement can be described as "something which is wanted or needed in the context of a project".
However, simply defining requirements is not enough. These requirements must then be structured within requirement containers, which group together requirements of a similar type.
Requirements are usually organized into functional requirements (which state what the product or service must provide) and non-functional requirements (which describe how a functional requirement is to be provided).
A requirement can have a number of characteristics, including the following:
· a name
· a version number
· an origin (for example, the person who identified the requirement in question)
· a status
· a priority level
· a stability level