Actions taken in response to the model’s findings
22.4.4 Actions taken in response to the model’s findings
Most of the actions taken in response to the model’s findings – that is, the results obtained after analysis of the software quality reports based on com- parisons with previous periods, with other units, etc. – are rooted in the application of the cost of software quality balance concept. According to this concept, an increase in control costs is expected to yield a decrease in failure of control costs and vice versa: a decrease in control costs is expected to lead to an increase in failure of control costs. Moreover, the effect of changes in control costs is expected to vary by the desired software quality level. This relationship is expected to yield a minimal total cost of software quality, a cost that is achievable at a specified quality level – the optimal software qual- ity level. See Figure 22.3 for a graphic illustration of the cost of software quality balance concept and the relationships between control and failure of control costs for all the quality levels.
Management is usually interested in minimal total quality costs rather than in control or failure of control cost components. Therefore, managers tend to focus on the optimal quality level and apply this concept when budg- eting the annual SQA activity plan as well as when budgeting a project.
Total failure of control costs
Total cost of
22.4 App
software quality
osts c
lic
Quality Total control
ation of
cost Minimal total cost
of software quality
ac
Low
High
Software quality level
Optimal software
st of
quality level
Figure 22.3: Cost of software quality balance by quality level
softw are quality
Examples of typical decisions taken in the wake of cost of software qual- ity analysis and their expected results are shown in Table 22.2. In addition to the direct actions taken by management, other actions can
be initiated by the Corrective Action Board, which bases its analysis of the accumulated cost of quality data on factors other than those considered by
sy
management. A comprehensive discussion of such indirect actions is found
em st
in Chapter 17.
Table 22.2: Cost of software quality analysis – typical actions and expected results No. Action
Expected results 1 Improvement of software package’s help function
Reduction of external failure costs
2 Increased investment of resources in contract review Reduction of managerial failure
costs
3 Reduction in instruction activities yielding no Reduction of prevention costs significant improvement
with no increase in failure costs 4 Increased investment in training inspection team
Reduction of internal and members and team leaders
external failure costs 5 Adoption of more intensive project progress
Reduction of managerial failure control procedures
costs
6 Construction of certified list of subcontractors Reduction of failure costs, allowed to participate in the company’s projects
especially of external failure costs
7 Introduction of automated software tests to Reduction of internal and replace manual testing with no substantial increase external failure costs in testing costs
22.5 Problems in the application of cost of software
22 quality metrics
Application of a cost of software quality model is generally accompanied by
sts
problems to be overcome, whatever the industry. These impinge upon the
of accuracy and completeness of quality cost data caused by: softw
Inaccurate and/or incomplete identification and classification of quality costs
are quality
Negligent reporting by team members and others
Biased reporting of software costs, especially of “censored” internal and external costs
Biased recording of external failure costs due to indirect if not “camou- flaged” compensation of customers for failures (e.g., discounted future services, delivery of free services, etc.) whose implications remain unrecorded as external failure costs.
The above-mentioned problems do arise within the context of the software industry but there are others as well, some of which are unique to software. We shall focus on the problems faced when recording managerial prepara- tion and control costs and managerial failure costs because these items significantly affect the validity and comprehensiveness of the total cost of software quality, especially when the extended cost of software quality model is applied.
Problems arising when collecting data on managerial preparation and control costs include:
Contract review and progress control activities are performed in many cases in a “part-time mode”, and in addition they are subdivided into sev- eral disconnected activities of short duration. The reporting of time invested in these activities is usually inaccurate and often neglected.
Many participants in these activities are senior staff members who are not required to report use of their time resources.
Problems encountered in collection of data on managerial failure costs, espe- cially schedule failures include:
Determination of responsibility for schedule failures. These costs may be assigned to the customer (in which case the customer is required to com- pensate the contractor), the development team (considered as an external failure cost), or management (considered as a managerial failure cost). Schedule failure costs are frequently deliberated for lengthy periods because their direct causes or the specific contributions of each partici- pant to the initial failures are difficult to pinpoint. Table 22.3 shows examples of typical causes for delays and the associated quality costs.
Table 22.3: Typical causes for delays and associated costs
Cause for deviation from schedule Class of quality costs
Summ
1. Changes introduced in the project’s specifications No internal failure costs; during development
customer responsibility for
ar
failure costs
2. Customer-delayed installation of communication No internal failure costs, and other hardware, and/or delays in staff
customer responsibility for recruitment and training
failure costs
3. Poor performance by development team, requiring External failure costs extensive rework and corrections of software
4. Project proposal based on unrealistic schedules Managerial failure costs and budgets
5. Late or inadequate recruitment of staff or reliance Managerial failure costs on company professionals whose release from other projects does not meet project needs
Payment of overt (not “camouflaged”) and formal compensation usual- ly occurs quite some time after the project is completed, and much too late for efficient application of the lessons learned. This tardiness opens up the question of whether the failure was managerial or external.
Summary
(1) Explain the objectives of cost of software quality measurements.
The objectives of cost of software quality measurements relate to management interventions on the basis of economic data: ■
To control the costs associated with error prevention (prior to occurrence) and detection of errors (once they occur).
To evaluate the extent of economic damages of software failures and prevention and appraisal costs as a basis for revising and updating the SQA budget.
To facilitate economic evaluation of planned increases or decreases in SQA activities or investment in new or updated SQA infrastructure, based on past economic performance.
(2) Compare the classic software quality costs model with the extended model.
The classic model for quality costs delivered by Feigenbaum and others in the early 1950s presents a general concept that classifies manufacturing quality costs into two classes: costs of control (prevention costs and appraisal costs) – costs con- trolled by the organization and expended to prevent and detect failures so as to reduce total failures to an acceptable level; and costs of failure of control (internal failure costs and external failure costs) – costs of failures, regarded as conse- quences, caused by failure to prevent and detect software errors.
The extended model expands the scope of the classic model by introducing fac-
subclasses added are managerial preparation and control costs (a third subclass to the costs of control class), and managerial failure costs (a third subclass to the
22 costs of failure of control class).
sts (3) Justify the formulation of a unique quality cost model for software development. of The need for the extended cost of software quality model, unique to the software
softw industry, is justified by its inclusion of managerial quality costs. While managerial
costs – i.e., managerial preparation and control costs and managerial failure costs – as a proportion of quality costs are usually negligible in manufacturing, they may
are quality
be quite considerable in software development. The extent of losses (failure costs) incurred by management’s erroneous actions and decisions or by its failure to act on time can be colossal. Also, as preparations and progress control involve much effort, the associated costs are very high. This situation stems from the special char- acteristics of the software industry as described in Chapter 1.
(4) Describe the implementation of a cost of software quality system.
Implementation of a cost of software quality system in an organization requires: ■
Delineation of the cost of software quality model for the particular organization, with each quality cost item related to one of the model’s cost subclasses.
■ Determination of the method of cost data collection for each cost item. ■
Institution of the planned cost of software quality system, including follow-up procedures.
■ Taking actions on the basis of the cost model’s findings.
(5) Explain the standard and unique problems involved in implementing a cost of soft- ware quality system.
Implementation of such a system for software is generally confronted by problems as in other industries. The standard difficulties that affect accuracy and complete- ness of quality cost data are: ■
Inaccurate and incomplete identification and classification of quality costs ■
Negligent reporting ■
Human tendency for biased reporting, especially of internal and external costs ■
Biased external failure cost records due to indirect if not “camouflaged” com- pensation of customers that is not officially recorded as external failure costs.
These problems also impinge on the cost of software quality, to which obstacles unique to the software industry must be added. Together they significantly affect the validity and comprehensiveness of the collected cost of software quality data.
Typical difficulties in collecting quality costs on managerial preparation and control costs include: ■
Segmentation of contract review and progress control activities into several short and disconnected activities, which interferes with accurate reporting of time invested.
■ Many senior staff members are not required to report their use of time resources.
Typical difficulties in collecting managerial failure cost data, especially regarding
schedules, are: ■
Difficulties in determining the responsibility for schedule failures. The costs of
view ques
such failures may be assigned to the customer (in which case the customer is
required to compensate the contractor), the development team (classified as external failure costs) or management (classified as managerial failure costs).
■ Compensation often occurs too late in the process for the lessons learnt to be applied. Still, in most cases, determination of responsibility for failure costs
tion
remains problematic; in other words, the debate remains open as to whether they are managerial or external failures.