30
Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information Technology

Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Embed Size (px)

Citation preview

Page 1: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Software Process Improvement in a Changing Environment

Dr. Katalin Balla

Technical University Budapest

Department of Control Engineering and Information Technology

Page 2: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 2 / 30

Contents

• About software quality– Why is it so important?

– What do we mean by it?

– Why is it difficult to deal with it?

• The QMIM framework– Goal, scope, elements

• Case study– Using QMIM in a software company

– Using QMIM in a changing environment

• Conclusion

Page 3: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 3 / 30

Why is software quality so important?

• A software doing something else than we wanted can cause considerable damage

• Errors in software can cause considerable damage

• Companies are forced to prove the good quality of their products

• Good quality is a condition of staying in the market

About software quality

Page 4: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 4 / 30

What do we mean by software quality?

• Q = Deliverables / Expectations• The software is good if it is …

… ready on time…cheap…doing what the user wants it to do…available 24 hours a day…user friendly, easy learnable…responding always to a user request in less than 5 seconds…delivered after a testing that had 99% code based coverage

and 100% requirements based coverage…easy to run in a new environment …

About software quality

?

Page 5: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 5 / 30

Why is it difficult to deal with software quality?

• It is not clear what we mean by it• It is not one, universally usable quality!• Quality profiles have to be defined taking into account

the characteristics of each particular case• Using models, standards, good approaches could help,

but…– Many approaches exist, different in many ways: terminology, basic

elements, structure…

– The different approaches emphasize different elements of software quality

– A quality manager will not find any aid or guidance in making the right choice among the models

About software quality

Page 6: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 6 / 30

An approach that could help• Define the important elements of software production!

• Understand the important elements and their interconnections!

• Understand existing, popular quality models and standards!

• Be able to connect quality models and standards to objects of software production!

• Analyse the business needs of your company and choose the most appropriate quality approaches!

• Instead of choosing one model, use more models in a synergic way, according to the specific needs of the company!

QMIM

Page 7: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 7 / 30

The quality framework

Process

Product

Resourc

e

Definition

Quality attribute

Metric

Objects

Characteristics

QMIM

Page 8: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 8 / 30

Different approaches towards software quality

ISO 9126

(Boehm, McCall)...

Process

Product

Resourc

e

Definition

Qualityattribute

Metric

Objects

CharacteristicsGQM

ISO 9001:2000CMM, SPICE

CMMIISO 15504TSP, PSP

Methodologies (RUP, Prince...), Life-cycle support

P-CMM, Weinberg...

Page 9: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 9 / 30

The QMIM framework

• Scope: give a solution to the problems mentioned before• Framework (not the n+1-th approach!)• Was developed during a case study • Helps identifying the important elements of software

quality • Helps finding one’s way among the existing software

quality models, standards, approaches• Supports software process improvement by following

small steps

QMIM

Page 10: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 10 / 30

Elements of the QMIM model

Generic project model

Project management model

Project type model (technical model)

Preparing the

project

Starting the

project

Executing the

project

Closing the

project

QMIM

Page 11: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 11 / 30

Elements of the QMIM model

Product

Technical

Process

PM

process

Definition

Quality attribute

Metric

QMIM

Page 12: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 12 / 30

Static aspects of QMIM

• Generic data model

Softwareitem

Softwaresystem

iscomposed of

is developed within

Producttypes

measured by

measured by

has

Processmetrics

PMmetrics

Productmetrics

Quality attributes

measuredby

Metrics

Documents,guidelines

haveattached

Developmentmethodology

Technicalprocesses

Project

follow a

runwithin

have

follow a

Technical processtypes

PMmethodology

haveattached

Documents,guidelines

PM

use

Resources(people, hw, sw)

Quality attributes

has

Quality attributes

Quality attributes

measured by

have

ispartof

is attached to

develops

is followed by

Resourcemetrics

QMIM

Page 13: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 13 / 30

Dynamic aspects of QMIM

• The framework helps in defining the company’s own process model

• Using QMIM– Differences can be is:

• The set of elements defined in the beginning• The degree of detail in the definitions • The chosen approaches to software quality • The characteristics of the organisation (maturity level,

business goals, priorities, magnitude of change accepted …)

QMIM

Page 14: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 14 / 30

