18
Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Embed Size (px)

Citation preview

Page 1: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Chapter 8Assuring the quality of external

participants’ contributions

Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Page 2: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

(1) The difference between contractors and external participants:• Software development contractors are organizations or groups of

organizations that are contracted by a customer in a project contract to develop a software system.

• External participants are organizations that participate in the development process, performing small to large parts of the work, but are not legally designated sides in the project’s contract.

Page 3: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

(2) The types of external participants, and the benefits they provide to the contractor:

The external participants can be categorized into three main groups:• Subcontractors• Suppliers of COTS software and reused software modules• The customer themselves as an active participant in performing parts of the

project.The main benefits to the contractor of using external organizations are:• Overcoming shortages of professional staff by transferring parts of the project to

be carried out to firms employing staff having those skills.• Potentially shorter project schedules, achieved by purchasing COTS software and

reused software rather than developing the software.• Expertise acquired in areas that need specialization through the participation of

owners – the subcontractor or the customer’s development department – of that expertise.

• Saved budget, achieved when subcontractors offer prices below those incurred by performing the project internally, and by the use of COTS and reused software.

Page 4: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

(3) The risks for the contractor associated with turning to external participants:

• Delays in completion of the project parts due to the external participants’ competing interests, given that the contractor is the only party committed to living up to schedule demands as stated in the project contract signed with the customer.

• Even the customer,as supplier for their own project ,might prefer another project and delay completion of their part.

• Low quality of project parts caused by insufficient capabilities, attempts to save resources, or other factors.

• Future maintenance difficulties due to low quality or non-standard software and/or incomplete or poor documentation of parts carried out by external participants.

• Loss of control over parts of the project instigated by periods of cut-off communication, whether intentionally or inadvertently initiated.

Page 5: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

(4) The SQA tools appropriate for use with external participants and risks they help to eliminate or reduce:

• The requirements document review assures a correct and complete list of the requirements related to software functionality, to formal and staff aspects of the project . (It contributes mainly to delay reduction and fewer cases of low quality.)

• Choice of external participants, if done properly, reduces all types of risks, especially those related to low quality.

• The project coordination and joint control committee, if it operates properly, discovers anticipated as well as unanticipated delays, quality problems and potential for loss of control over the project at early stage. Early alerts and cooperation can reduce and even eliminate these risks.

• Participation in design reviews provides an excellent opportunity to examine the real quality of a subcontractor’s work and to introduce corrections where necessary. (The review’s main contribution is to low-quality product reduction.)

Page 6: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

• Participation in software testing, like participation in design reviews, contributes to the reduction of low-quality products. Furthermore, such participation enables the contractor to be alerted about possible delays in the work schedule, and can help reduce the effects of those delays.

• Specialized procedures are part of the contractors’ SQA infrastructure and are meant to handle all kinds of risky situations.

• Qualification and certification of the supplier’s team leaders and other staff assure the professional capacities of the project teams, and contribute to reduction of low-quality products.

• Progress reports of external participants’ development activities are prepared mainly in order to reduce the risk of delays.

• Review of deliverables (documents) and acceptance tests is aimed at assuring the quality of the work performed by the external participant and consequently reduces the risks of future maintenance difficulties.

Page 7: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Chapter 9Training and Certification

Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Page 8: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

The objectives of training and certification

• To develop the knowledge and skills new staff need to perform software development and maintenance tasks at an adequate level of efficiency and effectiveness. Such training facilitates integration of new team members.

• To assure conformity to the organization’s standards for software products (documents and code).

• To update the knowledge and skills of veteran staff in response to developments in the organization.

• To assure that candidates for key software development and maintenance positions are adequately qualified.

Page 9: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

The training and certification process:• The following activities should be regularly performed:

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

Page 10: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004
Page 11: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

The type of training is adapted to the needs of three distinct 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.

Page 12: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Typical certification requirements• Professional education: academic or technical degrees and in some cases certification by a

professional organization or by a leading commercial software producer• Internal training courses• Professional experience in the organization (may be partially or completely replaced by

experience in other organizations)• Assessment of achievements and ability as noted in periodic performance appraisals• Evaluation by the candidate’s direct superior (often by completion of a special

questionnaire)• Demonstration of knowledge and skills by means of a project

Page 13: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Functions of the certification committee• The person or committee members responsible for certification are

usually senior software development and maintenance staff. The responsibilities of the certifying body include:

• To perform the certification process on the basis of requests made by individual applicants or units and grant certification to those who qualify

• To follow up certification activities (such as mentoring) carried out by others

• To update certification requirements in response to developments in the organization as well as the profession

• To revise the list of positions requiring certification.

Page 14: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Delivery of training and certification programs• Courses can be transmitted in formats that

range from short lectures and demonstrations, often lasting only half a day, to lengthy courses held over several weeks or months.

• These may be conducted in-house, by the organization’s training unit, or externally, by vocational or academic institutions that prepare programs attuned to the organization’s requirements.

Page 15: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

• The information provided by follow-up relates to:– All training activities and certification procedures

conducted – records of the performance of the participants in the program.

– Information about special cases of training activities that proved to be either highly successful or clearly unsuccessful in improving staff performance.

– Information about proven cases of failures of certified staff in the performance that point to clearly inadequate certification requirements.

Page 16: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

Follow-up subsequent to training and certification:• Managers and software professionals question

whether the substantial resources and efforts invested in training are really worthwhile.

• Systematic follow-up is necessary to provide feedback to the professional units.

• Such feedback indicates whether the training efforts were justified.

Page 17: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

• All training performance of the participants in the program.

• Information about special cases of training activities that proved to be either highly successful or clearly unsuccessful in improving staff performance.

• Information about proven cases of failures of certified staff in the performance that point to clearly inadequate certification requirements.

Page 18: Chapter 8 Assuring the quality of external participants’ contributions Software Quality Assurance, From theory to implementation, DANIEL GALIN,2004

• Analysis of the data accumulated following a training course provides the information necessary to revise programs by guiding the– modification– addition– deletion

of identified activities and materials.