software process improvement in a changing environment dr. katalin balla technical university...
TRANSCRIPT
Software Process Improvement in a Changing Environment
Dr. Katalin Balla
Technical University Budapest
Department of Control Engineering and Information Technology
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
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
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
?
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
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
Dr. Katalin Balla 7 / 30
The quality framework
Process
Product
Resourc
e
Definition
Quality attribute
Metric
Objects
Characteristics
QMIM
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...
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
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
Dr. Katalin Balla 11 / 30
Elements of the QMIM model
Product
Technical
Process
PM
process
Definition
Quality attribute
Metric
QMIM
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dr. Katalin Balla 26 / 30
Project data-base• Contains all important elements of software quality
Case study
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
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
Dr. Katalin Balla 29 / 30
Dr. Katalin Balla 30 / 30