Possible approaches of using QMIM:

PM processs

Product

Technical

process

Definition

Qualityattribute

Metric

Objects

CharacteristicsPM

process

Product

Technical

process

Definition

Qualityattribute

Metric

Objects

Characteristics

• Important: always keep in mind all elements!

Dynamic aspects of QMIM

QMIM

Page 15: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 15 / 30

Dynamic aspects of QMIM

• Improvement by QMIM

PM

processs

Produc

t Technical

process

Definition

Qualityattribute

Metric

Objects

Characteristics

PM

processs

Produc

t Technical process

Definition

Qualityattribute

Metric

Objects

Characteristics

QMIM

Page 16: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 16 / 30

Guidelines for using QMIM

• High level guidelines

Create (identify) a platform for the

quality management activities

Make a change

Consolidate the change

Add a low level data gathering program

Assess currentsituation T

o be

det

aile

d

QMIM

Page 17: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 17 / 30

Guidelines for using QMIM

• Middle level guidelines (1):

• Decide on what type of change to make?

Add a low level data gathering program

for the elements introduced

Consolidate the change

Make a change

What change

to make?PM TP

PComplete the QMIM

framework

Create (identify) a platform for the

quality management activities

Assess current situation

QMIM

Page 18: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 18 / 30

Guidelines for using QMIM

• Middle level guidelines(2): decide on what type of change to make?

Create (identify) a platform for the

quality management activities

Add data gathering program for the elements introduced

Use literature support to find appropriate metrics

Consolidate the change

Make a change

Maturity level< 2 = 2

>=3

Define PM Define TP

Assess the current situation Use CMM for assessment

Maturity level>= 4

Define PNo

Yes

QMIM

Page 19: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 19 / 30

Using QMIM in a software company

• IQSYS Ltd., Budapest , Hungary– One of the main representatives of software industry in Hungary

– Legal successor of IQSOFT

• Established in 1990

• Joined KFKI Holding in 2000

– Experienced a huge reorganisation in 2003: IQSOFT, Classys, part of ISYS and ICON formed IQSYS

– Medium sized, 150 employees

– Main activity types:

• software development

• high value-added software distribution

• system integration

Case study

Page 20: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 20 / 30

Using QMIM at IQSOFT

Softwareitem

Softwaresystem

is composed of

Producttypes

Process metrics

PMmetrics

Productmetrics

Quality attributes

measured by

Metrics

Documents, guidelines

have

att

ache

d

Developmentmethodology

Technicalprocesses

Project

follow a

run within

Technical process types

PM methodology

have attached

Documents, guidelines

PM

Resources(people, hw, sw)

Quality attributes

has

Quality attributes

Quality attributes

is p

art

of

is followed by

Resourcemetrics

Operational parts of thedatabase at IQSOFT

Case study

Page 21: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 21 / 30

SPI at IQSOFT

• IQSYS (IQSOFT) has a „fair” past in software quality management and SPI

– Start dealing with software quality (1993-1994)– Introducing a company-wide PM system, using PM2 methodology ( 1995 - mid 1997)– ISO 9001:1994-based QMS (mid 1997- April 1998)– Continuous process improvement (May 1998- 2001)– ISO 9001:2000-based QMS and SPI (May 2001-2003)– Informal CMM –based assessment (November 2001)

• Results of maturity assessments – Bootstrap assessments:

1994 1997SPU 2.25 3Process description 2 3.25Process control 1.5 3Project management 2.75 3.5Development model 2.5 3Detailed design& implementation 2.25 4

Case study

Page 22: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 22 / 30

Linking quality goals to business goalsFINANCIAL

CUSTOMER

PEOPLEIncrease product

Reliability2002

ISO 9126

ReduceDevelopment

Schedules2002,2003

Cosmic FFP

ReduceDevelopment Costs

(Rework)2002CMM

Profitability2001,2002,2003

CostReduction2002,2003

RevenueGrowth

2001,2002,2003

Guarantee productFunctionality

2002ISO9126

PROCESS

INFRASTRUCTURE& INNOVATION

Customer Value Proposition

Basic Requirements

Time2001

Cost2001

Reliability

Differentiators

Image , pre sales

2002Functionality Responsiveness

After salesSupport

2002,2003

Satisfaction2002CMM

