Transcript ch04

Chapter 4
Project Management
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 1
Project management

Organising, planning and scheduling
software projects
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 2
Objectives




To introduce software project management and
to describe its distinctive characteristics
To discuss project planning and the planning
process
To show how graphical schedule representations
are used by project management
To discuss the notion of risks and the risk
management process
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 3
Topics covered




Management activities
Project planning
Project scheduling
Risk management
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 4
Software project management


Concerned with activities involved in ensuring
that software is delivered on time and on
schedule and in accordance with the
requirements of the organisations developing
and procuring the software
Project management is needed because
software development is always subject to
budget and schedule constraints that are set by
the organisation developing the software
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 5
Software management distinctions





The product is intangible
The product is uniquely flexible
Software engineering is not recognized as an
engineering discipline with the sane status as
mechanical, electrical engineering, etc.
The software development process is not
standardised
Many software projects are 'one-off' projects
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 6
Management activities






Proposal writing
Project planning and scheduling
Project costing
Project monitoring and reviews
Personnel selection and evaluation
Report writing and presentations
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 7
Management commonalities



These activities are not peculiar to software
management
Many techniques of engineering project
management are equally applicable to software
project management
Technically complex engineering systems tend to
suffer from the same problems as software
systems
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 8
Project staffing

May not be possible to appoint the ideal people
to work on a project
•
•
•

Project budget may not allow for the use of highly-paid staff
Staff with the appropriate experience may not be available
An organisation may wish to develop employee skills on a
software project
Managers have to work within these constraints
especially when (as is currently the case) there
is an international shortage of skilled IT staff
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 9
Project planning



Probably the most time-consuming project
management activity
Continuous activity from initial concept through
to system delivery. Plans must be regularly
revised as new information becomes available
Various different types of plan may be developed
to support the main software project plan that is
concerned with schedule and budget
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 10
Types of project plan
Plan
Quality plan
Validation plan
Configuration
management plan
Maintenance plan
Staff development plan.
©Ian Sommerville 2000
Description
Describes the quality
procedures and
standards that will be used in a project.
Describes
the approach, resources and
schedule used for system validation.
Describes the configuration management
procedures and structures to be used.
Predicts the
maintenance requirements of
the system, maintenance costs and
effort
required.
Describes how the skills and
experience of
the project team
members will be
developed.
Software Engineering, 6th edition. Chapter 4
Slide 11
Project planning process
Esta blish the p ro je ct co nstrain ts
Make initia l a ss ess men ts of the pro ject pa rame ters
Define project mile sto nes an d de liverable s
while proje ct h as n ot be en co mp leted or ca ncelle d
Dra w u p proje ct sch ed ule
Initiate activitie s accordin g to s ch ed ule
Wait ( fo r a wh ile )
Revie w p roje ct p ro gress
Revis e es tima tes o f project pa ra me ters
Upda te the project sch edu le
Re-neg otiate project cons tra ints a nd d eliverab les
if ( p ro blems aris e ) then
Initiate te chnica l revie w a nd p os sible revision
end if
end loop
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
loop
Slide 12
Project plan structure







Introduction
Project organisation
Risk analysis
Hardware and software resource requirements
Work breakdown
Project schedule
Monitoring and reporting mechanisms
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 13
Activity organization




Activities in a project should be organised to
produce tangible outputs for management to
judge progress
Milestones are the end-point of a process activity
Deliverables are project results delivered to
customers
The waterfall process allows for the
straightforward definition of progress milestones
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 14
Milestones in the RE process
ACT IVIT I E S
F easi bi li ty
s tu dy
Requ ir em ent s
anal y si s
P ro toty pe
d evelo pm en t
Des ig n
s tu dy
Requ ir em ent s
s pecifi cat io n
F easi bi li ty
repo rt
Requ ir em ent s
d efi ni ti on
Evalu ati on
report
Archi tect ural
d es ig n
Requ ir em ent s
s pecifi cat io n
M I L ES T O N E S
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 15
Project scheduling




Split project into tasks and estimate time and
resources required to complete each task
Organize tasks concurrently to make optimal
use of workforce
Minimize task dependencies to avoid delays
caused by one task waiting for another to
complete
Dependent on project managers intuition and
experience
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 16
The project scheduling
process
Iden ti fy
acti vi ti es
Iden ti fy acti vi ty
d ep end enci es
Es ti m at e resou rces
for acti vi ti es
Al l ocate peo pl e
t o act iv it ies
S o ftw are
requ irem en ts
©Ian Sommerville 2000
C reate pro ject
chart s
Act iv it y chart s
and b ar chart s
Software Engineering, 6th edition. Chapter 4
Slide 17
Scheduling problems




