CTIS 359 Principles of
Software Engineering
SOFTWARE PROCESS
IMPROVEMENT
Cüneyt Sevgi CTIS 359 Fall 07-08
Today’s Objectives•To explain the principles of software process improvement
•To explain how software process factors influence software quality and productivity
•To explain how to develop simple models of software processes
•To explain the notion of process capability and the CMMI process improvement model
•To intoduce ISO/IEC 15504 international standard for process assessment
Cüneyt Sevgi CTIS 359 Fall 07-08
Software Quality & Process
Improvement
Quality of the development
process Quality of the software
product
SPI (Software Process Improvement)
is one way of enhancing the quality of
the software
Cüneyt Sevgi CTIS 359 Fall 07-08
What is Process Improvement?•Understanding existing processes and introducing process changes to improve product quality (reduce the # of defects delivered)
•ALSO reduce costs, or accelerate schedules.
•Most process improvement work so far has focused on defect reduction. This reflects the increasing attention paid by industry to quality.
•However, other process (like products attributes in the
previous lectures) attributes can also be the focus of improvement.
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS ATTRIBUTES (or characteristics)
Pr oce ss
cha rac teristic
D escr iption
U nder standa bil ity To w hat ex ten t is the p roce ss exp lic itly defined an d how ea sy is it t o
under stan d t he p roc ess de fin ition?
V isib ility D o the process ac tiv it ies cu lmi na te in clea r results so that the p rogress
of the process is ex ter nally vis ib le?
Supportab il ity To w hat ex ten t can C A SE too ls be us ed to support the p roce ss
ac tiv it ies?
A cce p tab ility Is t he defin ed p roce ss acce p tab le to and us ab le by the enginee rs
responsible for p roduci ng the s oftw are p roduct?
Reliabi lity Is t he p roce ss designed in such a w ay that process errors are avoide d o r
trapped b efore the y result in p roduc t errors ?
Robus tness Can the proc ess cont inue in sp ite o f unex pect ed p rob le ms ?
M ain taina b ility Can the proc ess evolve to re flect cha nging org an is at ional requirem ents
or ide n tified p rocess imp rovem en ts?
Rapid ity H ow fast can the pro ce ss o f de liv ering a sys tem from a given
speci fic a tion be co mp le ted ?
Not possible to OPTIMIZE ALL attributes SIMULTANEOUSLY
e.g., Rapidity vs Visibility
Cüneyt Sevgi CTIS 359 Fall 07-08
Software Process Improvement
NOT simply adopt particular method,
tool, or model of process used elsewhere.
COMMON factors + LOCAL
ORGANIZATIONAL factors
Cüneyt Sevgi CTIS 359 Fall 07-08
Process Improvement Cycle
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS IMPROVEMENT
STAGES
•Process measurement
•Attributes of the current product or project are measured. These are a baseline for assessing improvements.
•Process analysis
•The current process is assessed and bottlenecksand weaknesses are identified.
•Process change
•Changes to the process that have been identified during the analysis are introduced
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS AND PRODUCT
QUALITY
•SPI is based on the assumption that “the quality of the product depends on its development process”.
•A good process is usually required to produce a good product.
•For manufacturing Industry , process is the principal quality determinant.
•W. E. Deming+ (others) introduced the idea of SPC*.
•SPC: “Reduce the # of product defects by PI until it is REPEATABLE.”
•For design-based activity, other factors are also involved especially the capabilities of the designers.
Cüneyt Sevgi CTIS 359 Fall 07-08
*SPC = Statistical Process Control
Deming+ = An American Engineer
Principal Product Quality Factors
In manufacturing, productprocess
relationship is obvious.
However, for software products, (like other
intellectual products e.g., book, films) quality
depends on its design.
Hence, 4 main factors affect product
quality
Cüneyt Sevgi CTIS 359 Fall 07-08
Principal Product Quality Factors (Cont.)
Product
quality
De velopment
technol o gy
Cost, time and
schedule
Process
quality
People
quality
Influence of these factors depend size and type of the project
Ex: For large projects
Ex: For small projects
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS IMPROVEMENT
STAGES
•Process measurement
•Process analysis
•Process change
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS MEASUREMENT
•Process Measurements: are QUANTATIVE data about the software process.•Process Measurements can be used to assess whether the efficiency of a process has been improved.•Personal process (PSP) small-scale•TSP
Cüneyt Sevgi CTIS 359 Fall 07-08
PREDICTOR AND CONTROL
METRICS
Process metric: average time required
to repair reported defectProduct metric: average length
of identifiers in a program
For SPI, you should
measure product quality
as well
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS MEASUREMENT
Wherever possible, quantitative process data should be collected.
◦ However, where organizations do not have clearly defined process standards this is very difficult as you don’t know what to measure. A process may have to be defined before any measurement is possible.
Process measurements should be used to assess process improvements.
◦ But this does not mean that measurements should drive the improvements. The improvement driver should be the organizational objectives.
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS MEASUREMENT
3 classes of process metric:
1. The time for a particular process to be
completed e.g., t spent for process X
2. The resources required for a particular
process e.g., travel costs, total effort
3. The # of occurrences of a particular
event e.g., # of defects discovered in the code
inspection
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS IMPROVEMENT
STAGES
•Process measurement
•Process analysis and
modeling
•Process change
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS ANALYSIS AND
MODELING
•Process analysis
•The study of existing processes to understand the relationships between parts of the process and to compare them with other processes.
•Process modeling
•The documentation of a process which records the tasks, the roles and the entities used;
•Process models may be presented from different perspectives.
•Simplifies views of software processes
•Activities
•Outputs, Inputs
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS IMPROVEMENT
STAGES
•Process measurement
•Process analysis and
modelling
•Process change
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS CHANGE
•Involves making modifications to existing processes.•This may involve:
•Introducing new practices, methods or tools;•Changing the ordering of processactivities;•Introducing or removing deliverables;•Introducing new roles or responsibilities.
•Change should be driven by measurable goals.
Cüneyt Sevgi CTIS 359 Fall 07-08
PROCESS CHANGE (Cont.)
•If you are a project manager/director, •you have to be sensitive to the feelings of the people in your team when introducing process change
•People feel threatened by change and concerned that
•lose their jobs
•unable to cope with the new process
•Solution: User involvement
Cüneyt Sevgi CTIS 359 Fall 07-08
CMM(I) PI FRAMEWORK
•Mid-1980s Software Engineering Instituteinitiated a study of ways assessing capabilities of the contractors
•Mid-1990s Capability Maturity Model
•Tremendous impact on SWE industry
•CMM the early 1990s.
•P-CMM
•SPICE (assesment+PI)
•Revised maturity framework (CMMI) introduced in 2001.
Cüneyt Sevgi CTIS 359 Fall 07-08
CMM(I) PI FRAMEWORK (Cont.)
•CMM the early 1990s.
•Scope: Software and Systems Engineering
•P-CMM
•CMM + People
•CMMI introduced in 2001
•Integrates other engineering models
•2 Instantiations•Staged
•Continuous
Cüneyt Sevgi CTIS 359 Fall 07-08
CMMI
Complex but simlified version
1. Process Areas (4 Groups of 24 PAs)
2. Goals: desirable state
3. Practices: ways of achieving goals
Cüneyt Sevgi CTIS 359 Fall 07-08
CMMI PROCESS AREAS 1&2
Process management Organisational process definition
Organisational process focus
Organisational training
Organisational process performance
Organisational innovation and deployment
Project management Project planning
Project monitoring and control
Supplier agreement management
Integrated project management
Risk management
Integrated teaming
Quantitative project management
Cüneyt Sevgi CTIS 359 Fall 07-08
CMMI PROCESS AREAS 3&4
Engineering Requirements management
Requirements development
Technical solution
Product integration
Verification
Validation
Support Configuration management
Process and product quality management
Measurement and analysis
Decision analysis and resolution
Organisational environment for integration
Causal analysis and resolution
Cüneyt Sevgi CTIS 359 Fall 07-08
CMMI Goals Example
Cüneyt Sevgi CTIS 359 Fall 07-08
G oa l P roce ss area
Co rrec tive ac tions ar e m anag ed to
closure when the p rojec t’ s pe rfo rm ance
or resu lts dev iate sign ifi can tly from the
plan .
Spec ifi c go al in Pr ojec t
Mon it oring and Con trol
Ac tua l pe rfo rm ance and prog ress of t he
projec t is m on it or ed ag ain st the proj ect
plan .
Spec ifi c go al in p rojec t
m on it or ing and cont rol
T he requ ir em en ts are an al ysed and
va li da ted and a de finiti on o f the requ ired
func tiona li ty is deve loped .
Spec ifi c go al in
requ irem ents
deve lop m en t.
Roo t cau ses of de fec ts and other
prob lem s ar e sys tem atica ll y de term ined.
Spec ifi c go al in c ausa l
ana lysis and resolu tion .
T he p roce ss is in stit ut ion a lis ed as a
de fined p roce ss.
Gene ric goa l
CMMI Practices Example
Cüneyt Sevgi CTIS 359 Fall 07-08
Pr actice Ass oc iated goal
A na lyse de rived requ irem en ts to ens ure tha t the y are
nece ssary an d su ffic ien t
V al ida te req u irem ents t o en su re that the r esulting
product w ill perf orm as inten ded in the us er ’s
environm ent us ing m ultip le tec hniques as
appropriat e .
The req u irem ents are ana lyse d a nd
vali dated an d a defin it ion o f the
req u ired func tiona li ty is d ev e lo ped .
Sel ect the de fec ts and other p roblems for anal ysis.
Perform cau sa l a nalysis of s elect ed defect s an d o ther
problems and propos e act ions to address them .
Root ca us es of de fec ts and o ther
problems are sys tem atica lly de term ined .
Establ is h an d m ainta in an o rganisa tiona l polic y for
p la nning an d p erformi ng the requirem ents
deve lopm en t p roce ss .
Ass ig n r esponsibili ty an d au thority fo r perfor m ing
the p roce ss, de velop in g t he w ork p roduct s an d
providing the service s o f the req u irem ents
deve lopm en t p roce ss .
The p ro ce ss is ins titutiona lised as a
def ine d p roce ss .
CMMI (6 scales)
Not performed: goal goals associated with PA not satisfied
Performed: goal PA satisfied Managed: Documented plan resource
man. and process monitoring Defined: Measurements must be
collected and used for future projects Quantitatively Managed: Use SPC and
quantitative methods. Optimizing: Product and process
metrics are used for SPI
Cüneyt Sevgi CTIS 359 Fall 07-08
STAGED CMMI MODEL•Comparable with the software CMM.•5 levels•Each maturity level has process areas and goals. •E.g., The process area associated with the managed level include:
•Requirements management;•Project planning;•Project monitoring and control;•Supplier agreement management;•Measurement and analysis;•Process and product quality assurance.•Configuration Management
Cüneyt Sevgi CTIS 359 Fall 07-08
CMM STAGES
•Initial•Essentially uncontrolled
•Repeatable•Product management procedures defined and used
•Defined•Process management procedures and strategies defined and used
•Managed•Quality management strategies defined and used
•Optimising•Process improvement strategies defined and used
Cüneyt Sevgi CTIS 359 Fall 07-08
STAGED CMMI MODEL
Cüneyt Sevgi CTIS 359 Fall 07-08
CONTINUOUS CMMI MODEL
•No discerete levels for organization
•This is a finer-grain model that considers individual or groups of practices and assesses their use.
•The maturity assessment is not a single value but is a set of values showing the organizations maturity in each area.
•The CMMI rates each process area from levels 1 to 6.
•The advantage of a continuous approach is that organizations can pick and choose process areas to improve according to their local needs.
Cüneyt Sevgi CTIS 359 Fall 07-08
CONTINUOUS CMMI MODEL(Cont.)
Cüneyt Sevgi CTIS 359 Fall 07-08
Project monitor ing
and control
Supplier ag reement
management
Risk
management
Configuration
management
Requirements
management
Verificati on
Validat ion
1 2 3 4 5
ISO/IEC 15504•ISO 15504 was initiated in 1993 as the SPICE (Software Process Improvement and Capability determination) project.
•The project then moved into the International Organization for Standardization and the International Electro technical Commission (ISO/IEC)
•The principle of ISO/IEC 15504 is that the assessments of software process capability will yield results which are comparable.
•The goal of 15504 is to create a world standard that can be used to link assessment results to improvement actions.
•It allows different assessments models and methods (like CMMI) to be used.
Cüneyt Sevgi CTIS 359 Fall 07-08
KEY POINTS•Process improvement involves process analysis, standardization, measurement, and change.•Process models include descriptions of activities, sub-processes, and deliverables.•The CMMI process maturity model is an integrated process improvement model that supports both staged and continuous process improvement.
Cüneyt Sevgi CTIS 359 Fall 07-08