Ch26 - Process Improvement

Embed Size (px)

Citation preview

  • 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