Page 173 - Software and Systems Requirements Engineering in Practice
P. 173
139
i
t
a
l
y
t
t
A
u
p
t
h
a
e
5
:
r
r
e
u
i
m
t
s
e
n
q
b
u
r
i
t
R
e
e
C C h a p t e r 5 : Q Q u a l i t y A t t r i b u t e R e q u i r e m e n t s 139
Stages of Quality Attribute Grief
The stages that a project team goes through when dealing with quality
attributes can be compared with the stages of grief that an individual
may experience.
• Denial Early in the project, quality attributes are poorly
understood and therefore given less attention than they deserve.
They are treated superficially, as in “the system shall have good
performance.”
• Shock When the first realistic end-to-end scenarios are
executed, and it becomes possible to observe the quality
attributes, everyone suddenly realizes how poorly the system
measures up, and panic sets in.
• Anger Everyone tries to blame someone else.
• Depression Fixing the quality problems seems overwhelming.
Developers waste energy grumbling or worrying. Productivity
decreases.
• Bargaining The architect begs and cajoles stakeholders to
approve tradeoffs among quality attributes.
• Acceptance Stakeholders adjust their expectations to close
remaining gaps between actual and desired quality.
We’ve come to recognize that treating quality attribute
requirements effectively is partly a matter of timing.
• Many team members will not be ready to talk much about
quality attributes until the broad functional requirements
have been defined.
• Before the quality attribute requirements can be defined, one
must define the units of measure of the quality attributes, and
focus on a manageable number of such attributes.
• Many quality attributes need to be traded off against other
quality attributes. The relative importance of them will be
different for different stakeholders. For external stakeholders,
the stakeholders’ understanding of these tradeoffs will evolve
based on external events of which you might not be aware.
• Setting an ambitious target value for, say, a performance
requirement can push the designers toward a complex, high-
performance solution. Project leadership needs to think
carefully about such impacts before committing to specific
targets. In worrisome cases, it may be worthwhile to discuss