Software Project Management
(Second Edition)
Bob Hughes and Mike Cotterell,
School of Information Management, University of Brighton
The McGraw-Hill Companies
London • Burr Ridge, IL • New York • St Louis • San Francisco • Auckland • Bogota Caracas
Lisbon • Madrid • Mexico • Milan • Montreal • New Delhi • Panama • Paris • San Juan • Säo Paulo Singapore • Tokyo • Toronto
Contents
1 Introduction to Software project management
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 Introduction What is a project?
Software projects versus other types of project Activities covered by Software project management Some ways of categorizing Software projects The project as a System
What is management?
Problems with Software projects Management control
Stakeholders
Requirement specification
Information and control in organizations Cönclusion
Further exercises
2 Step Wise: an overview of project planning
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13
Introduction to Step Wise project planning Step 0: Select project
Step 1: Identify project scope and objectives Step 2: Identify project infrastructure Step 3: Analyse project characteristics
Step 4: Identify project products and activities Step 5: Estimate effort for each activity Step 6: Identify activity risks
Step 7: Allocate resources Step 8: Review/publicize plan
Steps 9 and 10: Execute plan and Lower levels of planning Cönclusion Further Exercises 3 Project evaluation 3.1 3.2 3.3 Introduction Strategie assessment Technical assessment 1 1 2 3 3 6 7 8 9 11 13 14 15 17 18 19 19 20 22 24 27 28 32 32 33 34 35 35 36 37 37 38 40
V l l l CONTENTS 3.4 3.5 3.6 3.7 3.8 3.9 Cost-benefit analysis Cash flow forecasting
Cost-benefit evaluation techniques Risk evaluation
Conclusion Further exercises
Selection of an appropriate project approach
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 Introduction Choosing technologies Technical plan contents list Choice of process modeis Structured methods
Rapid application development The waterfall model
The V-process model The spiral model Software prototyping
Other ways of categorizing prototypes Tools
A prototyping example Incremental delivery An incremental example
Selecting the most appropriate process model Conclusion
Further exercises
Software effort estimation
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 Introduction
Where are estimates done?
Problems with over- and under-estimates The basis for Software estimating
Software effort estimation techniques Expert judgement
Estimating by analogy
Albrecht function point analysis Function points Mark II
Object points
A procedural code-oriented approach COCOMO: a parametric model Conclusion Additional exercises 40 42 43 50 55 55 57 57 59 63 63 64 64 65 66 67 67 70 71 72 73 76 76 77 77 79 79 81 82 84 85 87 88 89 92 94 96 97 103 104
CONTENTS IX 6 Activity planning 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 7 Risk 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 Introduction
The objectives of activity planning When to plan
Project schedules Projects and activities
Sequencing and scheduling activities Network planning modeis
Formulating a network model Using dummy activities Representing lagged activities Adding the time dimension The forward pass
The backward pass
Identifying the critical path Activity float
Shortening the project duration Identifying critical activities Precedence networks
Conclusion Further exercises
management
Introduction The nature of risk Managing risk Risk identification Risk analysis Reducing the risks
Evaluating risks to the schedule Calculating the z values
Conclusions Further exercises 8 Resource allocation 8.1 8.2 8.3 8.4 8.5 8.6 8.7 Introduction
The nature of resources
Identifying resource requirements Scheduling resources
Creating critical paths Counting the cost Being specific 107 107 108 109 109 111 115 116 117 121 122 122 124 125 127 128 129 129 130 131 132 133 133 133 135 137 139 142 143 147 150 150 151 151 152 153 154 159 161 161
CONTENTS
8.8 Publishing the resource schedule 162
8.9 Cost schedules 164 8.10 The scheduling sequence 165
8.11 Conclusion 167 8.12 Further exercises 167
Monitoring and control 169
9.1 Introduction 169 9.2 Creating the framework 169
173 175 179 180 185 186 188 190 190 10 Managing contracts 191 191 192 198 203 206 208 208 208
11 Managing people and organizing teams 211
211 213 213 215 217 217 221 221 224 226 229 232 232 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11
Collecting the data Visualizing progress Cost monitoring Earned Value
Prioritizing monitoring
Getting the project back to target Change control Conclusions Further exercises Managing contracts 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 Introduction Types of contract
Stages in contract placement Typical terms of a contract Contract management Acceptance
Summary
Further exercises
Managing people and organizing teams
11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.IC 11.11 Introduction Understanding behaviour
Organizational behaviour: a background Selecting the right person for the job Instruction in the best methods Motivation Working in groups Becoming a team Decision making 1 Leadership Organizational structures 11.12 Conclusion 11.13 Further exercises
CONTENTS
12 Software quality 235
12.1 Introduction 235 12.2 The place of Software quality in project planning 236
12.3 The importance of Software quality 237
12.4 Defining Software quality 237
12.5 ISO 9126 241 12.6 Practical Software quality measures 245
12.7 Product versus process quality management 246
12.8 External Standards 248 12.9 Techniques to help enhance Software quality 252
12.10 Conclusions 258 12.11 Further exercises 258
13 Small projects 261
13.1 Introduction 261 13.2 Some problems with Student projects 261
13.3 Content of a project plan 264
13.4 Conclusions 267 A PRINCE 2 - an overview 269
A.1 Introduction to PRINCE 2 269 A.2 The components of PRINCE 2 269 A.3 PRINCE planning technique 270 A.4 PRINCE 2 project Organization 271
A.5 Project Stages 273 A.6 Project procedures 273 A.7 Directing a project 275 A.8 Starting up a project 275 A.9 Initiating the project 275 A.10 Controlling a stage 276 A.ll Managing product delivery 278
A.12 Managing stage boundaries 279
A.13 Closing the project 280
B BS 6079:1996 - an overview 281
B.l Introduction 281 B.2 The planning process 285
B.3 BS 6079 planning steps 286
B.4 Project control 287 B.5 Supporting techniques 287
C Euromethod - an overview 289 C. 1 The aims of Euromethod 289 C.2 The basic Euromethod model 289
X l l CONTENTS
C.3 An overview of the EM acquisition process 292
C.4 Acquisition goal defmition 292 C.5 Acquisition planning 293 C.6 Procurement 295 C.7 Adaptation planning 295 C.8 Method bridging 300 C.9 Conclusions 301 D ISO 12207 - an overview 303 D.l Introduction 303 D.2 The ISO 12207 approach to Software life cycle data 303
D.3 The ISO 12207 approach to Software life cycle processes 304
D.4 The acquisition process 305 D.5 The supply process 308 D.6 The development process 309
E Project Management Bodies of Knowledge 315
E.l Introduction 315 E.2 Project Management Institute 316
E.3 Australian Institute of Project Management 319 E.4 Association for Project Management 320 E.5 UK National Vocational Qualifications 322 E.6 Information Systems Examination Board 324
F Answer pointers 327