Estimating the difficulty of problems and hence
the cost of developing a solution is hard
Productivity is not proportional to the number of
people working on a task
Adding people to a late project makes it later
because of communication overheads
The unexpected always happens. Always allow
contingency in planning
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 18
Bar charts and activity
networks




Graphical notations used to illustrate the project
schedule
Show project breakdown into tasks. Tasks
should not be too small. They should take about
a week or two
Activity charts show task dependencies and the
the critical path
Bar charts show schedule against calendar time
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 19
Task durations and
dependencies
T ask
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
©Ian Sommerville 2000
D ur atio n (da ys)
8
15
15
10
10
5
20
25
15
15
7
10
D ep en de nc i es
T1 M
( 1)
T2, T
4 (M 2)
T1, T
2 (M 3)
T1 M
( 1)
T4 M
( 5)
T3, T
6 (M 4)
T5, T
7 (M 7)
T9 M
( 6)
T 1 1 (M 8)
Software Engineering, 6th edition. Chapter 4
Slide 20
Activity network
1 5 d ay s
1 4/ 7/ 99
M1
8 day s
T9
T1
2 5/ 7/ 99
4/ 7/ 99
s tart
1 5 d ay s
T3
5 d ays
4/ 8/ 99
2 5/ 8/ 99
T6
M4
M6
M3
7 day s
2 0 d ay s
1 5 d ay s
T7
T2
2 5/ 7/ 99
1 0 d ay s
M2
T4
T1 1
1 0 d ay s
M7
T5
5/ 9/ 99
1 1/ 8/ 99
T1 0
1 8/ 7/ 99
M8
1 5 d ay s
10 days
T1 2
M5
2 5 d ay s
T8
F i ni sh
1 9/ 9/ 99
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 21
Activity timeline
4 /7
11 /7
1 8 /7
2 5 /7
1 /8
8 /8
1 5 /8
2 2 /8
2 9 /8
5 /9
1 2 /9
1 9 /9
St art
T4
T1
T2
M1
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T 10
M6
T 11
M8
T 12
Finish
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 22
Staff allocation
4 /7
Fred
11 /7
1 8/ 7
2 5/
1 /8
8 /8
1 5/ 8
22 /8
29 /8
5 /9
1 2/ 9
19 /9
T4
T8
T1 1
T1 2
Jane
T1
T3
T9
Anne
T2
T6
Jim
M ary
©Ian Sommerville 2000
T1 0
T7
T5
Software Engineering, 6th edition. Chapter 4
Slide 23
Risk management


Risk management is concerned with identifying
risks and drawing up plans to minimise their
effect on a project.
A risk is a probability that some adverse
circumstance will occur.
•
•
•
Project risks affect schedule or resources
Product risks affect the quality or performance of the software
being developed
Business risks affect the organisation developing or procuring
the software
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 24
Software risks
R isk
S t aff tu rn ov er
R isk t yp e
P ro je c t
M a n ag em en t hcan g e
P ro je c t
H a dr w a er un av a lia bil tiy
P ro je c t
R e qu irem e nts ch a ng e
P ro je c ta nd
p ro du c t
S pe c fi i ca t oi n d ela ys
P ro je c ta nd
p ro du c t
P ro je c ta nd
p ro du c t
P ro du ct
S i ze un de r estim ate
C AS E ot ol u nd e -r
p e fro rm an c e
T e hcno lo gy ch a ng e
P ro du ct c mp
o e ittion
©Ian Sommerville 2000
B us in ess
B us in ess
D esc ription
E x p eri en c ed sta ff w ill le av e hte
p ro j e tcb e for e t iis finis h ed .
T h e er w ill be a hcan g eof
o rg a nis a iton a lm a n ag em en t w ith
d iff eren t pr i oriti es.
H a dr w a er w h ic h is essen tia lfor t h e
p ro j e tcw i l n ot b ed eliv ere do n
sch e du l e.
T h e er w ill be a larg er n umb e rof
ch a ng es to the re qu irem e nts th an
an t ci ip a t de.
S pe c fi i ca t oi ns of essen tia linte fr ac es
are n ot av a lia ble o n sc h ed ule
T h e siz e of t h es ystem has b ee n
u nd e er s t m
i ate d.
C AS E ot ols w hic hsu pp ort th e
p ro j e tcd o n ot pe rform as a nti cip ated
T h e nude rlying t ec hn olog y o n w h i ch
th e sys t em is b u lit is su p ers ed e dby
n e w t e hcno lo gy .
A co m p eti itv eprod uc t is m a kr ete d
b e of r e hte sys t em is com ple t de.
Software Engineering, 6th edition. Chapter 4
Slide 25
The risk management process

