Quality of software (development)

background image

Quality of software

(development)

Krzysztof Bronk, Łukasz Jopek

Krzysztof Bronk, Łukasz Jopek

background image

For your information

For your information

This presentation is organized in

This presentation is organized in

detailed points, so that all the

detailed points, so that all the

necessary information is available

necessary information is available

Straight-forward explanation

Straight-forward explanation

background image

What is software

What is software

(development) quality?

(development) quality?

all the actions leading to

all the actions leading to

satisfaction of all the interested

satisfaction of all the interested

people in the project

people in the project

assurance of the project meeting

assurance of the project meeting

the requirements and standards

the requirements and standards

background image

Why is it difficult to

Why is it difficult to

measure quality?

measure quality?

Many of the criteria are intangible

Many of the criteria are intangible

Those happen to be most important

Those happen to be most important

Measures should be accurate

Measures should be accurate

Complexity of the final product

Complexity of the final product

Test data explosion

Test data explosion

Multifaceted approach (wieloaspektowe podejście)

Multifaceted approach (wieloaspektowe podejście)

Long term use

Long term use

Criteria have to be known before project creation

Criteria have to be known before project creation

Different use

Different use

Scalability

Scalability

Time, money costs

Time, money costs

Speculation and assumptions, patterns, heuristics

Speculation and assumptions, patterns, heuristics

background image

TQM

TQM

Total Quality Management

Total Quality Management

Author: Eiji Toyoda

Author: Eiji Toyoda

Aim: motorization industry repair in 1950

Aim: motorization industry repair in 1950

Formalized by Americans (Deming, Crosby, Juran,

Formalized by Americans (Deming, Crosby, Juran,

Feigenbaum) and Japanese (Toyoda, Imai, Ishikawa)

Feigenbaum) and Japanese (Toyoda, Imai, Ishikawa)

and British (Oakland).

and British (Oakland).

ISO definition:

ISO definition:

"TQM is a management approach for an

"TQM is a management approach for an

organization, centred on quality, based on the

organization, centred on quality, based on the

participation of all its members and aiming at long-

participation of all its members and aiming at long-

term success through customer satisfaction, and

term success through customer satisfaction, and

benefits to all members of the organization and to

benefits to all members of the organization and to

society."

society."

My definition: “Client is happy

My definition: “Client is happy

We are happy”

We are happy”

background image

Quality in ISO 9000

Quality in ISO 9000

ISO 9000 - a family of ISO (the International

ISO 9000 - a family of ISO (the International

Organization for Standardization) standards for quality

Organization for Standardization) standards for quality

management systems

management systems

Primarily concerns with "quality management", which

Primarily concerns with "quality management", which

means what the company does to fulfil:

means what the company does to fulfil:

the customer's quality requirements

the customer's quality requirements

applicable regulatory requirements, while aiming to

applicable regulatory requirements, while aiming to

enhance customer satisfaction

enhance customer satisfaction

achieve consecutive performance improvements

achieve consecutive performance improvements

background image

ISO 9000 terminology

ISO 9000 terminology

A

A

quality

quality

is a desirable characteristic, customers

is a desirable characteristic, customers

expectations, that a product or service must have

expectations, that a product or service must have

Quality system

Quality system

is a organization pattern of

is a organization pattern of

responsibilities, authorities, and relationships that

responsibilities, authorities, and relationships that

control how people perform their functions

control how people perform their functions

Quality management

Quality management

includes all the activities that

includes all the activities that

managers carry out in an effort to implement their

managers carry out in an effort to implement their

quality policy

quality policy

A

A

quality policy

quality policy

statement defines or describes an

statement defines or describes an

organization's commitment to quality

organization's commitment to quality

Quality audits

Quality audits

examine the elements of a quality

examine the elements of a quality

management system in order to evaluate how well

management system in order to evaluate how well

these elements comply with quality system

these elements comply with quality system

requirements

requirements

background image

Policy & system quality

Policy & system quality

(1)

(1)

Quality policy should:

Quality policy should:

State a clear commitment to quality

State a clear commitment to quality

Recognize customer needs and expectations

Recognize customer needs and expectations

Be actively supported by senior management

Be actively supported by senior management

List the quality objectives you want to achieve

List the quality objectives you want to achieve

Be understood by everyone in the organization

Be understood by everyone in the organization

Be consistent with your organization's goal

Be consistent with your organization's goal

Be applied and maintained throughout your

Be applied and maintained throughout your

organization

organization

background image

Policy & system quality

Policy & system quality

(2)

(2)

Quality system should:

Quality system should:

Describe the structure of your organization

Describe the structure of your organization

Discuss your quality system procedures

