2 Step Wise: an overview of project planning ... 3.2. 3.3. Introduction. Strategie
assessment. Technical assessment. 1. 1. 2. 3. 3 .... B BS 6079:1996 - an overview
.
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 Introduction 1.2 What is a project? 1.3 Software projects versus other types of project 1.4 Activities covered by Software project management 1.5 Some ways of categorizing Software projects 1.6 The project as a System 1.7 What is management? 1.8 Problems with Software projects 1.9 Management control 1.10 Stakeholders 1.11 Requirement specification 1.12 Information and control in organizations 1.13 Cönclusion 1.14 Further exercises
1 1 2 3 3 6 7 8 9 11 13 14 15 17 18
2
Step Wise: an overview of project planning 19 2.1 Introduction to Step Wise project planning 19 2.2 Step 0: Select project 20 2.3 Step 1: Identify project scope and objectives 22 2.4 Step 2: Identify project infrastructure 24 2.5 Step 3: Analyse project characteristics 27 2.6 Step 4: Identify project products and activities 28 2.7 Step 5: Estimate effort for each activity 32 2.8 Step 6: Identify activity risks 32 2.9 Step 7: Allocate resources 33 2.10 Step 8: Review/publicize plan 34 2.11 Steps 9 and 10: Execute plan and Lower levels of planning 35 2.12 Cönclusion 35 2.13 Further Exercises 36
Selection of an appropriate project approach 4.1 Introduction 4.2 Choosing technologies 4.3 Technical plan contents list 4.4 Choice of process modeis 4.5 Structured methods 4.6 Rapid application development 4.7 The waterfall model 4.8 The V-process model 4.9 The spiral model 4.10 Software prototyping 4.11 Other ways of categorizing prototypes 4.12 Tools 4.13 A prototyping example 4.14 Incremental delivery 4.15 An incremental example 4.16 Selecting the most appropriate process model 4.17 Conclusion 4.18 Further exercises Software effort estimation 5.1 Introduction 5.2 Where are estimates done? 5.3 Problems with over- and under-estimates 5.4 The basis for Software estimating 5.5 Software effort estimation techniques 5.6 Expert judgement 5.7 Estimating by analogy 5.8 Albrecht function point analysis 5.9 Function points Mark II 5.10 Object points 5.11 A procedural code-oriented approach 5.12 COCOMO: a parametric model 5.13 Conclusion 5.14 Additional exercises
Activity planning 6.1 Introduction 6.2 The objectives of activity planning 6.3 When to plan 6.4 Project schedules 6.5 Projects and activities 6.6 Sequencing and scheduling activities 6.7 Network planning modeis 6.8 Formulating a network model 6.9 Using dummy activities 6.10 Representing lagged activities 6.11 Adding the time dimension 6.12 The forward pass 6.13 The backward pass 6.14 Identifying the critical path 6.15 Activity float 6.16 Shortening the project duration 6.17 Identifying critical activities 6.18 Precedence networks 6.19 Conclusion 6.20 Further exercises
Risk management 7.1 Introduction 7.2 The nature of risk 7.3 Managing risk 7.4 Risk identification 7.5 Risk analysis 7.6 Reducing the risks 7.7 Evaluating risks to the schedule 7.8 Calculating the z values 7.9 Conclusions 7.10 Further exercises
133 133 133 135 137 139 142 143 147 150 150
8
Resource allocation 8.1 Introduction 8.2 The nature of resources 8.3 Identifying resource requirements 8.4 Scheduling resources 8.5 Creating critical paths 8.6 Counting the cost 8.7 Being specific
151 151 152 153 154 159 161 161
CONTENTS
8.8 8.9 8.10 8.11 8.12
Publishing the resource schedule Cost schedules The scheduling sequence Conclusion Further exercises
162 164 165 167 167
Monitoring and control 9.1 Introduction 9.2 Creating the framework 9.3 Collecting the data 9.4 Visualizing progress 9.5 Cost monitoring 9.6 Earned Value 9.7 Prioritizing monitoring 9.8 Getting the project back to target 9.9 Change control 9.10 Conclusions 9.11 Further exercises
169 169 169 173 175 179 180 185 186 188 190 190
10 Managing contracts 10.1 Introduction 10.2 Types of contract 10.3 Stages in contract placement 10.4 Typical terms of a contract 10.5 Contract management 10.6 Acceptance 10.7 Summary 10.8 Further exercises
191 191 192 198 203 206 208 208 208
11 Managing people and organizing teams 11.1 Introduction 11.2 Understanding behaviour 11.3 Organizational behaviour: a background 11.4 Selecting the right person for the job 11.5 Instruction in the best methods 11.6 Motivation 11.7 Working in groups 11.8 Becoming a team 11.9 Decision making 11.IC1 Leadership 11.11 Organizational structures 11.12 Conclusion 11.13 Further exercises
12 Software quality 12.1 Introduction 12.2 The place of Software quality in project planning 12.3 The importance of Software quality 12.4 Defining Software quality 12.5 ISO 9126 12.6 Practical Software quality measures 12.7 Product versus process quality management 12.8 External Standards 12.9 Techniques to help enhance Software quality 12.10 Conclusions 12.11 Further exercises
235 235 236 237 237 241 245 246 248 252 258 258
13 Small projects 13.1 Introduction 13.2 Some problems with Student projects 13.3 Content of a project plan 13.4 Conclusions
261 261 261 264 267
A
PRINCE 2 - an overview A.1 Introduction to PRINCE 2 A.2 The components of PRINCE 2 A.3 PRINCE planning technique A.4 PRINCE 2 project Organization A.5 Project Stages A.6 Project procedures A.7 Directing a project A.8 Starting up a project A.9 Initiating the project A.10 Controlling a stage A.ll Managing product delivery A.12 Managing stage boundaries A.13 Closing the project
BS 6079:1996 - an overview B.l Introduction B.2 The planning process B.3 BS 6079 planning steps B.4 Project control B.5 Supporting techniques
281 281 285 286 287 287
C
Euromethod - an overview C. 1 The aims of Euromethod C.2 The basic Euromethod model
289 289 289
CONTENTS
Xll
C.3 C.4 C.5 C.6 C.7 C.8 C.9
An overview of the EM acquisition process Acquisition goal defmition Acquisition planning Procurement Adaptation planning Method bridging Conclusions 12207 - an overview Introduction The ISO 12207 approach to Software life cycle data The ISO 12207 approach to Software life cycle processes The acquisition process The supply process The development process
292 292 293 295 295 300 301
D
ISO D.l D.2 D.3 D.4 D.5 D.6
303 303 303 304 305 308 309
E
Project Management Bodies of Knowledge E.l Introduction E.2 Project Management Institute E.3 Australian Institute of Project Management E.4 Association for Project Management E.5 UK National Vocational Qualifications E.6 Information Systems Examination Board