Process Improvement Understanding, Modelling and Improving the Software Process Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process improvement Understanding existing processes Introducing process changes to achieve organisational objectives which are usually focused on quality improvement, cost reduction and schedule acceleration Most process improvement work so far has focused on defect reduction. Reflects increasing attention paid by industry to quality Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 2 Process improvement stages Process analysis Model and analyse (quantitatively if possible) existing processes Improvement identification Identify quality, cost or schedule bottlenecks Process change introduction Modify the process to remove identified bottlenecks Process change training Train staff involved in new process proposals Change tuning Evolve and improve process improvements Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 3
The process improvement process Analyse process Identify improvements Introduce process change Train engineers Tune process changes Process model Process change plan Training plan Feedback on improvements Revised process model Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 4 Process and product quality Process quality and product quality are closely related A good process is usually required to produce a good product Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 5 Principal product quality factors Development technology Process quality Product quality People quality Cost, time and schedule Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 6
Process analysis and modelling Study an existing process to understand its activities Produce an abstract model of the process. You should normally represent this graphically. Several different views (e.g. activities, deliverables, etc.) may be required Analyse the model to discover process problems. Involves discussing activities with stakeholders Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 7 Software process model elements Activities Has clearly defined objective, entry and exit conditions. Often carried out by a single person. Processes Set of activities with some coherence and an agreed objective. Deliverables Tangible output of an activity. Usually a document. Conditions Predicate which must hold either before or after a process or activity. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 8 Software process model elements Roles A bounded area of responsibility. Examples are configuration manager, test engineer, etc. Exceptions An event which requires some special handling and is not processed by normal activities. Usually handled as they arise without a pre-planned strategy. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 9
Process measurement Wherever possible, quantitative process data should be collected However, where organisations 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 Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 10 Classes of process measurement Time taken for process activities to be completed E.g. Calendar time or effort to complete an activity or process Resources required for processes or activities E.g. Total effort in person-days Number of occurrences of a particular event E.g. Number of defects discovered Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 11 Goal-Question-Metric Paradigm Goals What is the organisation trying to achieve? The objective of process improvement is to satisfy these goals Questions Questions about areas of uncertainty related to the goals. You need process knowledge to derive these Metrics Measurements to be collected to answer the questions Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 12
ISO 9000 Document what are you doing Do what you have documented to do You must have a set of documents describing Organization Documentation Management (similar to configuration management) Development and maintenance process infrastructure support ISO 9000 certification Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 13 ISO 9000 Can be applied on any type of organization ISO-9000-3 - is ISO 9000 for the software production Specific issues for software development and maintenance Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 14 CMM - Process model Capability Maturity Model US Defense Dept. funded institute associated with Carnegie Mellon -Software engineering Institute (SEI) Mission is to promote software technology transfer particularly to defense contractors Maturity model proposed in mid-1980s, refined in early 1990s. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 15
The SEI process maturity model Level 5 Optimizing Level 4 Level 3 Defined Level 2 Level 1 Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 16 Maturity model levels Essentially uncontrolled Product management procedures defined and used Defined Process management procedures and strategies defined and used Quality management strategies defined and used Optimising Process improvement strategies defined and used Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 17 Key process areas Optimizing Process change management Technology change management Defect prevention Software quality management Quantitative process management Defined Peer reviews Interg ro up coo rdin atio n Software product engineering Integrated so ftw are m anag em ent Training p rog ramm e Organization process definition Organization process focus Software configuration management Softw are quality assurance S o ftw a re s ub c on tra c t m a na g em e n t Softw are project tracking and oversight Software project planning Requirem ents m anagem ent Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ##
Key process areas - level 2 Software Configuration Management Software Quality Assurance Software project planning Requirements management Software Project tracing and oversight Software subcontract management Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## Key process areas - main characteristics Optimizing Process change management Technology change management Software quality management Peer reviews Training program Organization process focus Softw are configuration m anagem ent Softw are quality assurance Softw are subcontract m anagem ent Softw are project tracking and oversight Software project planning Requirem ents m anagem ent Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## SEI model problems Focuses on project management rather than product development. Ignores use of technologies such as rapid prototyping. Does not incorporate risk analysis as a key process area No marketing issues Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 21