CH 25
CH 25
● Understanding, Modelling and
Improving the Software Process
Inp u tspeM
lcifateionP
o d u T
e
s
m
o
dt
u
l
roces MS
i
g
n
e
rd
c of
rd t
e
s
oduale ts
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 15
TE
M
O R
sfD
m iC S
p
froUe T
a
thm cd
ieLDEmATT
o
a dE uS lP
ne
T R
HE P
AA RR N AET
I
O
N
P
r
e
c
s
S
P
Rp
a
r
e
t
o
d
i
f
c
E
P
A
Rs
d
a
n
g
o
a
n
A
T
I t
O N Su
b
m
i
t
f
o
re
s
t
v
i
wdat R
e
vi
w
t
es
d
at
c k o u t m o d u le R
e
a
d
n
d und ers
t and P
r
e pare
t s
ha
r
n
e
s C
om
p
i
le
t
s
Activities in module testing
T
ES a
T
Inw
c n
o rE pg
X m
En
a f
e
C
tei
g
Um r
s
T
o a
y
I
d t
Oui
o
N
ln
m
e m
o
R
u
n
l
e
a
p
r
o i
vet
d tf
e
s ce Re
corf
do
m
t
es o
rd
eu
sl
u
l
t
s h
a
r
n
iT
tE
WS T h
toesfridtnR
eg EsP
srinp Oh R r n
T e
I s
N G om u l f g i on
cvoelrut doinpgrm
©Ian Sommerville 1995
o
ebdtaum
ilesSu
b m
ifor apt rep
o
rvalt reS
sublm
sito eC
sM
t
Software Engineering, 5th edition. Chapter 31. Slide ##
Process exceptions
● Software processes are complex and process
models cannot effectively represent how to
handle exceptions
• Several key people becoming ill just before a critical review
• A complete failure of a communication processor so that no e
mail is available for several days
• Organisational reorganisation
• A need to respond to an unanticipated request for new
proposals
● Under these circumstances, the model is
suspended and managers use their initiative to
deal with the exception
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 17
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
L
eInvitla 1L
e
v
l
2
R
p
a
t
be
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 22
Maturity model levels
● Initial
• Essentially uncontrolled
● Repeatable
• Product management procedures defined and used
● Defined
• Process management procedures and strategies defined
and used
● Managed
• Quality management strategies defined and used
● Optimising
• Process improvement strategies defined and used
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 23
M a n g e P
T
D
d r of O
c
he
nsp
o
tt
i
m
z
c
h
a
n
l
g
y
p
r
e
vi
n
g
e
m
c
h
t
i
oa
n
g
e
g
e
m
a
gn
t
e
m
n
t
Key process areas
iP
eIS
rT
OnotragfeiwD
g e f
ov un e
w
p
nratzgea dp d S
Q
s ou f
a
ctirsonogf ptuw t
w
n
rard i
icm
n r
e
a
at
toc eesm q
u
v
igo
n a pl i
rtoy
m
cesan
g
e
m
a
nm
n
g
e
mt
n
t
e
r doecafiunsintm
goent
SR
o
fS
tR
w e
p
a
roefqtuw
iarm at
cee q
o b
n
fspnu le
irbatsjlceo
gu
rm a
ttyt pnrslaciguokern im
m a n g e
cng eatnd oversightm n t
In
ital
SEI model problems
● It focuses on project management rather than
product development.
● It ignores the use of technologies such as rapid
prototyping.
● It does not incorporate risk analysis as a key
process area
● It does not define its domain of applicability
ieInsttorenrbvuiaetierw
s A
r
e
I
n
t s
en
p
ra
vl
o
iy
s
e
we C
l
a
r
i
r
e
s
p
o
n
I
n
t
e
r
v
if
y
s
e
e
w
fB o
rarnide f m cgaingo n p
ers asPro j c
resm m a
net Wn g
e
r
s g rs
rite rport m
a
gr
s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 28
Process classification
● Informal
• No detailed process model. Development team chose their
own way of working
● Managed
• Defined process model which drives the development
process
● Methodical
• Processes supported by some development method such
as HOOD
● Supported
• Processes supported by automated CASE tools
eptrhoedsical R
©Ian Sommerville 2000
W e
laepnigcau
n de
rtio stm
o d
ayienm
s
Software Engineering, 6th edition. Chapter 25 Slide 30
Process choice
● Process used should depend on type of
product which is being developed
• For large systems, management is usually the principal problem
so you need a strictly managed process. For smaller systems,
more informality is possible.
● There is no uniformly applicable process which
should be standardised within an organisation
• High costs may be incurred if you force an inappropriate
process on a development team
Ma
n
p
r
o
cg
e
d
s
P
rantogjelm
astionm M
e
t
h
p
r
cstnw
A
n
aod oedsic a l I
m
lrkeybsigc ahnedsS p ro
cevi
sng
petcoialszed
G etonlrsicm
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 32
Key points
● Process improvement involves process analysis,
standardisation, measurement and change
● Process models include descriptions of tasks,
activities, roles, exceptions, communications,
deliverables and other processes
● Measurement should be used to answer specific
questions about the software process used
● The three types of process metrics which can be
collected are time metrics, resource utilisation metrics
and event metrics
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 25 Slide 33
Key points
● The SEI model classifies software processes as initial,
repeatable, defined, managed and optimising. It
identifies key processes which should be used at each of
these levels
● The SEI model is appropriate for large systems
developed by large teams of engineers. It cannot be
applied without modification in other situations
● Processes can be classified as informal, managed,
methodical and improving. This classification can be
used to identify process tool support