SOFTWARE QUALITY
INFRASTRUCTURE
COMPONENTS
INFRASTRUCTURE COMPONENTS
Infrastructure components are the main tools
employed to prevent software errors and
support the quality level of the entire
organization.
organization
Goal of infrastructure are the avoidance of
software faults , lowering faults rates and
improving the productivity.
INFRASTRUCTURE COMPONENTS
The infrastructure components are:
Quality support devices like templates and
checklists
Staff SQA training and certification activities
(Chapter 16)
Preventive and corrective actions (Chapter 17)
Software configuration management (Chapter 18)
Documentation and quality records control.
SURPRISES FOR THE “3S” DEVELOPMENT
TEAM – CASE STUDY
Team 7 of “3S – Sahara Software Specialists” started a new project
for Apollo Ltd seven weeks late because of delays in completion of
the previous project.
Harshly pressured for time, the team leader decided to cancel the
scheduled five-day training course on the new generator to be used
for subsystem F, as required by the contract. He believed that the
manuals supplied by the customer would be an adequate substitute
for the course.
This decision proved to be very costly. The two team members
responsible for subsystem F found it very difficult to apply a
generator they had never used.
In addition to the three days spent receiving expert advice, they
were forced to spend 25 working days more than were scheduled to
complete the subsystem.
Then, within the space of two weeks, two of the team’s six
programmers resigned and left..
SURPRISES FOR THE “3S” DEVELOPMENT
TEAM – CASE STUDY
As no programmers could be shifted in-house, management turned to
an employment agency and requested that they find replacements
as quickly as possible.
The team leader was relieved as the urgently needed programmers
were located and recruited, on a temporary basis, within a few days.
Both new team members were experienced programmers . This
arrangement seemed to suit the situation wonderfully as it will help
in completing the project with minimal delay
Considering the project’s unexpected difficulties – the training
problems and the resignation of the two programmers – the team felt
very lucky to manage to complete the programming stage by 11
November, only 11 days behind schedule.
SURPRISES FOR THE “3S” DEVELOPMENT
TEAM – CASE STUDY
The team’s troubles began with the issuance of the testers’ report
three weeks later. Together with a long list of minor defects, the
report mentioned numerous severe faults in some units.
All units of the faulty subsystem were programmed by one of the
temporary programmers recruited by the agency, who had already
left the company.
The two team members who were directed to repair the units were
confronted with unexpected difficulties: in addition to programming
errors and incorrect understanding of the relevant design
documents, the coding did not comply with any company coding
procedures or work instructions.
Later, they concluded that the temporary programmer professional
qualifications were far below those claimed in his letters of
recommendation.
After investing several days in attempts to correct the errors, four
out of the five units were recoded because all efforts to repair the
existing code came to nothing.
In the end, six exhausting weeks were spent on bringing these
units up to shape.
SURPRISES FOR THE “3S”
DEVELOPMENT TEAM – CASE STUDY
At this point, seven weeks behind schedule,
schedule
the team leader concluded that the “super
saver strategy” applied to training, as well as
the “super short-cut procedure” implemented
in recruitment, instruction and follow-up, had
proven to be quite costly!!!.
costly!!!
STAFF TRAINING AND
CERTIFICATION
’Chapter ‘16
STAFF TRAINING AND CERTIFICATION
The main objectives of training and certification:
To develop the knowledge and skills needed by new
employees and to update the knowledge and skills of expert
employees to assure efficient and effective task performance.
To impart knowledge of structure procedures and work
instructions to assure matching of software products to the
organization’s standards.
To impart knowledge of SQA procedures.
procedures
To assure that the qualifications of candidates for key
professional positions conform to the position’s
requirements.
requirements
THE TRAINING AND CERTIFICATION
PROCESS
The training and certification process activities:
Determine the professional knowledge requirements for
each position.
Determine the professional training and updating needs.
Plan the professional training program.
Plan the professional updating program.
Define positions requiring certification.
Plan certification processes.
Deliver training, updating and certification programs.
Perform follow-up of trained and certified staff.
THE TRAINING AND CERTIFICATION
PROCESS
DETERMINING TRAINING AND UPDATING
NEEDS
Training and updating needs are determined by
comparison of the staff’s current knowledge with
the updated knowledge requirements.
The type of training is adapted to the needs of three
different groups of staff:
Training: for new employees, according to their
designated assignment
Retraining: for employees assigned to new positions
or receiving new assignments
Updating: for staff members as demanded by their
position.
DEFINING POSITIONS REQUIRING
CERTIFICATION
Assignment of personnel to key positions in software
development and maintenance organizations
requires extreme care.
care
Examples of positions requiring certification of their
Expertise are:
Software development team leader,
Programming team leader,
Software testing team leader,
Software maintenance technician
Quality inspector
PLANNING THE CERTIFICATION
PROCESSES
A certification committee defines the list of
positions that require certification.
The list of positions that require certification differs
by firm or organization.
The details of the certification process reflect the
organization special uniqueness, areas of
specialization, software development and
maintenance tools, customers and so on..
TYPICAL CERTIFICATION
REQUIREMENTS
A typical certification process requires meeting
some or even all of the following requirements:
Professional education
Internal training courses
Professional experience in the organization (may be
replaced by experience in other organizations)
Assessment of achievements and abilities
Evaluation by the candidate’s direct superior (often by
completion of a special questionnaire)
Demonstration of knowledge and skills by means of a test
or a project
EXAMPLE: CERTIFICATION REQUIREMENTS AT
SKF ADVANCED SOFTWARE / PROGRAMMING
TEAM LEADER
SKF Advanced Software
Position Certification Document
Position – Programmer team leader
Approved by C. Haley Position: Chief software engineer
Certification requirements
Professional education. Two options – (a) BA or BSc in
software engineering or an equivalent degree, or (b)
Technician or equivalent degree in software engineering
granted by a recognized school.
Internal training courses. Two required courses – (1)
Project management: 5-day course. (2) Advanced project
management: 5-day course.
Professional experience in the organization. For
candidates holding a technician’s degree – three years of
experience as a programmer in SKF. For candidates holding
an academic degree – two years of experience as a
programmer in SKF. For candidates having over five years of
recognized experience as a programmer or programming
team leader in another organization .
EXAMPLE: CERTIFICATION REQUIREMENTS AT
SKF ADVANCED SOFTWARE / PROGRAMMING
TEAM LEADER
Performance evaluation. The average score of
each of the last two performance evaluation will not
fall below 3.8 (out of a maximum of 5).
Targeted evaluation by candidate’s direct
superior. The score of each of the eight items in the
questionnaire will be no less than 3 (out of 5), with an
average score of all items of at least 3.8.
Demonstration of knowledge and skill by means
of a test or project. test of programming skills
according to a specially selected software design
document. Minimum grade: 80.
Responsibility for certification
Overall responsibility. Chief software engineer.
Responsibility for skill demonstration test.
Manager of the relevant software development
department.
PREVENTIVE AND
CORRECTIVE ACTIONS
Chapter ’17’
PREVENTIVE AND CORRECTIVE
ACTIONS
These activities are not intended to deal with
immediate correction of detected defects but to
eliminate the causes of those defects
throughout software development departments.
The main objective is the completion of
functional and managerial requirements while
reducing the costs of carrying out software
development, maintenance and quality
assurance activities.
activities
EXAMPLE
for the “3S” development team – Case Study the corrective actions
will be:
(1) The training procedure should be updated to include a clause
that requires a special consultant to support team members in case
of lack of ability to undertake needed training prior to the
introduction of new applications.
(2) Programmers should be added to the list of positions requiring
certification
(3) Appointment of a mentor for a minimum period of three months
for new department employees and two months for employees
changing positions should be added to the recruiting procedure.
(4) It was decided that all the Department’s teams would begin to
use Version 6.1 within the next three months as it exceed the
previous Version 5.1 in terms of quality and productivity.
THE CORRECTIVE AND PREVENTIVE
ACTIONS PROCESS
Successful operation of a CAPA process includes
the following activities:
Information collection
Analysis of information
Development of solutions and improved methods
Implementation of improved methods
Follow-up.
A schematic overview of the process is shown in
Figure 17.1..
THE CORRECTIVE AND PREVENTIVE ACTIONS
PROCESS
INFORMATION COLLECTION
Internal sources of information are:
(1) Software development process,
(2) Software maintenance,
(3) SQA infrastructure
(4) Software quality management procedures.
External sources of information are mainly:
Customers’ application statistics
Customer complaints.
INTERNAL INFORMATION
SOURCES AND DOCUMENTS
Software development process
Design review reports
Inspection reports
Walkthrough reports
Experts’ opinion reports
Test reviews
Special reports on development failures and
successes
Proposals suggested by staff members.
INTERNAL INFORMATION
SOURCES AND DOCUMENTS
Software quality management
procedures class of sources
Project progress reports
Software quality metrics reports
Software quality cost reports
Proposals of staff members.
EXTERNAL INFORMATION
SOURCES
External information sources
Customer complaints
Customer service statistics
Customer-suggested proposals.
The analysis of the collected information as
reported in different documents is the
subject of the next section.
ANALYSIS OF COLLECTED
INFORMATION
Regular operation of the CAPA process is
expected to create a massive flow of documents
related to a wide range of information.
Analysis involves:
Screening the information and identifying
potential improvements. Documents received
from the various sources of information are reviewed
by professionals in order to identify potential
opportunities for CAPA.
ANALYSIS OF COLLECTED
INFORMATION
Analysis of potential improvements. Efforts are directed
to determine:
Types and levels of damage resulting from the identified
fault.
Causes for faults. Typical causes are:
-differs from work instructions and procedures,
-insufficient technical knowledge,
-extreme time and/or budget pressures due to unrealistic estimates,
-lack of experience with new development tools.
To estimate the total damage expected and to determine the
priority of each fault case.
Set priorities for solution of identified faults.
DEVELOPMENT OF SOLUTIONS AND
THEIR IMPLEMENTATION
Solutions are required to:
Eliminate return of the types of faults
detected.
Contribute to improved efficiency by
enabling higher productivity.
DEVELOPMENT OF SOLUTIONS
Several directions for solutions are
commonly taken:
1) Updating relevant procedures. (e.g. changes of
employee recruitment procedures, changes of the
maximum and minimum number of participants in
a formal design review).
2) Shifting to a development tool that is more
effective and less prone to the detected faults.
3) Improvement of reporting methods, including
changes in report content, frequency of reporting
and reporting tasks.
4) plans for training, retraining or updating staff.
DEVELOPMENT OF SOLUTIONS
The “3S” case study displays six instances of
CAPA:
Updating of existing procedure
(recommendations (1), and (2))
Replacement of development tools of low
efficiency and effectiveness by better tools
(recommendation (3))
Improvement in the operation of SQA
infrastructure tools (recommendation (4)).
(4))
EXAMPLE : HIGH PERCENTAGE OF SEVERE
DEFECTS
Analysis of software quality metrics for the
Development Department identified a high quantity
of software defects in the projects completed by two
of its six teams.
It was also found that the resources these teams
required to correct the defects were higher than other
teams.
The analysis was based on documented information
related to the two teams’ current as well as former
projects, in addition to projects performed by the four
“healthy” teams.
EXAMPLE : HIGH PERCENTAGE OF SEVERE DEFECTS
Inquiries related to the SQA tools revealed an
important difference in the number of applications
inspected,
inspected especially in the analysis and design stages.
While the “healthy” teams treated inspection as a
standard procedure for the more complicated
functions, the other teams used inspections quite
lightly.
lightly
The recommended CAPA solution was to introduce
definitions of the function types requiring inspection
within the inspection work instructions.
EXAMPLE B: INCREASE IN HELP DESK CALLS THAT
REQUIRE SERVICE AT THE CUSTOMER’S SITE
This example shows how a CAPA process can produced
unexpected findings and recommendations.
The “Perfect Programming Company” operates two help
desk teams to support users of its two most popular
software products: Team 1 specialize in point of sale (POS)
packages, Team 2 in accountancy packages.
The Help Desk Unit’s management planned new quality
metrics to support control of the teams’ efficiency .
These new metrics highlighted the control of services
performed at the customer’s site,
site due to their high costs,
and kept track of two variables:
The percentage of customer site visits and
The average technician time per site visit.
EXAMPLE B
The report for the fourth quarter made a warning signal
among company management. Whereas Team 2 showed
stability in its performance, a dangerous change in Team
1’s performance was observed.
observed
Management was very concerned by the large increase
in the percentage of customer’s site visits and average
technician time per site visit.
EXAMPLE B
A corrective and preventive action team (CAPA team)
team
was appointed.
The CAPA team held three long meetings devoted to
interviewing the help desk team leaders,
reviewing a sample of their customer’s site visit
reports
examining their detailed monthly statistical reports
The team also observed the help desk teams at
work during one afternoon.
EXAMPLE B
The CAPA team discovered that while the previous year was
normal for Team 2,
2 it had been a year of major changes in
the operations of Team 1.
1
During the first and second quarters, Team 1 had invested
large efforts in improvement of the user interface of the POS
package and added several helpful error messages.
All these improvements were included in the new Version 6.4
that replaced the Version 6.3 of the POS packages
Version 6.4 had been installed by most users during the third
quarter.
Unexpectedly, in the last two quarters Team 1 had actually
achieved a large reduction of total help desk efforts,
efforts as
measured in hours of help desk service per customer.
EXAMPLE B - MORE COMPREHENSIVE REPORT
EXAMPLE B
A dramatic decrease in the number of user calls was
observed,
observed as a result of the new version of the packages.
The increase in average time spent at a customer’s site
visit was due to the higher percentage of services now
given to new customers.
The CAPA team proposed Two corrective actions :
To replace the currently used report by a more
comprehensive one,
one based on the lines of Table
17.2.
An inquiry into the practices implemented by Team 2
was suggested to achieve a large improvement in the
team’s performance.
performance
FOLLOW-UP OF ACTIVITIES
Three main follow-up tasks are necessary for the proper
functioning of a corrective and preventive action process in any
organization:
Follow-up of the flow of development and
maintenance CAPA records from the various sources of
information.
Follow-up of implementation. This activity is intended to
indicate whether the designated actions – training activities,
replacement of development tools, procedural changes–
have been performed in practice.
Follow-up of outcomes. Follow-up of the improved
methods’ actual outcomes, enables assessment of the
degree to which corrective or preventive actions have
achieved the expected results.
PARTICIPANTS IN THE CAPA
PROCESS
The CAPA process is carried out by the joint efforts of a
stable CAPA body together with ad hoc team participants.
The stable CAPA body,
body commonly called the CAB,
activates the CAPA process by screening information,
appointing members of targeted ad hoc CAPA teams,
promoting implementation and following up the process.
The ad hoc CAPA team’s task is to analyze information
about a given topic in addition to developing and
solutions and a CAPA implementation process.
Most members of ad hoc CAPA teams are department
staff members experienced in the subject matter.
QUIZ
Briefly describe the CAPA
Process.
List out the directions for
CAPA solutions.