background image

Loading

Loading

… Please Wait…

… Please Wait…

background image

Michał Szymerski

Rafał Staszewski

Quality in IT project

background image

What is quality?

What is quality?

Quality (according to ISO 9000:2000) is the ability of the 

product and all its integral parts to satisfy demands of 

the customer or any other entity that commisioned the 

project (conformance to specifications)

Essential subjects related to quality are:

Satisfaction of the customer is the main criteria of 

quality

Prevention is more crucial than inspection

Management responsibility

• Although teamwork is important and essential to 

completion of the project, the main entity responsible for 

the project is the management

background image

Quality Management

Quality Management

Quality assurance:

Set of functions that are carried out throughout the 

process of the project creation, that aims at providing 

overall quality in the project

Quality inspection:

Inspecting each and every product of the project in 

order to assess their compatibility with the project 

requirements

Quality planning:

Assurance of quality must be planned in order to fully 

satisfy customer’s demand

background image

Quality Planning

Quality Planning

Quality planning – should start in the early phase of software creation 
The basis to quality planning in a project is the overall quality policy of the 

company(what is the managements idea twoards quality related problems). It is 

important to note that that this „policy” should not be strict but rather customized 

twoards individual projects.

The main factors that should be concidered in quality policy:

The projects scope

The products description

Standards and regulaitons well adjusted twoards the scope of the project.

Standards are orders describing the workflow and characteristics of the product.
Regulations are the non flexible , law requirements, organization requirements.

While planning the quality it is important to take into concideration the results of other 

forms of planning.

One of the elemetns of Q.P. is working with the user in order to verify if the way the 

project is being developed, satisfies him. (For software developement that would 

be using prototypes)

background image

Quality management - 

Quality management - 

standards

standards

ISO (International Standards 

Organization)

• Established in 1987

• Recognized worldwide

• International set of five related standards for qualification 

of global quality assurance and quality control standards

• Adherence is accomplished through an application 

process for ISO 9000 certification in company standards 

for inspecting production processes, updating records, 

maintaining equipment, training employees and handling 

customer relations

• Procedures must be documented in company’s quality 

manual that defines the quality ensurance process. 

background image

Standards continued

Standards continued

ISO 9001 – most general standard of the ISO 9000

Applies to companies that develop and create products

ISO 9000-3 – auxilary document that describes software 
development

ISO 9000

Company’s quality 

manual

Quality ensurance 

plan 2

Quality 

ensurance plan 3

Quality ensurance 

plan 1

Company’s quality 

processes

Venture quality 

management

Used in development of

documents

Its entity is

background image

Quality management plan

Quality management plan

Result of quality planning

Specifies desired product quality

Specifies quality criterias

Specifies company standards that are to be used in 

project

Should be kept short

Defines most important quality attributes

background image

Quality management plan 

Quality management plan 

- ctd

- ctd

Security

Adaptability

Protection

Clearness

Modularity

Fitness to testing

Reliability

Immunity

Solidity

Complexity

Learning curve

Efectiveness

Reusability

Ease of use

Portability

background image

Quality assurance

Quality assurance

The process of quality assurance is a set of functions that is needed in 

order for the project to meet its standards.

We may specify 2 types of standards, that are part of quality assurance 

process:

1)Product standards – they relate to the project. They incorporate 

document standards that need to be created, such as requirements 

documentation hierarchy/structure , documenting standards ( expl. 

Commentary in the objects header), coding standards.

2)Process standards – they define the processes that need to be obeyed 

durring software developement. This includes defining specification 

processes as well as document descriptions (that should be created 

durring developement).

There is a strict bond between quality and process standards. 
Product standards relate to the results of software developement process.
In many cases process standards include specific process tasks, whos goal 

is to provide compliance with the product standards.

background image

Quality Assurance ctd.

Quality Assurance ctd.

Quality assurance in projects is mostly done by an outside, 

project independant quality assurance branch/team, but can 

also be done by a team inside the project , specificly 

designated for this task, or by the client himself.

Q.A. teams that develop standards should base them upon 

national and international standards such as:

Progamming languages

Notations

Software enginering terminology

Defining and writing requirements for software.

Quality assurance processes and verification and aproval 

