ch26 - process improvement
TRANSCRIPT
-
7/25/2019 Ch26 - Process Improvement
1/50
Chapter 26 Process improvement
Process for Process Improvement
1Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
2/50
Topics covered
The process improvement process
Process measurement
Process analysis
Process change The CMMI process improvement framework
2Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
3/50
Process improvement
Many software companies have turned to software
process improvement as a way of enhancing the quality
of their software, reducing costs or accelerating their
development processes.
Process improvement means understanding existing
processes and changing these processes to increase
product quality andor reduce costs and development
time.
3Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
4/50
Approaches to improvement
The process maturity approach, which focuses on
improving process and pro!ect management and
introducing good software engineering practice.
The level of process maturity reflects the extent to which good
technical and management practice has "een adopted inorgani#ational software development processes.
The agile approach, which focuses on iterative
development and the reduction of overheads in the
software process. The primary characteristics of agile methods are rapid delivery of
functionality and responsiveness to changing customer
requirements.
4Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
5/50
Process and product quality
Process quality and product quality are closely
related and process improvement "enefits arise "ecause
the quality of the product depends on its development
process.
$ good process is usually required to produce a good
product.
%or manufactured goods, process is the principal quality
determinant.
%or design&"ased activities, other factors are also
involved, especially the capa"ilities of the designers.
5Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
6/50
Factors affecting software product quality
6Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
7/50
uality factors
%or large pro!ects with 'average( capa"ilities, thedevelopment process determines product quality.
%or small pro!ects, the capa"ilities of the developers is
the main determinant. The development technology is particularly significant for
small pro!ects.
In all cases, if an unrealistic schedule is imposed then
product quality will suffer.
7Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
8/50
Process improvement process
There is no such thing as an 'ideal( or 'standard( software
process that is applica"le in all organi#ations or for all
software products of a particular type.
)ou will rarely "e successful in introducing process
improvements if you simply attempt to change the process toone that is used elsewhere.
)ou must always consider the local environment and culture and
how this may "e affected "y process change proposals.
*ach company has to develop its own process
depending on its si#e, the "ackground and skills of its
staff, the type of software "eing developed, customer
and market requirements, and the company culture.
8Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
9/50
Improvement attri!utes
)ou also have to consider what aspects of the process
that you want to improve.
The goal might "e to improve software quality and so you may
wish to introduce new process activities that change the way
software is developed and tested. )ou may "e interested in improving some attri"ute of the
process itself +such as development time, decreasing defects
etc.
)ou have to evaluate and decide which process
attri"utes are the most important to your company.
9Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
10/50
Process attri!utes
Processcharacteristic
"ey issues
-nderstanda"ility To what extent is the process explicitly defined and how easy is it tounderstand the process definition
/tandardi#ation To what extent is the process "ased on a standard generic processThis may "e important for some customers who requireconformance with a set of defined process standards. To what extentis the same process used in all parts of a company
0isi"ility 1o the process activities culminate in clear results, so that theprogress of the process is externally visi"le
Measura"ility 1oes the process include data collection or other activities that allowprocess or product characteristics to "e measured
/upporta"ility To what extent can software tools "e used to support the processactivities
10Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
11/50
Process attri!utes
Processcharacteristic
"ey issues
$ccepta"ility Is the defined process accepta"le to and usa"le "y the engineersresponsi"le for producing the software product
2elia"ility Is the process designed in such a way that process errors are avoidedor trapped "efore they result in product errors
2o"ustness Can the process continue in spite of unexpected pro"lems
Maintaina"ility Can the process evolve to reflect changing organi#ational requirementsor identified process improvements
2apidity 3ow fast can the process of delivering a system from a givenspecification "e completed
11Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
12/50
Process improvement stages
Process measurement
$ttri"utes of the current process are measured. These are a
"aseline for assessing improvements.
Process analysis
The current process is assessed and "ottlenecks and
weaknesses are identified.
Process change
Changes to the process that have "een identified during the
analysis are introduced.
12Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
13/50
The process improvement cycle
13Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
14/50
Process measurement
4herever possi"le, quantitative process data
should "e collected
3owever, where organi#ations do not have clearly defined
process standards this is very difficult as you don(t know what to
measure. $ process may have to "e defined "efore anymeasurement makes sense.
Process measurements should "e used to
assess process improvements
5ut this does not mean that measurements should drive theimprovements. The improvement driver should "e the
organi#ational o"!ectives.
14Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
15/50
Typical#$%ample Process metrics
Time taken for process activities to "e
completed
Calendar time or effort to complete an activity or process.
2esources required for processes or activities
Total effort in person&days.
6um"er of occurrences of a particular event
6um"er of defects discovered during process activities.
15Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
16/50
&oal'uestion'(etric Paradigm
7oals 4hat is the organi#ation trying to achieve The o"!ective of
process improvement is to satisfy these goals.
8uestions
8uestions a"out areas of uncertainty related to the goals. )ouneed process knowledge to derive these.
Metrics Measurements to "e collected to answer the questions.
16Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
17/50
&( questions
The 78M paradigm is used in process improvement to
help answer three critical questions9
4hy are we introducing process improvement
4hat information do we need to help identify and assess
improvements 4hat process and product measurements are required to
provide this information
17Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
18/50
The &( paradigm
18Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
19/50
Process analysis
The study of existing processes to understand the
relationships "etween parts of the process and to
compare them with other processes.
Process analysis and process measurement are
intertwined.
)ou need to carry out some analysis to know what to
measure, and, when making measurements, you
inevita"ly develop a deeper understanding of the
process "eing measured.
19Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
20/50
Process analysis o!)ectives
To understand the activities involved in the process and
the relationships "etween these activities.
To understand the relationships "etween the process
activities and the measurements that have "een made. To relate the specific process or processes that you are
analy#ing to compara"le processes elsewhere in the
organi#ation, or to ideali#ed or "est practice processes
of the same type.
20Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
21/50
Process analysis techniques
Pu"lished process models and process
standards
It is always "est to start process analysis with an existing model.
People then may extend and change this.
8uestionnaires and interviews Must "e carefully designed. Participants may tell you what they
think you want to hear.
*thnographic analysis
Involves assimilating process knowledge "y o"servation. 5estfor in&depth analysis of process fragments rather than for whole&
process understanding.
21Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
22/50
Aspects of process analysis
Processaspect
uestions
$doption andstandardi#ation
Is the process documented and standardi#ed across theorgani#ation If not, does this mean that any measurementsmade are specific only to a single process instance If processesare not standardi#ed, then changes to one process may not "e
transfera"le to compara"le processes elsewhere in the company./oftwareengineeringpractice
$re there known, good software engineering practices that are notincluded in the process 4hy are they not included 1oes thelack of these practices affect product characteristics, such as thenum"er of defects in a delivered software system
:rgani#ational
constraints
4hat are the organi#ational constraints that affect the process
design and the ways that the process is performed %or example,if the process involves dealing with classified material, there may"e activities in the process to check that classified information isnot included in any material due to "e released to externalorgani#ations. :rgani#ational constraints may mean that possi"leprocess changes cannot "e made.
22Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
23/50
Aspects of process analysis
Process aspect uestions
Communications 3ow are communications managed in the process 3ow docommunication issues relate to the process measurements that have"een made Communication pro"lems are a ma!or issue in manyprocesses and communication "ottlenecks are often the reasons for
pro!ect delays.Introspection Is the process reflective +i.e., do the actors involved in the process
explicitly think a"out and discuss the process and how it might "eimproved $re there mechanisms through which process actors canpropose process improvements
;earning 3ow do people !oining a development team learn a"out the softwareprocesses used 1oes the company have process manuals and
process training programs
Tool support 4hat aspects of the process are and aren(t supported "y softwaretools %or unsupported areas, are there tools that could "e deployedcost&effectively to provide support %or supported areas, are the toolseffective and efficient $re "etter tools availa"le
23Chapter 26 Process improvement
-
7/25/2019 Ch26 - Process Improvement
24/50
Process models
Process models are a good way of focusing attention on
the activities in a process and the information transfer
"etween these activities.
Process models do not have to "e formal or complete