B. SW Project planning & scheduling

advertisement
H. Brief Orientation on aspects of Quality
• What is Quality?
– Various “gurus” have proposed different ideas. One of
the most well known was Philip Crosby who promote the
following 4 “absolutes” of quality management:
• 1. Quality is defined as “conformance to customer requirements”
• 2. The system for implementing quality is prevention not
inspection
• 3. The performance standard must be zero defects
• 4. The measurement of quality is the price of non-conformance.
1
H. Brief Orientation on aspects of Quality
• Quality Management:
– The proliferation of ideas gradually led to the understanding that a
holistic approach to all the quality-related properties of an
organisation is most likely to succeed.
– In software, there have been many initiatives to promote good
practice in Software Engineering and Software Quality, including
•
•
•
•
Capability Maturity Model (we look at this in more detail shortly)
ISO “adapted” or “interpreted” for IT organisations
SPICE (Software Process Improvement Capability dEtermination)
Many industries, especially regulated ones like medical device or
aviation software, have specific software engineering and quality
standards.
2
H. Brief Orientation on aspects of Quality
• Cost of poor quality:
– Familiar aspects are extra work to correct and re-test programs, and late
design changes because requirements are not properly understood or
identified. These “costs” are the “price of non-conformance”.
– The objective for a project should be to minimise the cost of poor quality,
which can be broken down into
• Conformance cost = amount spent to achieve quality products:
– Prevention
– Appraisal
• Non-conformance cost = all expenses incurred when things go wrong:
– Internal Failure
– External Failure
– Prevention: Cost of prevention is the amount spent to ensure that the work
will be done correctly, that is, that will prevent defects happening. In
software development, examples of prevention costs include staff training
and development (e.g. in design methodologies), evaluation of suppliers,
quality improvement meetings, and software design reviews. The diagram
on the next page (from Yeates & Cadle) depicts that if resources are
allocated early in a project to prevent poor quality then the incidence of
defects and the costs of rectifying them will fall.
3
H. Brief Orientation on aspects of Quality
•
Appraisal: These costs include measuring, evaluating, or auditing products to assure
conformance to quality standards and performance. For software, examples of appraisal
costs include code inspections, testing, and software measurement activities (e.g.
complexity metric calculation). Investment should be made early in appraisal as that should
lead to decreases in the number of defects in the final product.
4
H. Brief Orientation on aspects of Quality
•
•
Internal Failure: These costs occur before the product is shipped to the customer, and so
still under the control of the developer. For software, these include the costs of re-work in
programming, re-inspection and re-testing. According to Yeates & Cadle, one of the key
strengths of the Japanese quality approach is that they have been able to reduce the costs
of internal failures to almost zero. This is because they are orientated around defect
prevention and process improvement – in other words, solve the problem, not the
symptom.
External Failure: These costs arise from product failure at the customer site. For
software, examples include field service and support, maintenance, liability damages, and
litigation expenses. An unseen cost of customer complaints may be lost repeat orders and
a damaged reputation. On average, it costs five times as much to win new customers as it
does to keep existing ones!
5
H. Brief Orientation on aspects of Quality
• Return of investment in quality improvement
– It is clear that much is to be gained by taking measures to improve
software quality, and that the focus should be on improving
conformance (especially defect prevention) rather than on
recovering from non-conformance.
– However, every business must evaluate the extent to which they
invest in quality improvement and, particularly, that they prioritise
measures that are most effective in improving quality.
– The following section on the Capability Maturity Model (CMM)
offers a framework of processes that most software development
organisations must consider, and within which they can choose the
processes that they wish to prioritise for investment.
6
Download