Process improvement
Understanding existing processes and
introducing process changes
Process Improvement • To improve product quality, 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 positive process attributes
can also be the focus of improvement
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 1/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 2/16
Process attributes Process improvement stages
Process
characteristic
Description Process measurement
Understandability To what extent is the process explicitly defined and how easy is it t o • Attributes of the process are measured
understand the process definition?
Visibility Do the process activities culminate in clear results so that the progress
• These are a baseline for assessing improvements
of the process is externally visible?
Supportability To what extent can CASE tools be used to support the process
Process analysis
activities?
• The process is assessed
Acceptability Is t he defined process acceptable to and usable by the engineers
responsible for producing the software product?
• Bottlenecks and weaknesses are identified
Reliability Is the process designed in such a way that process errors are avoided or
trapped before they result in product errors?
Process change
Robustness Can the process continue in spite of unexpected problems?
Maintainability Can the process evolve to reflect changing organisational requirements • Changes to the process that have been
or identified process improvements?
identified during the analysis are introduced
Rapidity How fast can the process of delivering a sys tem from a given
specification be completed?
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 3/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 4/16
Quality factors Process choice
For large projects with ‘average’ capabilities, Process used should depend on the type of
the development process determines product which is being developed
product quality • For large systems, management is usually the principal
problem so you need a strictly managed process;
For small projects, the capabilities of the • For smaller systems, more informality is possible
developers form the main determinant
There is no uniformly applicable process which
The development technology is particularly should be standardised within an organisation
significant for small projects • High costs may be incurred if you force an inappropriate
In all cases, if an unrealistic schedule is process on a development team
imposed then product quality will suffer • Inappropriate methods can also increase costs and lead
to reduced quality
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 5/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 6/16
Process measurement Classes of process measurement
Wherever possible, quantitative process data Time taken for process activities to be
should be collected
• However, where organisations do not have clearly defined
completed
process standards this is very difficult as you don’t know • E.g.: Calendar time or effort to complete an
what to measure activity or process
• A process may have to be defined before any measurement
is possible Resources required for processes or
Process measurements should be used to activities
assess process improvements
• But it is not process measurements that should drive the
• E.g.: Total effort in person-days
improvements Number of occurrences of a particular event
• The improvement driver should be the organizational
objectives • E.g.: Number of defects discovered
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 7/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 8/16
Goal-Question-Metric Paradigm Process analysis and modelling – 1
Goals Process analysis
• What is the organisation trying to achieve? • The study of existing processes to understand
• The objective of process improvement is to satisfy the relationships between parts of the process
these goals
and to compare them with other processes
Questions
• Questions about areas of uncertainty related to
Process modelling
the goals • The documentation of a process which records
• You need process knowledge to derive these the tasks, the roles and the entities used;
Metrics • Process models may be presented from
• Measurements to be collected to answer the different perspectives
questions
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 9/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 10/16
Process analysis and modelling – 2 Process analysis techniques
Study an existing process to understand its Reference to published process models and process
activities standards
• Always best to start process analysis with an existing
Produce an abstract model of the process model
• You should normally represent this graphically • People then may extend and change this
• Several different views may be required Questionnaires and interviews
• E.g.: activities, deliverables, etc. • Must be carefully designed
• Participants may tell you what they think you want to hear
Analyse model to uncover process problems Ethnographic analysis
• This involves discussing process activities with • Involves assimilating process knowledge by observation
stakeholders and discovering problems and • Best for in-depth analysis of process fragments rather
possible process changes than for whole-process understanding
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 11/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 12/16
Process change The process change process
Involves making modifications to existing
processes
This may involve
• Introducing new practices, methods or
processes
• Changing the ordering of process activities
• Introducing or removing deliverables
• Introducing new roles or responsibilities
Change should be driven by measurable
goals
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 13/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 14/16
Process change stages Key points
Process improvement involves process analysis,
Improvement identification standardisation, measurement and change
Improvement prioritization Processes can be classified as informal, managed,
Process change introduction methodical and improving
• This classification can be used to identify process tool
Process change training support
Change tuning The process improvement cycle involves process
measurement, process analysis and process change
Process measurement should be used to answer
specific process questions, based on organisational
improvement goals
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 15/16 ©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 28 Slide 16/16