Risk identification
•

Risk analysis
•

Assess the likelihood and consequences of these risks
Risk planning
•

Identify project, product and business risks
Draw up plans to avoid or minimise the effects of the risk
Risk monitoring
•
Monitor the risks throughout the project
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 26
The risk management process
R i sk
i dent ifi cati on
R i sk anal ys is
Li s t o f po ten ti al
ris k s
P rio rit is ed ri sk
l is t
©Ian Sommerville 2000
R is k pl ann ing
R i sk avo id ance
and co nt in gen cy
p lans
Software Engineering, 6th edition. Chapter 4
R i sk
m o ni to ri ng
R i sk
ass ess m ent
Slide 27
Risk identification





Technology risks
People risks
Organisational risks
Requirements risks
Estimation risks
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 28
Risks and risk types
R is k ty p e
T e c h n o lo g y
P e o p le
O rg a n is a tio n a l
T o o ls
R e q u ire m e n ts
E s tim a tio n
©Ian Sommerville 2000
P o s s ib le ris k s
T h e d a ta b a s e u s e d in th e s y s te m c a n n o t p ro c e s s a s
m a n y tra n s a c tio n s p e r s e c o n d a s e xp e c te d .
S o ftw a re c o m p o n e n ts w h ic h s h o u ld b e re u s e d c o n ta in
d e fe c ts w h ic h lim it th e ir fu n c tio n a lity .
It is im p o s s ib le to re c ru it s ta ff w ith th e s k ills re q u ire d .
K e y s ta ff a re ill a n d u n a v a ila b le a t c ritic a l tim e s .
R e q u ire d tra in in g fo r s ta ff is n o t a v a ila b le .
T h e o rg a n is a tio n is re s tru c tu re d s o th a t d iffe re n t
m a n a g e m e n t a re re s p o n s ib le fo r th e p ro je c t.
O rg a n is a tio n a l fin a n c ia l p ro b le m s fo rc e re d u c tio n s in th e
p ro je c t b u d g e t.
T h e c o d e g e n e ra te d b y C A S E to o ls is in e ffic ie n t.
C A S E to o ls c a n n o t b e in te g ra te d .
C h a n g e s to re q u ire m e n ts w h ic h re q u ire m a jo r d e s ig n
re w o rk a re p ro p o s e d .
C u s to m e rs fa il to u n d e rs ta n d th e im p a c t o f re q u ire m e n ts
changes.
T h e tim e re q u ire d to d e v e lo p th e s o ftw a re is
u n d e re s tim a te d .
T h e ra te o f d e fe c t re p a ir is u n d e re s tim a te d .
T h e s iz e o f th e s o ftw a re is u n d e re s tim a te d .
Software Engineering, 6th edition. Chapter 4
Slide 29
Risk analysis



Assess probability and seriousness of each risk
Probability may be very low, low, moderate, high
or very high
Risk effects might be catastrophic, serious,
tolerable or insignificant
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 30
Risk analysis
R is k
O rg a n is a tio n a l
f in a n c ia l
p ro b le m s
f o rc e
re d u c tio n s in th e p ro je c t b u d g e t.
It is im p o s s ib le to re c ru it s ta f f w ith th e s k ills
re q u ire d f o r th e p ro je c t.
K e y s ta f f a re ill a t c ritic a l tim e s in th e p ro je c t.
S o f tw a re c o m p o n e n ts w h ic h s h o u ld b e re u s e d
c o n ta in d e f e c ts w h ic h lim it th e ir f u n c tio n a lity .
C h a n g e s to re q u ire m e n ts w h ic h re q u ire m a jo r
d e s ig n re w o rk a re p ro p o s e d .
T h e o rg a n is a tio n is re s tru c tu re d s o th a t d if f e re n t
m a n a g e m e n t a re re s p o n s ib le f o r th e p ro je c t.
T h e d a ta b a s e u s e d in th e s y s te m c a n n o t p ro c e s s
a s m a n y tra n s a c tio n s p e r s e c o n d a s e x p e c te d .
T h e tim e re q u ire d to d e v e lo p th e s o f tw a re is
u n d e re s tim a te d .
C A S E to o ls c a n n o t b e in te g ra te d .
C u s to m e rs f a il to u n d e rs ta n d th e im p a c t o f
re q u ire m e n ts c h a n g e s .
R e q u ire d tra in in g f o r s ta f f is n o t a v a ila b le .
T h e ra te o f d e f e c t re p a ir is u n d e re s tim a te d .
T h e s iz e o f th e s o f tw a re is u n d e re s tim a te d .
T h e c o d e g e n e ra te d b y C A S E to o ls is in e f f ic ie n t.
©Ian Sommerville 2000
P r o b a b ility
Low
E ffe c ts
C a ta s tro p h ic
H ig h
C a ta s tro p h ic
M o d e ra te
M o d e ra te
S e rio u s
S e rio u s
M o d e ra te
S e rio u s
H ig h
S e rio u s
M o d e ra te
S e rio u s
H ig h
S e rio u s
H ig h
M o d e ra te
T o le ra b le
T o le ra b le
M o d e ra te
M o d e ra te
H ig h
M o d e ra te
T o le ra b le
T o le ra b le
T o le ra b le
In s ig n if ic a n t
Software Engineering, 6th edition. Chapter 4
Slide 31
Risk planning