Discuss your quality system procedures

Define quality documents and records

Define quality documents and records

Set responsibilities and objectives

Set responsibilities and objectives

background image

Software quality

Software quality

planning

planning

ISO 9000

ISO 9000

Has a "manufacturing" focus and was not written

Has a "manufacturing" focus and was not written

with software in mind

with software in mind

Designed to be a generic standard, applicable to any

Designed to be a generic standard, applicable to any

business

business

ISO 9000-3

ISO 9000-3

Designed to assist software development

Designed to assist software development

Deals with potential complexity and interaction

Deals with potential complexity and interaction

among software subsystems and software-hardware

among software subsystems and software-hardware

subsystems, and a unique product life cycle

subsystems, and a unique product life cycle

IEEE 610-12

IEEE 610-12

Quality measurement is based on the combination of

Quality measurement is based on the combination of

desirable features

desirable features

background image

ISO 9126

ISO 9126

Six groups that build up quality

Six groups that build up quality

Functionality

Functionality

Reliability

Reliability

Usability

Usability

Effectiveness

Effectiveness

Maint

Maint

enance

enance

Portability

Portability

background image

Functionality

Functionality

Meeting requirements

Meeting requirements

Careful examination

Careful examination

Precisely designed

Precisely designed

Precise

Precise

Liaison (współdziałanie)

Liaison (współdziałanie)

Security

Security

background image

Reliability

Reliability

Mature product

Mature product

Error tolerance

Error tolerance

System restore after crash

System restore after crash

background image

Usability

Usability

Easy to understand

Easy to understand

Easy to use

Easy to use

background image

Effectiveness

Effectiveness

Reasonable response time

Reasonable response time

Reasonable resource use

Reasonable resource use

background image

Maint

Maint

enance

enance

Easy to change

Easy to change

Easy to validate

Easy to validate

Easy to modify

Easy to modify

Stable

Stable

Available

Available

background image

Portability

Portability

Adjustability

Adjustability

Installation in different

Installation in different

environment

environment

Functional correspondence

Functional correspondence

(zgodność)

(zgodność)

background image

Quality Management

Quality Management

Client oriented

Client oriented

Good leadership

Good leadership

Staff satisfaction

Staff satisfaction

Staff motivation

Staff motivation

Staff training

Staff training

Process approach: processes as steps, measures of

Process approach: processes as steps, measures of

processes, relationship between processes

processes, relationship between processes

System approach: detailed control of the whole

System approach: detailed control of the whole

developing environment

developing environment

Good management = combination of both

Good management = combination of both

Evolution, not revolution

Evolution, not revolution

Feedback

Feedback

Close relationship with client for the sake of the project

Close relationship with client for the sake of the project

background image

Software quality

Software quality

assurance

assurance

Software Quality Assurance

Software Quality Assurance

(SQA) is defined as “a

(SQA) is defined as “a

planned and systematic approach to the evaluation of

planned and systematic approach to the evaluation of

the quality of and adherence to software product

the quality of and adherence to software product

standards, processes, and procedures”

standards, processes, and procedures”

Software QA involves the entire software development

Software QA involves the entire software development

process - monitoring and improving the it, making sure

process - monitoring and improving the it, making sure

that any agreed-upon standards and procedures are

that any agreed-upon standards and procedures are

followed

followed

In most cases, because of the software complexity, we

In most cases, because of the software complexity, we

inspect crucial parts only

inspect crucial parts only

Software Quality Assurance Plan

Software Quality Assurance Plan

(SQAP) defines

(SQAP) defines

inspection procedures in each of the projects phases

inspection procedures in each of the projects phases

background image

Quality loss risk

Quality loss risk

If the project is new

If the project is new

If the project is complex

If the project is complex

Staff not trained well

Staff not trained well

Inexperienced staff

Inexperienced staff

New procedures

New procedures

Low organizational maturity of the

Low organizational maturity of the

developer

developer

background image

How to lower the risk

How to lower the risk

SQA should start the work early

SQA should start the work early

Check the user requirements,

Check the user requirements,

plans, standards

plans, standards

Higher cost of an error if detected

Higher cost of an error if detected

too late

too late

background image

Quality assurance

Quality assurance

methods

methods

(SQM)

(SQM)

Tasks from organization perspective:

Tasks from organization perspective:

Developing process maintenance, supervision, and

Developing process maintenance, supervision, and

acknowledgement

acknowledgement

Standards usage

Standards usage

Tasks from project perspective:

Tasks from project perspective:

Adapt standards

Adapt standards

Project reviews

Project reviews

Testing

Testing

Taking part in inspections

Taking part in inspections

