SQA infrastructure components for software
11.4.3 SQA infrastructure components for software
e maintenance
sof
Software quality assurance infrastructure tools, discussed in Part IV of the
tw
book (Chapters 14 to 19), are vital components of software maintenance. A
are quality
great proportion of the array of infrastructure SQA tools are of a general nature and implemented throughout the life cycle of the software system. In addition, the similarity of the software functionality improvement and soft- ware development processes enables both processes to share the same infrastructure SQA tools with minor changes. Specialized infrastructure tools
ss u
are required for corrective maintenance activities, due to the special charac-
teristics of these activities. Adaptive maintenance activities are served by
ranc
infrastructure SQA tools, according to their characteristics. The most fre- quently employed tools are functional improvement SQA tools, followed by
e tool
corrective maintenance SQA tools. Actually, the contribution of infrastructure SQA tools to maintenance does
not begin with the onset of the maintenance process. Obviously, adequate application of SQA infrastructure tools by the software development teams contributes substantially to the efficiency and effectiveness of maintenance team activities. In other words, these tools contribute to maintenance quality assurance in two ways: first, by supporting the software development teams when producing high-quality software, and second, by supporting the mainte- nance teams responsible for the maintenance of the same software product.
Specialized SQA infrastructure tools are required for software mainte- nance processes, especially corrective maintenance, displaying special characteristics. Here we focus on specialized SQA infrastructure tools of the following classes:
Maintenance procedures and work instructions
Supporting quality devices
Training and certification of maintenance teams
Preventive and corrective actions
Configuration management
Documentation and quality record control. Maintenance procedures and work instructions
Most specialized maintenance procedures and work instructions are applied for corrective maintenance and user support activities, for example:
Remote handling of requests for service in cases of software failure
On-site handling of customer requests for service in cases of software failure
11 ■ User support service As ■ Quality assurance control of software correction and user support activities
suring the quality Customer satisfaction surveys
Certification of corrective maintenance and user support team members. Supporting quality devices
The maintenance department is expected to develop specialized devices to support software correction and user support activities: templates, checklists and the like. Such devices may include:
of
sof Checklists for location of causes for a failure – to be applied by the main-
tenance technician.
tw
Templates for reporting how software failure were solved, including find-
are m
ings of the correction process.
Checklists for preparing a mini testing procedure document.
ainten Training and certification of maintenance teams
anc
Training of maintenance teams that deal with functional improvement tasks
ec does not differ substantially from training of other software development
teams. However, special training and certification are crucial for corrective
omponents
maintenance teams. Training of corrective maintenance professionals is motivated by the need to supply the services specified in maintenance contracts (or agree- ments, in cases of internal customers) on a continuous basis. Thus, the training plan should provide solutions to staffing needs during peak load periods and the organization’s need to replace, at short notice, retiring, resigning or discharged personnel. In many cases, general training of these “reserve” maintenance personnel is insufficient, and training in specific sys- tems must be added. In other words, rigorous training programs are required to enable the organization to cope with the contracted level of service speci- fied for peak-load periods and in situations of maintenance personnel changes, for whatever reason.
Certification requirements for software correction and user support per- sonnel are rooted in the characteristics of these services. Special attention should be given to certification of software correction professionals, who usually perform their tasks under heavy time pressures, work alone, and in many cases work at the customer’s site, where the availability of profession- al support from the team leader or others is limited.
Preventive and corrective actions The operative phase of the software life cycle produces highly valuable infor- mation: records of software failures and their repair as well as records of Preventive and corrective actions The operative phase of the software life cycle produces highly valuable infor- mation: records of software failures and their repair as well as records of
11.4 Mainten
collected information, reviewing and analyzing findings, and devising rec-
ommendations for improvements of relevant development and maintenance processes. These SQA activities are directed and controlled by an internal committee – the CAB (Corrective Action Board), found in major software development organizations.
Issues typically forwarded to the Board for review include:
anc
Changes in content and frequency of customer requests for user support
e sof
services
Increased average time invested in complying with customer’s user sup-
tw
port requests
are quality
Increased average time invested in repairing customer’s software failures
Increased percentage of software correction failures. Configuration management
The maintenance teams represent the groups most dependent on configura-
ss
tion management. This dependence results from their intimate involvement
ranc
with servicing software packages over many years, during which new ver-
sions are added, old versions replaced and many new installations and
e tool
changes of software performed. Two common applications relying on configuration management are (1) failure corrections and (2) “group” replacement of the currently used version
of the software by a new version, initiated by the maintaining organization. (1) Failure repair. In the course of software failure repairs, reliable and
updated support is needed in the form of: ■ Information regarding the version of the software system installed at
the customer’s site
A copy of the current code and its documentation. The contribution to software quality is achieved by fewer errors in fail-
ure correction trials and reduced resources invested in the corrections. (2) Group replacement. The term “group” in the SQA context refers to all
those customers having the same software version installed at their sites. Hence, “group” replacement indicates that all the customers using the stated version will receive the newly developed or updated version of the software at more or less the same time. Configuration management sup- port for group replacement, based on information about the members of
a customer group, entails: ■ Decision making about the advisability of performing a group
replacement, based on the extent of the replacement and the type of contracts signed with the customers.
■ Planning the group replacement, allocating resources and determining the timetable.
270 The contribution to software quality is achieved by replacement of the cur- rent software version with an improved version that is usually less prone to
11 software failure and requires less support. The improved quality also con- As
tributes to software maintenance efficiency as fewer resources are required
suring the quality for corrective maintenance. Maintenance documentation and quality records
The specialized requirements for documentation and quality records are most closely related to software correction and user support activities. Documentation and quality records are prepared in order to:
of Supply vital data for preventive and corrective actions (as mentioned earlier)
sof Support the handling of future customer failure reports and user
support requests
tw
Provide evidence in response to future customer claims and/or complaints.
are m
The documentation requirements listed in the various maintenance proce-
ainten
dures should respond to all of these documentation needs.
anc
11.4.4 Managerial control SQA tools for software maintenance
ec While specialized managerial control SQA tools are required for corrective
maintenance activities, the similarity in the software processes characterizing
omponents
functionality improvement and adaptive maintenance and software develop- ment enables these processes to employ the same managerial tools. Specifically, managerial SQA components are meant to improve control of maintenance by creating early alarms that signal reduced quality of service and increasing rates of service failures.
The remainder of this section is dedicated to special managerial control issues, mainly those touching upon software correction and user support services:
Performance controls for corrective maintenance services
Quality metrics for corrective maintenance
Costs of software maintenance quality. For more about managerial control SQA tools, see Part V of the book
(Chapters 20–22). Performance controls for software maintenance services
Managerial performance controls of corrective maintenance services differ when applied to software correction (failure repair) services and to user support services. The managerial control tools yield, beside period- ic performance information, alarms for management attention, such as the following:
(1) Software correction 271 ■ Increased resources utilization ■
11.4 Mainten
Decreased rate of remote failure repairs (low cost repairs) versus cus- tomer’s on-site repairs
■ Increased rate of on-site repairs at long-distance locations and over- seas services ■ Increased percentage of failures to meet repair schedule requirements
■ Increased rate of faulty repairs, and list of specific “model” cases of
anc
extreme failure situations ■ Lower customer satisfaction based on customer satisfaction surveys.
e sof
(2) User support
tw
■ Increased rates of requests for service for a specific software system,
are quality
for service type, etc. ■ Increased resource utilization in user support services ■ Increased rate of failures to provide requested consulting services ■ Increased rate of faulty consulting, and specific cases of “outstand-
ing” failures
ss u
■ Customer satisfaction information based on customer satisfaction
surveys.
ranc
e tool
These managerial failure repair controls (that are expected to yield alarms)
are carried out through periodic reporting, regularly scheduled staff meet- ings, visits to the maintenance support center providing the services, and
analysis of reports dealing with software maintenance metrics and mainte- nance quality costs. The accumulated information supports managerial decisions regarding the planning and operation of corrective maintenance.
Quality metrics for software maintenance Software maintenance quality metrics are used mainly to identify trends in maintenance efficiency, effectiveness and customer satisfaction. The software quality assurance unit usually processes the metrics. Changes in trends, neg- ative as well as positive, provide the quantitative basis for managerial decision making regarding:
Estimation of resource requirements when preparing maintenance plans for the next period
Comparison of methods of operation
Initiation of preventive and corrective actions
Estimation of resource requirements as a basis for proposals for new or adjusted maintenance services.
For examples of quality metrics of software correction and user support serv- ices, see Section 21.4.
272 Costs of software maintenance quality