Establish quality criteria for requirements and

advertisement
111
Establish quality criteria for requirements and documentation
Purpose: To define requirements and requirements documentation quality criteria in case not available or
update requirements quality criteria as per project requirements.
Stakeholders: Domain SME, Implementation SME, Project manager, Implementation SME.
Inputs
1. Requirements
engineering approach
2. Organizational policies
and processes
Elements
1. Review and update organizational
requirements and documentation quality
criteria as per project requirements.
2. Define requirements and documentation
quality criteria in case not available..
Outputs
1. Requirements and
documentation quality
criteria.
Tools and Techniques: Structured walkthrough
Quality Criteria for Requirements
Formal criteria as per to IEEE Std. 830 as well as criteria that increase the readers’ acceptance of the
requirements are briefly explained below:
Criteria
Agreed
Ranked
Unambiguous
Explanation
A requirement is agreed upon if it is
correct in the opinion of all stakeholders
and all stakeholders accept it as valid.
When the complexity or
comprehensiveness of a system reaches a
certain threshold, it is important to rate
the requirements, for example, according
to their importance, legal obligation, or
priority. This is especially the case if not
all functions of a system can be
implemented right away in a particular
system release. In that case, stakeholders
must rate the requirements.
A requirement that is unambiguously
documented can be understood in only
one way. It must not be possible to
interpret the requirement in a different
way. All readers of the requirement must
arrive at the same understanding of the
requirement.
Draft prepared by Laxminarayan Mishra
Example
1. System shall calculate time taken to
complete a service request as Date of
completion of the service request
minus Date of arrival of the service
request. One stakeholder may interpret
as Calendar days (Elapsed days)
where as another stakeholder may
Page 1
111
interpret as Number of working days
elapsed between arrival and departure.
2. The system shall have ability to
support multiple browsers. Which
browsers?
3. Another example – The application
shall be usable in off-line condition as
well i.e. users should be able to use
the system when they are not
connected to internet.
Valid and up-todate
Correct
Documented requirements must represent
the facts and conditions of the system
context that is valid with regard to the
actualities of the system context. These
actualities may be the different
stakeholders’ ideas, relevant standards, or
interfaces to external systems.
A requirement is correct if it adequately
represents the idea of the stakeholder.
This also means that the requirement may
not express more than what the
stakeholder was trying to say. In order to
verify that, it is necessary for the
stakeholders to be able to read and
understand the requirements
documentation. Therefore, correctness of
the specification can only be verified if
the criterion of understandability is met.
1. The actual end of a service request is
always greater than the start date of the
actual start date of the service request.
On face of it, it seems to a correct
requirement, but it is not. The correct
requirement is, the actual end of a
service request is always equal to or
greater than the start date of the actual
start date of the service request.
Consistent
Requirements must be consistent with
regard to all other requirements, i.e., the
requirements must not contradict one
another, regardless of their level of detail
or documentation type. In addition, a
requirement must be formulated in a way
that allows for consistency with itself,
i.e., the requirement may not contradict
itself.
1. An employee must log-in 6 hours of
effort to be considered as a full day of
working.
2. An employee must login 40 hours of
effort in a week.
3.
Verifiable
A requirement must be described in a
1. The system should have extremely high
Draft prepared by Laxminarayan Mishra
Page 2
111
Realizable
Traceable
Complete
way that allows for verification. That
means that tests or measurements can be
carried out that provide evidence of the
functionality demanded by the
requirement.
It must be possible to implement each
requirement given the organizational,
legal, technical, or financial constraints.
This means that a member of the
development team ought to be involved
in rating the goals and requirements so
that he can show the technical limits of
the implementation of a particular
requirement. In addition, the costs for the
implementation must be incorporated into
the rating. Occasionally, stakeholders
withdraw a requirement if the costs for its
realization become apparent.
A requirement is traceable if its origin as
well as realization and its relation to other
documents can be traced. This can be
done by means of unique requirement
identifiers. Using these unique identifiers,
requirements that are derived from other
requirements on a different level of the
specification can be connected. For
example, a system goal can be traced
through all levels of abstraction, from
design to implementation and test. Details
can be found in Traceability of
requirements.
Each individual requirement must
completely describe the functionality it
specifies. Requirements that are yet
incomplete must be specially marked, for
example by inserting “TBD” (“ to be
determined”) into the respective text field
or by setting a corresponding status.
These markings can then be
Draft prepared by Laxminarayan Mishra
through-put.
2.
3.
4.
Page 3
111
systematically searched for and missing
information can be amended accordingly.
Understandability Requirements must be comprehensible to
each stakeholder. Therefore, the type of
requirements documentation (see Types
of Documentation) can vary significantly,
depending on the development phase
(and therefore, depending on the involved
staff). In requirements engineering, it is
important to strictly define the terms
used.
Fundamental principles of
understandability
Along with quality criteria for
requirements, there are two fundamental
rules that enhance the readability of
requirements:
5.
1. Short sentences and short
paragraphs:
As human short-term memory is very
limited, circumstances that belong
together should be described in no
more than seven sentences.
2. Formulate only one requirement per
sentence:
Formulate requirements using active
voice and use only one process verb.
Avoid long, complicated interlaced
sentences.
Quality criteria for requirements documents
To become a basis for the subsequent development processes, the requirements document must meet certain
quality criteria.
IEEE Standard 830 provides following requirements criteria.
Draft prepared by Laxminarayan Mishra
Page 4
111
1.
2.
3.
4.
5.
Consistency (IEEE Std. 830)
Modifiability
Extendibility (IEEE Std. 830)
Completeness (IEEE Std. 830)
Traceability (IEEE Std. 830)
Other very useful criteria are:
1. Unambiguity
2. Clear structure
Unambiguity
and
Consistency
Quality of individual requirements is a prerequisite.
Requirements documents can be consistent and unambiguous only when the individual
requirements are consistent and unambiguous. In addition, it must be guaranteed that
individual requirements do not contradict one another. To achieve this, it is advisable to
make use of conceptual models.
Another aspect of unambiguity pertains to the unique identification of a requirements
document or a requirement among the set of all requirements documents or requirements
in a development project (see Versioning of Requirements).
Clear structure
Modifiability
and
extendibility
Allows for selective reading
In order to guarantee that the requirements document is readable by any stakeholder, it
should be appropriately comprehensive and clearly structured. Unfortunately, no clearcut suggestions can be made regarding the appropriate comprehensiveness of a
requirements document. A very comprehensive requirements document with a good
structure can be just as appropriate as a less comprehensive document because a clear
structure will allow the reader to skip parts that are not relevant to him.
An unstructured or badly structured requirements document of the same high level of
comprehensiveness would not be appropriate because the document must be read in its
entirety in order for a stakeholder to be able to identify parts that are relevant to her.
A good starting point is the standard structures described in Standardized Document
Structures.
Content and structure should support changeability. Requirements documents must be
easy to extend. There are always requirements that are changed, altered, added, or
removed as a project progresses.
Completeness
Two types of completeness in requirements documents
1. Requirements documents must be complete, i.e., they must contain all relevant
requirements (and required additional information), and each requirement must
be documented completely.
Draft prepared by Laxminarayan Mishra
Page 5
111
2. All possible inputs, influential factors, and required reactions, error and
exception cases, quality requirements of the system must be described for each
desired system function.
Evidence,
reference, and
sources are
formal
necessities.
Formal factors contribute to completeness. Label graphs, diagrams, and tables
appropriately. Another important aspect is that consistent reference and index directories
must exist. Also, definitions and norm reference that denote specific terms must be
included in any requirements document.
Comprehensiveness of a requirements document is a challenge during requirements
engineering. Often, a compromise must be found between the time resources available
and the completeness of the requirements documents.
Traceability
Relationship to other development documents (e.g., business process model, test plans, or
design plans). These documents could have been created in previous development
phases, in subsequent development phases, or concurrently with the requirements
documents.
Draft prepared by Laxminarayan Mishra
Page 6
Download