Consider each risk and develop a strategy to
manage that risk
Avoidance strategies
•

Minimisation strategies
•

The probability that the risk will arise is reduced
The impact of the risk on the project or product will be reduced
Contingency plans
•
If the risk arises, contingency plans are plans to deal with that
risk
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 32
Risk management strategies
R is k
O rg a n isa tio n a l
fin a n cia l p ro b le m s
R e cru itm e n t
p ro b le m s
S ta ff illn e ss
D e fe ctive
co m p o n e n ts
R e q u ire m e n ts
ch a n g e s
O rg a n isa tio n a l
re stru ctu rin g
D a ta b a se
p e rfo rm a n ce
U n d e re stim a te d
d e ve lo p m e n t tim e
©Ian Sommerville 2000
S tra te g y
P re p a re a b rie fin g d o cu m e n t fo r se n io r m a n a g e m e n t sh o w in g h o w th e p ro je ct is
m a k in g a ve ry im p o rta n t co n trib u tio n to th e g o a ls o f th e b u sin e ss.
A le rt cu sto m e r o f p o te n tia l d ifficu ltie s a n d th e p o ssib ility o f d e la ys, in ve stig a te
b u yin g -in co m p o n e n ts.
R e o rg a n ise te a m so th a t th e re is m o re o ve rla p o f w o rk a n d p e o p le th e re fo re
u n d e rsta n d e a ch o th e r’s jo b s.
R e p la ce p o te n tia lly d e fe ctive co m p o n e n ts w ith b o u g h t-in co m p o n e n ts o f k n o w n
re lia b ility.
D e rive tra ce a b ility in fo rm a tio n to a sse ss re q u ire m e n ts ch a n g e im p a ct, m a xim ise
in fo rm a tio n h id in g in th e d e sig n .
P re p a re a b rie fin g d o cu m e n t fo r se n io r m a n a g e m e n t sh o w in g h o w th e p ro je ct is
m a k in g a ve ry im p o rta n t co n trib u tio n to th e g o a ls o f th e b u sin e ss.
In ve stig a te th e p o ssib ility o f b u yin g a h ig h e r-p e rfo rm a n ce d a ta b a se .
In ve stig a te b u yin g in co m p o n e n ts , in ve stig a te u se o f a p ro g ra m g e n e ra to r.
Software Engineering, 6th edition. Chapter 4
Slide 33
Risk monitoring



Assess each identified risks regularly to decide
whether or not it is becoming less or more
probable
Also assess whether the effects of the risk have
changed
Each key risk should be discussed at
management progress meetings
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 34
Risk factors
R isk typ e
T ec hnology
P eople
O rganisational
T ools
R equirem ents
E stim ation
©Ian Sommerville 2000
P o ten tial in d icato rs
Late deliv ery of hardw are or support softw are, m any reported
tec hnology problem s
P oor staff m orale, poor relationships am ongst team m em ber,
job av ailability
organisational gossip, lac k of ac tion by senior m anagem ent
reluc tanc e by team m em bers to use tools, c om plaints about
C A S E tools, dem ands for higher-pow ered w ork stations
m any requirem ents c hange requests, c ustom er c om plaints
failure to m eet agreed sc hedule, failure to c lear reported
defec ts
Software Engineering, 6th edition. Chapter 4
Slide 35
Key points




Good project management is essential for project
success
The intangible nature of software causes problems for
management
Managers have diverse roles but their most significant
activities are planning, estimating and scheduling
Planning and estimating are iterative processes
which continue throughout the course of a
project
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 36
Key points



A project milestone is a predictable state where
some formal report of progress is presented to
management.
Risks may be project risks, product risks or
business risks
Risk management is concerned with identifying
risks which may affect the project and planning
to ensure that these risks do not develop into
major threats
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 4
Slide 37