Developing and qualities plans evaluation

Developing and qualities plans evaluation

System configuration maintenance audits

System configuration maintenance audits

Participation in managing committee

Participation in managing committee

background image

Quality assurance

Quality assurance

methods

methods

(SQM)

(SQM)

Staff should verify if:

Staff should verify if:

Project is well organized

Project is well organized

Projects life cycle is appropriate

Projects life cycle is appropriate

Team members have assigned tasks and

Team members have assigned tasks and

responsibilities

responsibilities

Staff should also:

Staff should also:

Supervise documentation

Supervise documentation

Check measurements data

Check measurements data

Plan controls, audits, tests

Plan controls, audits, tests

Register problems and solutions

Register problems and solutions

Approve development tools, techniques, methods

Approve development tools, techniques, methods

Approve software storage

Approve software storage

background image

Main quality assurance

Main quality assurance

methods groups

methods groups

Systems certification before the implementation

Systems certification before the implementation

Enforcing standards of gathering and processing data

Enforcing standards of gathering and processing data

Reviewing and certification of developing and

Reviewing and certification of developing and

documentation

documentation

System architecture standards and programming

System architecture standards and programming

patterns developing

patterns developing

Project reviewing in sense of compatibility

Project reviewing in sense of compatibility

New and modified software testing

New and modified software testing

Developing managing standards

Developing managing standards

Trainings

Trainings

background image

Quality norms – IEEE-

Quality norms – IEEE-

730

730

General quality assurance plan

General quality assurance plan

Analysis of the point of view

Analysis of the point of view

Reference of the developer

Reference of the developer

Software management

Software management

Documentation

Documentation

Standardization of actions

Standardization of actions

Inspections

Inspections

Audits

Audits

Software configuration management

Software configuration management

Reports of problems

Reports of problems

Used methods and tools

Used methods and tools

Code control

Code control

Data warehouse management

Data warehouse management

Code maintenance

Code maintenance

IEEE-983 as more detailed IEEE-730

IEEE-983 as more detailed IEEE-730

background image

Developing processes

Developing processes

maturity and

maturity and

immaturity

immaturity

Developing processes immaturity factors:

Developing processes immaturity factors:

Improvisation during the developing process

Improvisation during the developing process

Process is specified, but the specification is not used

Process is specified, but the specification is not used

Immediate crisis actions

Immediate crisis actions

Timetable and budget are being exceeded

Timetable and budget are being exceeded

Constantly decreased functionality

Constantly decreased functionality

Low-grade product quality

Low-grade product quality

No objective estimation criteria

No objective estimation criteria

background image

Developing processes

Developing processes

maturity and

maturity and

immaturity

immaturity

Developing processes maturity factors:

Developing processes maturity factors:

Software building ability is a characteristic of an

Software building ability is a characteristic of an

organization, and not a person

organization, and not a person

Process is determined, known and used

Process is determined, known and used

Process is analysed and improved

Process is analysed and improved

Tasks are planned and monitored

Tasks are planned and monitored

Roles and responsibilities are defined

Roles and responsibilities are defined

Objective and quantitative estimation is possible

Objective and quantitative estimation is possible

background image

Capability Maturity

Capability Maturity

Model

Model

(CMM)

(CMM)

Initiated in response to the request of the U.S.

Initiated in response to the request of the U.S.

Government to provide a method for assessing the

Government to provide a method for assessing the

capability of its contractors

capability of its contractors

The CMM is a framework that describes the key

The CMM is a framework that describes the key

elements of an effective process

elements of an effective process

Describes an evolutionary improvement path from an

Describes an evolutionary improvement path from an

ad hoc, immature process to a mature, disciplined

ad hoc, immature process to a mature, disciplined

process

process

The CMM covers practices for planning, engineering,

The CMM covers practices for planning, engineering,

and managing development and maintenance activities

and managing development and maintenance activities

Partially based on TQM concept

Partially based on TQM concept

background image

CMM's Five Maturity

CMM's Five Maturity

Levels of Software

Levels of Software

Processes

Processes

background image

CMM's Five Maturity

CMM's Five Maturity

Levels of Software

Levels of Software

Processes

Processes

At the

At the

initial level

initial level

, processes are disorganized, even chaotic. Success

, processes are disorganized, even chaotic. Success

is likely to depend on individual efforts, and is not considered to be

is likely to depend on individual efforts, and is not considered to be

repeatable, because processes would not be sufficiently defined and

repeatable, because processes would not be sufficiently defined and

documented to allow them to be replicated.

documented to allow them to be replicated.

At the

At the

repeatable level

repeatable level

, basic project management techniques are

, basic project management techniques are

