SOFTWARE QUALITY INFRASTRUCTURE COMPONENTS INFRASTRUCTURE COMPONENTS Infrastructure components

  • Slides: 42
Download presentation
SOFTWARE QUALITY INFRASTRUCTURE COMPONENTS

SOFTWARE QUALITY INFRASTRUCTURE COMPONENTS

INFRASTRUCTURE COMPONENTS Infrastructure components are the main tools employed to prevent software errors and

INFRASTRUCTURE COMPONENTS Infrastructure components are the main tools employed to prevent software errors and support the quality level of the entire organization Goal of infrastructure are the avoidance of software faults , lowering faults rates productivity. and improving the

INFRASTRUCTURE COMPONENTS The infrastructure components are: Quality support devices like templates and checklists Staff

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 “ 3 S” DEVELOPMENT TEAM – CASE STUDY Team 7 of

SURPRISES FOR THE “ 3 S” DEVELOPMENT TEAM – CASE STUDY Team 7 of “ 3 S – 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 “ 3 S” DEVELOPMENT TEAM – CASE STUDY As no programmers

SURPRISES FOR THE “ 3 S” 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 “ 3 S” DEVELOPMENT TEAM – CASE STUDY The team’s troubles

SURPRISES FOR THE “ 3 S” 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 “ 3 S” DEVELOPMENT TEAM – CASE STUDY Ø At this

SURPRISES FOR THE “ 3 S” 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!!!

STAFF TRAINING AND CERTIFICATION Chapter ‘ 16’

STAFF TRAINING AND CERTIFICATION Chapter ‘ 16’

STAFF TRAINING AND CERTIFICATION The main objectives of training and certification: To develop the

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 To assure that the qualifications of candidates for key professional positions conform to the position’s requirements

THE TRAINING AND CERTIFICATION PROCESS The training and certification process activities: Determine the professional

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 Plan positions requiring certification processes. Deliver training, updating and certification programs. Perform follow-up of trained and certified staff.

THE TRAINING AND CERTIFICATION PROCESS

THE TRAINING AND CERTIFICATION PROCESS

DETERMINING TRAINING AND UPDATING NEEDS Training and updating needs are determined by comparison of

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

DEFINING POSITIONS REQUIRING CERTIFICATION Assignment of personnel to key positions in software development and maintenance organizations requires extreme 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

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

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

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

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 Chapter ’ 17’

PREVENTIVE AND CORRECTIVE ACTIONS These activities are not intended to deal with immediate correction

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

EXAMPLE for the “ 3 S” development team – Case Study the corrective actions

EXAMPLE for the “ 3 S” 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

THE CORRECTIVE AND PREVENTIVE ACTIONS PROCESS Successful operation of a CAPA process includes the following activities: Information Analysis collection 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

THE CORRECTIVE AND PREVENTIVE ACTIONS PROCESS

INFORMATION COLLECTION Internal sources of information are: (1) Software development process, (2) Software maintenance,

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’ Customer application statistics complaints.

INTERNAL INFORMATION SOURCES AND DOCUMENTS Software development process Design review reports Inspection reports Walkthrough

INTERNAL INFORMATION SOURCES AND DOCUMENTS Software development process Design review reports Inspection reports Walkthrough Experts’ Test reports opinion reports 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

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

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

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

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 Contribute

DEVELOPMENT OF SOLUTIONS AND THEIR IMPLEMENTATION Solutions are required to: Eliminate return of Contribute the types of faults detected. to improved efficiency by enabling higher productivity.

DEVELOPMENT OF SOLUTIONS Several directions for solutions are commonly taken: 1) Updating relevant procedures.

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 “ 3 S” case study displays six instances of CAPA:

DEVELOPMENT OF SOLUTIONS The “ 3 S” 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))

EXAMPLE : HIGH PERCENTAGE OF SEVERE DEFECTS Analysis of software quality metrics for the

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

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 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

EXAMPLE B: INCREASE IN HELP DESK CALLS THAT REQUIRE SERVICE AT THE CUSTOMER’S SITE v 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

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 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

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

EXAMPLE B The CAPA team discovered that while the previous year was normal for Team 2, it had been a year of major changes in the operations of Team 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 - MORE COMPREHENSIVE REPORT

EXAMPLE B A dramatic decrease in the number of user calls was observed, observed

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

FOLLOW-UP OF ACTIVITIES Three main follow-up tasks are necessary for the proper functioning of

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

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.

QUIZ Briefly describe the CAPA Process. List out the directions for CAPA solutions.