Project Management
Based on Sommerville’s “Software Engineering” textbook
Software Project Management
• Aimed to ensure that the software is delivered on time,
within budget and schedule constraints, and satisfies the
requirements of the client
• Management of software projects is different from other
types of management because:
•
•
•
•
Software is not tangible
Software processes are relatively new and still “under trial”
Larger software projects are usually “one-off” projects
Computer technology evolves very rapidly
2
Management Activities
•
•
•
•
•
•
•
Writing proposals
Planning the project
Scheduling the project
Estimating the cost of the project
Monitoring and reviewing the project’s progress
Selecting, hiring, and evaluating personnel
Writing reports and giving presentations
3
Project Planning
• A project plan should be drawn at the start of the
project. This plan drives the project and needs to be
continuously adjusted
• The role of the project manager is to anticipate possible
problems and be prepared with solutions for these
problems
• Other plans that need be developed:
• Quality plan
• Validation and verification plan
• Configuration management plan
• Maintenance plan
• Staff development plan
4
Project Planning
• Milestone = end-point of a specific, distinct software process
activity or task (for each milestone a report should be presented
to the management)
• Deliverable = project result delivered to the client
• In order to establish milestones the phases of the software
process need be divided in basic activities/tasks. Example for
requirements engineering
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
5
Project Scheduling……
• Software managers:
•
•
•
•
•
•
•
Divide the project in activities/tasks
Estimate time and resources needed to finish the project
Allocate resources to tasks
Try to employ efficiently all the project personnel
Minimize dependencies between tasks and teams
Prepare contingency plans
Rely on experience and intuition
6
Scheduling Process
Iden ti fy
acti vi ti es
So ftw are
requ irem en ts
7
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
C reate pro ject
chart s
Act iv it y chart s
and b ar chart s
Project Scheduling
• Graphical notations used in software
project scheduling:
• Tables: summary description of tasks
• Bar charts: show schedule against the time
• Activity charts: graphs that depict dependencies between
tasks and indicate the critical path (the longest path in the
activity graph)
8
Tabular description of tasks
T ask
T1
T2
T3
T4
T5
T6
T7
T8
T9
T 10
T 11
T 12
9
D uration (da ys)
8
15
15
10
10
5
20
25
15
15
7
10
D ependencies
T 1 (M 1)
T 2, T 4 (M 2)
T 1, T 2 (M 3)
T 1 (M 1)
T 4 (M 5)
T 3, T 6 (M 4)
T 5, T 7 (M 7)
T 9 (M 6)
T 11 (M 8)
Activity Chart
1 4 /7 /0 3
1 5 da y s
1 5 da y s
M1
T3
8 da y s
T9
T1
5 da y s
4 /8/0 3
2 5 /8/0 3
2 5 /7 /0 3
M4
T6
4 /7 /0 3
M6
M3
star t
7 da y s
2 0 da y s
1 5 da y s
T7
T 11
T2
2 5 /7 /0 3
5 /9/0 3
1 1 /8/0 3
1 0 da y s
1 0 da y s
M2
T4
M7
T5
T 10
1 8 /7 /0 3
M8
1 5 da y s
1 0 da
ys
T 12
M5
2 5 da y s
Finish
T8
1 9 /9/0 3
10
Gannt Chart
• Example of bar chart or Gannt chart
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
11
Finish
Staff Allocation Chart
4 /7
Fred
11 /7
1 8/ 7
2 5/
1 /8
8 /8
1 5/ 8
22 /8
29 /8
5 /9
T4
T8
T1 1
T1 2
Jane
T1
T3
T9
Anne
T2
T6
Jim
M ary
12
T7
T5
T1 0
1 2/ 9
19 /9
Risk Management
• Risk = some adverse circumstance that may happen
and affect negatively the project, the product, and/or
the business
• Categories of risk:
• Project risks
• Product risks
• Business risks
• Risk management means anticipating risks and
preparing plans to reduce their effect
13
Types of Risks
14
R isk
A ffec ts
D escr iption
S taff tu rn ov er
P ro je ct
E x pe rie n ce d sta ff w ill lea v e t h e p ro je ct b efore it is f in ishe d.
M a na g em en t c h an ge
P ro je ct
T h er e w ill be a c h an ge of o rg an is at ion al m a na g em en t w ith
d iffe ren t pr io ritie s.
H ar dw ar e un av ai lab ili ty
P ro je ct
H ar dw ar e th at is esse nt ial fo r th e p ro jec t w il l n ot be
d eli v ered o n s ch ed u le .
R e qu irem en ts ch an g e
P ro je ct a nd
p ro du ct
T h er e w ill be a large r n umb er of ch an g es to the
req u irem en ts t ha n an tici p ate d .
S pe ci fic a tio n de lay s
P ro je ct a nd
p ro du ct
S pe ci fic a tio ns of essen tial inter fac es a re n ot av ai lab le o n
sch ed u le
S iz e un de re stim ate
P ro je ct a nd
p ro du ct
T h e siz e of t he s ystem h as be e n u nd erestim ate d .
C AS E t o ol u nd er p er fo rm an ce
P ro du ct
C AS E t o ols w hich su pp ort th e p ro je c t d o n ot p er fo rm as
an tic ip ate d
Tec h no lo gy ch an g e
B us in ess
T h e u n de rlying tec hn olog y o n w h ic h th e sys tem is b ui lt is
sup ers ed e d b y ne w t ec h no lo g y.
P ro du ct co mp et ition
B us in ess
A c o m p etit ive prod uc t is m ar k eted be fore the s ystem i s
com pl e ted .
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
15
R is k pl ann ing
R i sk avo id ance
and co nt in gen cy
p lans
R i sk
m o ni to ri ng
R i sk
ass ess m ent
Risk Categories
16
R isk ty p e
P ote nti al indi cato rs
T echno logy
L ate d elive ry of ha rdwa re o r suppo rt so ft wa re, m any repo rt ed
techno logy prob lems
P eop le
Poor sta ff m orale, poo r relati onsh ips am ong st tea m m em be r,
job ava il ab il ity
O rgan isa ti ona l
O rgan isa ti ona l gos si p, lack o f ac ti on by sen ior ma nage m en t
T ool s
R elu ct ance by tea m m em be rs to us e too ls, comp laints abou t
CA SE too ls , de m ands fo r high er-powe red work st ati ons
R equi rem en ts
M any requ ir em en ts change
E stim ati on
Fail ur e to m eet ag reed schedu le, fai lu re to c lear r epor ted
de fec ts
reques ts , cus tom er comp la in ts
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.
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 organization may wish to develop employee skills on a
software project.
• Managers have to work within these constraints especially when
there are shortages of trained staff.
Why is Project Management so hard?
• Engineers and Architects who build skyscrapers and
bridges have it easy
• Software Engineers and Software Architects have it
hard... why?
• What makes these two design activities so different?
• Why did the Waterfall process used to be so common
for software?
• Could Agile be used for skyscrapers and bridges?