software project management lecture # 10. outline quality management (chapter 26) what is quality? ...

20
Software Project Management Lecture # 10

Upload: bruno-mckinney

Post on 13-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Software Project Management

Lecture # 10

Page 2: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Outline

Quality Management (chapter 26) What is quality? Meaning of Quality in Various Context Some quality concepts SQA SQA activities

Page 3: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Management Quality Management (often called Software Quality

Assurance) is an umbrella activity that is applied through out the software process.

Every one involved in software engineering process is responsible for quality.

Emphasis on quality in all software engg. activities reduces the amount of rework that the software engg. team must do this eventually lowers costs, improves time to market

The team must identify SQA activities that will filter errors out of the work products before they are passed on. But before doing so, they must define software quality at different levels of

abstraction SQA Plan is created to define the quality strategy of the team

Page 4: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Management

It encompasses Software quality assurance process Specific quality assurance & quality control

tasks (including FTRs and testing strategies) Effective SE practice (methods & tools) Control of all software work products & changes

made to them A procedure to ensure compliance with software

dev. Standards Measurement & reporting mechanism

Page 5: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

What is Quality? British Standard Institute’s definition

Quality is totality of features & characteristics of a product or service which relate on its ability to satisfy a given need

American Heritage Dictionary definition Quality is characteristic or attribute of something

Quality of Software Quality of Software is software that does what it

is supposed to do customer dissatisfaction is lack of quality

Page 6: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Meaning of Quality in Various Context

In Manufacturing Quality means that the developed product

should meet its specification

In Software Development Quality would mean that a software product

conforms to its specification Software specification should be oriented towards

customer requirements. There may be some implicit requirements like

maintainability, usability, etc. but they are not included in the specification

Page 7: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Meaning of Quality in Various Context

Practically , its very difficult to write complete software specifications/ characteristics

Therefore, although the product conforms to its specifications, it may not satisfy the customer as hence may not be considered as a high quality product

Page 8: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Another school of thought …

Quality can be achieved by defining standards & organizational quality procedures that check that these standards are followed by the software development team

Besides standards & procedures there are intangible aspects also involved in software quality like elegance, readability, etc.

Page 9: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Quality of design Refers to the characteristics that designers specify for an

item Focuses on requirements, specifications & design of

system Quality of conformance

Is the degree to which the design specifications are followed during manufacturing

Focuses primarily on implementation User satisfaction

Robert Glass suggested the following relationship: Compliant product + good quality + delivery within

budget & schedule

Page 10: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Quality Control Definition & enhancement of processes that ensure

the software development team has followed project quality procedures & standards

Quality Control is a series of inspections, reviews & tests used through out the development cycle to ensure that each work product meets the requirements placed on it

It includes feed-back loop to the process that created the work product

The combination of measurement & feedback helps to fine tune the process when work products fail to meet their specification

Page 11: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts Quality Assurance

The process of defining how software quality can be achieved & how the development organization knows that the software has the required level of quality

It involves establishment of a framework of organizational procedures & standards that lead to high quality software

It consists of a set of auditing & reporting functions that assess the effectiveness of quality control activities.

The aim is to provide management with facts & figures and proofs that product quality is meeting its goals

Page 12: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Variation Control Variation control is the heart of quality control Variation control may be equated to quality

control Manufacturers aim to minimize the variation

among the products that are produced For software projects, from one project to

another, we may want to minimize the difference between predicted resources needed to complete project and actual resources used, including staff, equipment, and calendar time

Page 13: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Cost of Quality It includes all costs incurred in performing quality

related activities Cost of quality studies are conducted to

Provide a baseline for current cost of quality Identify opportunities for reducing cost of quality Provide normalized basis of comparison (usually in

dollars) Quality costs are divided into

Prevention costs Appraisal costs Failure costs

Page 14: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Quality costs Prevention costs relate to

Quality planning Formal technical reviews Test equipment training

Appraisal costs relate to Activities to gain insight into product – “first time

through” each process, e.g., In-process and inter process inspection Equipment calibration &maintenance testing

Page 15: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Quality Concepts

Quality costs Failure costs

Those that would disappear if no defects appeared before shipping a product to customer

Failure costs subdivided into 2 types Internal failure costs (related to defects found before

product is shipped) Rework, repair & failure analysis mode

External failure costs (related to defects found after product is shipped) Complaint resolution, product return and

replacement, helpline support & warranty work

Page 16: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Relative cost of correcting an error

Refer to figure 26.1

020406080

100120140160180200

Req. Design Code Dev.Test

Systemtest

Field Op

Page 17: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Software Quality Assurance

Although there are many definitions of quality but for our purposes, software quality is:

Conformance to … the explicitly stated functional & performance requirements, explicitly documented development standards & implicit characteristics that are expected of all professionally

developed software

This definition emphasizes on 3 important points S/W requirements – a foundation from which quality is

measured Standards – define development criteria against which S/W is

engineered Implicit requirements – often go unmentioned but if not met,

can cause suspicion in quality

Page 18: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

Who does it? Prior to 20th Century

SQA was responsibility of the craftsperson

During 1950s and 1960s Responsibility of programmer

Today responsible ones are … S/W Engrs. (Apply technical methods & measures, Conduct

FTRs & perform planned testing) Project managers Customers Sales Person SQA group (Serves as customer’s in-house representative,

Looks at S/W from customer’s point of view, Assists the S/W Engrs team to achieve quality)

Page 19: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

SQA

SQA is an activity that is applied throughout the software process and not after the software has been developed

SQA covers the following Quality management approach Effective s/w engineering technology (methods & tools) Formal technical reviews (applied throughout the process) A multi-tiered testing strategy Control of software documentation & changes made to it A procedure to assure compliance with software

development standards Measurement & reporting mechanism

Page 20: Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality

SQA Group & SQA Activities SQA group is responsible for QA planning, oversight,

record keeping, analysis and reporting SEI recommends the following set of SQA group

activities: Prepares an SQA plan for project Participates in the development of project’s software

process description Reviews s/w engg activities to verify compliance with

defines s/w process Audits designated s/w work products to verify compliance Ensures that deviations in s/w work & work products are

documented Records any non compliance & reports to senior

management SQA groups also participates in change management

& help to collect & analyze s/w metrics