SRA is an essential part of software development projects
[34]. If this step is not well done, the quality of the final
product will almost certainly be low: poor requirements are
identified as major cause of project failure in 45% of cases
[35]. Moreover, unsatisfactory SRA is a major cause
according to Gilb [36] for the 10% of projects to get failed
or cancelled and for the 50% which are challenged. So,
requirements specifications and dealing with customer
demands are the two main issues in software industry [37]
and, thus, one of the leading root causes of software
failures. The reason is simple: requirements analysis and
specification should serve as a guiding light for the
development team in order to know if they are properly
addressing all the users’ requirements in the correct way. In
fact, any type of quality assurance method across the
subsequent phases of the life cycle should rely on the
results of software requirements understanding and
specification as reference to devise verification and
validation of the generated artefacts, including the final
delivery of software. Different studies have shown the
importance of requirements not only in terms of software
quality but also as referred to economy and productivity. In
the case of software quality, Lutz [38] presents a rigorous
study of safety-related faults in critical space systems that
revealed the primary cause of functional defects was errors
in recognising and understanding requirements (62 – 79%)
and communication errors within the team and with other
participants were the main cause of interface faults (72 – 93%).
Impact of requirements errors on project costs and schedule
has been addressed in different studies which have
demonstrated the exponential nature of what some authors
name as ‘requirements defects snowball’. High percentages
of total faults during the project which are originated in the
requirements analysis phase are reported: 50% [39] or
25.2% [40]. Moreover, it is well known the growing effect
of defects originated in requirements analysis phase
[41, 42]: cost of repairing is multiplied by 15 to 60 times
when detected during testing phase and even by 100 if
detected during operational activity.
One of the problems with software requirements analysis is
the fact that analysts have to deal with incomplete or
inconsistent information due to the communication
difficulties with users’ or customers’ representatives as well
as the difficulties of the different stakeholders to generate in
advance a precise vision of their need of computerised
support for their organisations [43 – 45]. This implies
analysts should combine analytic skills and capacity to cope
with this incomplete and/or unclear information with
interpersonal communication skills as well as a good dose
of orientation to customers’ and users’ expectations which
are, in many cases, implicitly and not explicitly expressed.
In fact, a reduction of 75% of requirements defects is
expected if analyst capability is very high in terms of
thoroughness, efficiency and qualification [46].