2. Contents
Current situation in sw development
Why requirements are so important
What is the quality target
ARM project
Requirements Quality Analyzer: RQA
2 Requirements quality (A theoretical introduction) - (C) The REUSE Company
3. Current situation in sw. development
The Chaos report 2009
Successful Challenged Failed
24%
32%
44%
3 Requirements quality (A theoretical introduction) - (C) The REUSE Company
4. Why requirements are so important
Success key factors % of answers Based on requirements
1. User Involvement 15.9%
2. Executive Management Support 13.9%
3. Clear Statement of Requirements 13.0%
13.0%
4. Proper Planning 9.6%
5. Realistic Expectations 8.2%
8.2 %
6. Smaller Project Milestones 7.7%
7. Competent Staff 7.2%
8. Ownership 5.3%
9. Clear Vision & Objectives 2.9 %
2.9%
10. Hard-Working, Focused Staff 2.4%
Other 13.9%
+40% directly related to
requirements
4 Requirements quality (A theoretical introduction) - (C) The REUSE Company
5. Why requirements are so important
Requirements:
Should be signed as a contract between developer and customer
Are the basis for software design
Man role also during the testing phase
5 Requirements quality (A theoretical introduction) - (C) The REUSE Company
6. Why requirements are so important
Software projects are more and more complex over the time
The sooner a problem is tackled the less the solution costs
Cost
200
200
150
100
50
50 15 30
1 3 10
0
6 Requirements quality (A theoretical introduction) - (C) The REUSE Company
7. What is the quality target
According to IEEE Std. 830 – 1998:
Correct
Unambiguos
Complete
Consistent
Ranked (importance and stability)
Verifiable
Modifiable
Traceable
7 Requirements quality (A theoretical introduction) - (C) The REUSE Company
8. What is the quality target
According to ESA PSS-05-03:
SR04 Each software requirement shall include an identifier.
SR05 Essential software requirements shall be marked as such.
SR06 For incremental delivery, each software requirement shall include a measure of priority so that
the developer can decide the production schedule.
SR07 References that trace software requirements back to the URD shall accompany each software
requirement.
SR08 Each software requirement shall be verifiable.
SR11 The SRD shall be complete.
SR12 The SRD shall cover all the requirements stated in the URD.
SR13 A table showing how user requirements correspond to software requirements shall be placed in
the SRD.
SR14 The SRD shall be consistent.
SR15 The SRD shall not include implementation details or terminology, unless it has to be present as a
constraint.
SR16 Descriptions of functions ... shall say what the software is to do, and must avoid saying how it is to
be done.
SR17 The SRD shall avoid specifying the hardware or equipment, unless it is a constraint placed by the
user.
8 Requirements quality (A theoretical introduction) - (C) The REUSE Company
9. What is the quality target
Letter Term Description
S Specific Clear and simple: a single need
M Measurable Can you measure whether the goal has been achieved or not
A Aligned Is the goal aligned with the strategy of the
company/development
R Relevant Can be achieved with a realistic number of resources
T Time-framed Clear time limits
"I believe that this nation should commit
itself to achieving the goal, before this
decade is out, of landing a man on the
Moon and returning him safely to Earth"
9 Requirements quality (A theoretical introduction) - (C) The REUSE Company
10. What is the quality target
All these targets seem to be clear
RM tools (e.g. DOORS or IRQA) help us in some cases:
Modifiable, traceable…
But, let us double check these targets
Are all these quality goals really unambiguous
Spanish proverb: «In the blacksmith’s home wooden knife»
10 Requirements quality (A theoretical introduction) - (C) The REUSE Company
11. ARM project
ARM:
Automated Requirement Measurement by NASA
«The objective of the ARM tool is to provide measures that can be used
by project managers to assess the quality of a requirements specification
document»
The ARM tool scans a requirements specification document for key
words and phrases and generates a report file summarizing the specific
quality indicators
The tool is not intended to evaluate the correctness of the specified
requirements; it’s an aid to “writing the requirements right”, not “writing
the right requirements”
ARM analyzes a whole specification, req by req, and is able to show
which aspects of a requirement should be avoided
11 Requirements quality (A theoretical introduction) - (C) The REUSE Company
12. ARM project
Objectively measured indicators vs. quality attributes
12 Requirements quality (A theoretical introduction) - (C) The REUSE Company
13. Requirements Quality Analyzer
RQA (Requirements Quality Analyzer) is a tool by The REUSE
Company
In the same way as ARM, RQA try to obtain objective quality
measurements
RQA works, nowadays, in English and Spanish
The main differences between RQA and ARM:
RQA includes much more metrics that ARM
RQA is fully connected to DOORS and IRQA
RQA is fully customizable
RQA uses linguistic capabilities and not keyword spotting
RQA uses semantic capabilities to provide global metrics
RQA allows you cicles of change text and assess quality as many
times as needed
13 Requirements quality (A theoretical introduction) - (C) The REUSE Company
14. Requirements Quality Analyzer
More information about Requirements Quality Analyzer:
http://www.reusecompany.com
14 Requirements quality (A theoretical introduction) - (C) The REUSE Company