Competence2002,2003

CMM

Software Process Improvement

ProcessEffectiveness

2002CMM

ProcessStability

2002CMM

ProcessEfficiency2002,2003

CMM

(Using representation suggested by Reo, D.: Balanced IT Scorecard. ESI Commercial Network presentation. 2000.)

Case study

Page 23: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 23 / 30

Product characteristics• Basic need: better estimates!

• Identifying product-types: banking, insurance, telecom

• Quality profiles by product type – using ISO 9126– Compliance, suitability– „Few errors and faults”– Banking, insurance software: integrity, reliability, correctness– Telecom : portability, testability, changeability

• Using Cosmic FFP

InternationalData base

(size, expenditure)

InternationalData base

(size, expenditure)

New systemspecification

Size estimation Using FFP

Expenditureof executed

projects

Expenditureof executed

projects

FFP size ofexecuted projects

FFP size ofexecuted projects

Products ofprevious projects

Products ofprevious projects

DevelopmentExpenditureEstimation

Function pointcounting

Products ofnew system

Expenditure of the new

system (estimated)

Size of new system in FFP

Actual expenditure of the new system

Comparing

Code complexity analysis

of executedprojects

Code complexity analysis

of executedprojects

Code sizeof

libraries used

Code sizeof

libraries used

Analysingcode complexity

New systemcode

complexity

Connections setween

code compl.and FFP size

Case study

Page 24: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 24 / 30

CMM-based SPI: gap analysis

ESI 2001Final Findings Presentation – IQSOFT - 3 December 2001 64 Confidential in Nature

IQSOFTIQSOFTvs. ISO 9001 vs. ISO 9001 Best Case Best Case KPA KPA ProfileProfile

ISO

Peer ReviewsIntergroup CoordinationSoftware Product EngineeringIntegrated Software ManagementTraining ProgramOrganisation Process DefinitionOrganisation Process Focus

Level 3 - Defined

ISO

Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking & oversightSoftware project planningRequirements management

Level 2 - Repeatable

ISO

Software Quality ManagementQuantitative Process Management

Level 4 - Managed

ISO

Process Change ManagementTechnology Change ManagementPeer Reviews

Level 5 - Optimising

xx

x

NA

Fully SatisfiedPartially SatisfiedNot SatisfiedNot ApplicableNot Rated

NA

X

Case study

Page 25: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 25 / 30

CMM-based SPI, 2002: successes and challenges• Dealing with the activities related to all KPA-s in the model were identified as internal need also

Management processesPhase SQA activities to project activitiesComplete project planning and tracking processesEstimation process Measurement. Planning and follow-up of software product size Resource management process Peer reviews Training Intergroup coordination process Software subcontractor management Requirements management procedure Configuration management procedure Project data-base

Life cycle, project models, technical guidelines

Project types Project life cycle Tailoring guidelines Methods and tools used in development „Other issues” (IQKM) Deriving processes for the concrete projects Software product management

Case study

Page 26: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 26 / 30

Project data-base• Contains all important elements of software quality

Case study

Page 27: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 27 / 30

Cohesive force of a SPI

• The CMM-based SPI project has been reorganised with the company

ÁKI P ST IK M TEM

MST EAD

HR QAFinance

IKK

Managing director

BITIQSYS Units

affected by CMM

• Current situation assessed on ISO 9001:2000 and, for the projects, on CMM basis• A common framework in the company: QMS• Common framework for project execution in Back Offices: PM framework• Differences in project type models, methodologies and tools: to be described by the different teams • The QMS of the new company was functional within 1 month

Former IQSOFT

Case study

Page 28: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 28 / 30

Conclusion

• Companies are forced to deal with software quality, if they want to stay in the market

• It is difficult to deal with software quality, because:– There are many elements to take into consideration– There are many approaches that cover different elements

• QMIM: a framework that could help in choosing the right direction for your SPI– Basic ideas:

• Connect your SPI to your business needs • Try to use more approaches in a synergic way

• A good understanding of the important elements and directions in software production can help in surviving also in a changing environment

Page 29: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 29 / 30

Page 30: Software Process Improvement in a Changing Environment Dr. Katalin Balla Technical University Budapest Department of Control Engineering and Information

Dr. Katalin Balla 30 / 30