established, and successes could be repeated, because the requisite

established, and successes could be repeated, because the requisite

processes would have been made established, defined, and

processes would have been made established, defined, and

documented.

documented.

At the

At the

defined level

defined level

, an organization has developed its own standard

, an organization has developed its own standard

software process through greater attention to documentation,

software process through greater attention to documentation,

standardization, and integration.

standardization, and integration.

At the

At the

managed level

managed level

, an organization monitors and controls its own

, an organization monitors and controls its own

processes through data collection and analysis.

processes through data collection and analysis.

At the

At the

optimizing level

optimizing level

, processes are constantly being improved

, processes are constantly being improved

through monitoring feedback from current processes and introducing

through monitoring feedback from current processes and introducing

innovative processes to better serve the organization's particular

innovative processes to better serve the organization's particular

needs.

needs.

background image

Software quality

Software quality

assurance plan

assurance plan

Maintained through the whole

Maintained through the whole

development life cycle

development life cycle

First version a

First version a

t the end of the

t the end of the

user

user

requirements phase

requirements phase

Size should resemble the size of

Size should resemble the size of

the project

the project

Should deal with all recognized

Should deal with all recognized

aspects of quality assurance

aspects of quality assurance

background image

SQAP sections

SQAP sections

SQAP for user requirements

SQAP for user requirements

SQAP for analysis

SQAP for analysis

SQAP for project architecture

SQAP for project architecture

SQAP for design phase

SQAP for design phase

SQAP for implementation and

SQAP for implementation and

deployment

deployment

background image

Basic rules

Basic rules

Numbers for points should not be

Numbers for points should not be

changed

changed

Additional information should not

Additional information should not

be included in the main document

be included in the main document

part

part

Document easy to navigate

Document easy to navigate

Easy to understand

Easy to understand

Coherent (spójny)

Coherent (spójny)

Modifiable

Modifiable

background image

What’s inside - Aim

What’s inside - Aim

SQAP aim

SQAP aim

Type of reader

Type of reader

Software products related to

Software products related to

SQAP

SQAP

Wilful use of software (name the

Wilful use of software (name the

development phase)

development phase)

background image

What’s inside -

What’s inside -

Management

Management

Organizations dealing with quality

Organizations dealing with quality

Roles (with no assignments)

Roles (with no assignments)

Organization’s responsibility

Organization’s responsibility

background image

What’s inside –

What’s inside –

Documentation

Documentation

Identifies all documents produced

Identifies all documents produced

in this phase

in this phase

How to check those documents

How to check those documents

for user requirements conformity

for user requirements conformity

(zgodność)

(zgodność)

background image

What’s inside –

What’s inside –

Standards

Standards

Details on standards and

Details on standards and

references to other documents

references to other documents

background image

What’s inside –

What’s inside –

Inspections/Audits

Inspections/Audits

Describes methods of monitoring

Describes methods of monitoring

of plan and procedure

of plan and procedure

correspondence

correspondence

Role of SQA personnel in those

Role of SQA personnel in those

procedures

procedures

background image

What’s inside – Tests

What’s inside – Tests

How to monitor and verify the

How to monitor and verify the

verification process and how to

verification process and how to

check the acceptation tests

check the acceptation tests

background image

What’s inside –

What’s inside –

Problem reports

Problem reports

How to signify an error of problem

How to signify an error of problem

How to measure errors

How to measure errors

Error reaction procedure

Error reaction procedure

background image

What’s inside – Code

What’s inside – Code

control

control

How to maintain clear code, make

How to maintain clear code, make

it portable, how to store it

it portable, how to store it

securely

securely

Code documentation procedures

Code documentation procedures

background image

What’s inside – Media

What’s inside – Media

control

control

Procedures regarding media, on

Procedures regarding media, on

which the software and

which the software and

documentation will be stored

documentation will be stored

background image

What’s inside –

What’s inside –

Provider

Provider

Know your provider

Know your provider

control procedures

control procedures

background image

What’s inside – Notes

What’s inside – Notes

maint

maint

enance

enance

procedures regarding notes from

procedures regarding notes from

meetings or general information

meetings or general information

exchange and how to store them

exchange and how to store them

properly

properly

who has access to notes

who has access to notes

background image

Apart from google &

Apart from google &

Włodek

Włodek

http://www.state.gov/

http://www.state.gov/

http://www.praxiom.com/

http://www.praxiom.com/

http://www.iso.org/

http://www.iso.org/

http://www.mhhe.com/

http://www.mhhe.com/


Document Outline


Wyszukiwarka

Podobne podstrony:
23 Assessment of Quality of Various Water Types

więcej podobnych podstron