processes

Quality assurance team should develop a "standards manual”, in 

which standards apropriate for the company should be 

defined.

background image

Process and Product Quality

Process and Product Quality

The main assumption of quality management is that the quality of the 

creation process has a direct influence on the quality of the 

delivered product and thus it has a very important influence on 

software quality

Contrary to mass production systems (in which achieving an 

acceptable level of process quality guarantees a sustainable 

product quality), quality management in software development 

must be ensured in each and every development project or cycle

Quality management process incorporates:

1)

Defining processes’ standards 

(such as the way we make our audits, their time, precision etc)

2)

Monitoring the creation process in order to assure that 

standards are being obeyed

3)

Informing the management and the client about our software 

developement process

The basic technique of quality assurance are audits of the quality 

(systematic checks aimed at finding eventual incompatibilities 

with the used standards)

background image

Standards creation

Standards creation

Create product

Define process

Proper

Quality

Improve Process

Measure Quality

Develop standard

No

Yes

background image

Quality control:

Quality control:

Quality control handles products, half-products and 

management work results

The basic technique of quality control is inspection. This 

is checking and testing products in order to state if 

they comply with their requirements. Inspections are 

the basis for management decisions regarding the 

acceptance of a product

Frequent occurences of similar problems should be a 

basis for modification of the work processes leading to 

them

Software quality standards are important for quality 

assurance because they are a set of „best guidlines”. 

Following these guidelines makes our project better

background image

Software quality measures:

Software quality measures:

Quality needs to be measurable. For every project, a set of 

measurements, which will be calculated durring the project’s 

life, must be prepared. The most simple types of quality 

measures for software developement projects are the number 

of errors encountered during the process of system usage and 

the time between their encounters

Other types of measures are:

-

The amount of code in lines

-

Fog index (the measure of the readability of a certain 

fragment of text)

S.Q.M. are especially very useful when it comes to detecting 

anomalous components, in which we have quality problems. 

Those components need to be thouroughly examined later

There are no standard or universal measures. Companies must 

themselves pick their measures and analize the results based 

on local knowledge and conditions

background image

Quality evaluation

Quality evaluation

Inspection of production process is the most commonly 

used quality evaluation method

Software measurements are used to accumulate 

quantitative data about programming and software 

development techniques. Acquired data can be used to 

make conclusions about quality of the product and 

process used

Quality management is an important part of the project, 

however – it must accompany the project budget; the 

lower the budget for quality management – the lower 

quality of the project

background image

Quality improvement process

Quality improvement process

The fundamental assumption of quality 

improvement process is that product development 

process is most crucial to the overall quality of 

the project

Improving the production process in order to avoid 

defects leads to better products

In case of innovative products, people are often 

more important than actual production process 

used

background image

Factors that impact quality

Factors that impact quality

In

In

f

f

luence of any of these factors depends on the 

luence of any of these factors depends on the 

scale and type of venture

scale and type of venture

Product Quality

Technology used

Team 

quality

Process 

quality

Expenses, time,

schedule

background image

Factors that impact quality

Factors that impact quality

Large ventures*

The main problems:

Integration

Management

Communication

* large - complicated systems that are composed of 

many separate subsystems built by many different 

teams, in which product development can take 

many years

background image

Factors that impact quality

Factors that impact quality

Small ventures

In case of small ventures, quality of the project team 

members is much more important than development 

process used.

Good team should deliver a good project

Inexperienced and incompetent team will, in most 

cases, not produce product of desired quality 

regardless of development technique used

Development technique especially important in case 

of small teams

Paperwork should never hold back the project

Since team members spend a lot of time on planning 

and programming, adequate tools will greatly 

increase their productivity

background image

Factors that impact quality

Factors that impact quality

Regardless of project size, too little budget and 

unrealistic expectations of project completion 

date will greatly affect or ruin the overall quality 

of the project

Fierce competition often casues companies to 

unnaturaly lower project costs in order to win 

contracts. This often leads to grave results as the 

project fails to have a suitable budget.

background image

Literature

Literature

Ian Sommerville- „Inżynieria oprogramowania” 
WNT 2003

Wikipedia

Internet sources


Document Outline