Software Process Improvement
Software Process Improvement
            How software process can be improved
                 to produce better software?
15-May-24           Made by Dr. Pawan Kumar Singh   1
                  Software Process Improvement
                         What it is really?
        Process Improvement is a series of actions taken to
        identify, analyze and improve existing processes within an
        organization to meet new goals and objectives.
        Software Process Improvement is about understanding the
        existing software development processes and changing
        these processes to improve software product quality
        and/or reduce costs and development time.
        As we know, there is a strong relationship between the
        quality of the developed software product and the quality of
        the software process used to create that product. By
        improving the software process, it is hoped that the related
        product quality is correspondingly enhanced.
15-May-24                Made by Dr. Pawan Kumar Singh                 2
                    Software Process Improvement
            Process Attributes or Process Characteristics
        Like product attributes, there are process attributes also.
        These process attributes are also known as process
        characteristics. A list of process characteristics and their
        descriptions are given below.
        1. Understandability : To what extent is the process
        explicitly defined and how easy it is to understand the
        process definition?
        2. Visibility : Do the process activities culminate in clear
        results so that the progress of the process is externally
        visible?
        3. Supportability : To what extent can the process
        activities be supported by CASE tools?
15-May-24                 Made by Dr. Pawan Kumar Singh                3
                  Software Process Improvement
   Process Attributes or Process Characteristics (contd.)
        4. Acceptability : Is the defined process acceptable to and
        usable by the engineers responsible for producing the
        product?
        5. Reliability : Is the process designed in such a way that
        process errors are avoided and trapped before they result
        in product errors?
        6. Robustness : Can the process continue in spite of
        unexpected problems?
        7. Maintainability : Can the process evolve to reflect
        changing organizational requirements or identified process
        improvement?
        8. Rapidity : How fast the process of delivering a system
        from a given specification be completed?
15-May-24                Made by Dr. Pawan Kumar Singh                4
                   Software Process Improvement
   Process Attributes or Process Characteristics (contd.)
        Once these process attributes ( some or all ) are improved
        ( optimized ), the corresponding process improvement
        takes place. But it is not possible to make process
        improvements that optimizes all process attributes
        simultaneously. For example, it is not possible to optimize
        both ‘Rapidity’ and the ‘Visibility’ at the same time. Making
        a process visible means producing documents at regular
        interval. This will slow down the process thus reducing
        ‘Rapidity’.
15-May-24                Made by Dr. Pawan Kumar Singh                  5
                   Software Process Improvement
              The ‘Process Improvement’ Process
        The process of ‘Process Improvement’ is a long term, iterative
        process. Successful process improvement requires
        organizational commitment from the top along with supported
        budget. A diagram showing the ‘Process Improvement’ process
        is shown below.
                                               Introduce
                                           Process Change
      Analyze          Identify                                 Tune Process
      Process        Improvement                                  Change
                                               Train
                                             Engineers
    Process        Process         Training          Feedbacks On      Revised
     Model       Change Plan         Plan             Improvement   Process Model
15-May-24                 Made by Dr. Pawan Kumar Singh                         6
                   Software Process Improvement
            The ‘Process Improvement’ Process (contd.)
        In the previous diagram, the rounded rectangles are the
        different phases of process improvement and the usual
        rectangles are the resulted documentation out of that
        phase. The dotted arrows are shown to show the usage
        and the outcome of documentations related with different
        phases. The description of various phases are given
        below.
        1. Process Analysis : The process analysis involves
        examining the existing process and producing a Process
        Model to document and understand the process.
15-May-24               Made by Dr. Pawan Kumar Singh              7
                   Software Process Improvement
            The ‘Process Improvement’ Process (contd.)
        2. Improvement Identification : This phase is concerned
        with the identification of the process improvement area.
        The process attributes or the process characteristics,
        which are in need of improvements, absolutely depends
        upon the quality focus and organizational priorities.
        The documentations which get generated in this phase are
        Process Change Plan and the Training Plan. The process
        change plan outlines, where all places the improvements
        need to be done. The training plan outlines, what all
        trainings need to be given and to whom it should be given.
15-May-24               Made by Dr. Pawan Kumar Singh                8
                   Software Process Improvement
            The ‘Process Improvement’ Process (contd.)
        3. Process Change Introduction : This phase is
        concerned with the introduction of new procedures,
        methods and tools into place and integrating them with
        other process activities. The feedbacks are also collected
        as and when this change introduction is made operational.
        4. Process Change Training : All the relevant
        professional need to be trained on this new changes ( e.g.,
        procedures, methods, tools etc. ). The feedbacks are also
        collected from the relevant professional, when they are
        being trained.
15-May-24               Made by Dr. Pawan Kumar Singh                 9
                   Software Process Improvement
            The ‘Process Improvement’ Process (contd.)
        5. Change Tuning : The proposed process change will
        never be completely effective as soon as they are
        introduced. There needs to be a tuning phase where minor
        problems are discovered, modifications to the process are
        proposed and are introduced.
        The output of this phase is the revised process model
        which, once again will be used as a base for process
        analysis for further process improvement activity.
15-May-24               Made by Dr. Pawan Kumar Singh               10
              Software Process Improvement
                            Home Task
            1. Describe the process improvement process.
15-May-24            Made by Dr. Pawan Kumar Singh         11