guide to the sw project mangement-0508
TRANSCRIPT
-
7/30/2019 Guide to the SW Project Mangement-0508
1/92
ESA PSS-05-08 Issue 1 Revision 1March 1995
european space agency / agence spatiale europenne8-10, rue Mario-Nikis, 75738 PARIS CEDEX, France
Guide to
softwareprojectmanagement
Prepared by:ESA Board for SoftwareStandardisation and Control(BSSC)
Approved by:
The Inspector General, ESA
-
7/30/2019 Guide to the SW Project Mangement-0508
2/92
ii ESA PSS-05-08 Issue 1 Revision 1 (March 1995)DOCUMENT STATUS SHEET
DOCUMENT STATUS SHEET
DOCUMENT STATUS SHEET
1. DOCUMENT TITLE: ESA PSS-05-08 Guide to Software Project Management
2. ISSUE 3. REVISION 4. DATE 5. REASON FOR CHANGE
1 0 1994 First issue
1 1 1995 Minor updates for publication
Issue 1 Revision 1 approved, May 1995Board for Software Standardisation and ControlM. J ones and U. Mortensen, co-chairmen
Issue 1 approved, 15th J une 1995Telematics Supervisory Board
Issue 1 approved by:The Inspector General, ESA
Published by ESA Publications Division,ESTEC, Noordwijk, The Netherlands.Printed in the Netherlands.ESA Price code: E1ISSN 0379-4059
Copyright 1995 by European Space Agency
-
7/30/2019 Guide to the SW Project Mangement-0508
3/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) iiiTABLE OF CONTENTS
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION................................................................................11.1 PURPOSE................................................................................................................11.2 OVERVIEW...............................................................................................................1
CHAPTER 2 SOFTWARE PROJ ECT MANAGEMENT..........................................32.1 INTRODUCTION......................................................................................................32.2 THE PROJ ECT MANAGER'S ROLE AND RESPONSIBILITIES.............................4
2.3 PROJ ECT INTERFACES ........................................................................................52.4 PROJ ECT PLANNING............................................................................................6
2.4.1 Define products.. ............................................................................................82.4.2 Define activities... ............................................................................................8
2.4.2.1 Process model ......................................................................................82.4.2.1.1 Selection of life cycle approach...................................................92.4.2.1.2 Tailoring of the phase process models.....................................112.4.2.1.3 Selection of methods and tools ................................................13
2.4.2.2 Work package definition .....................................................................142.4.3 Estimate resources and duration..................................................................18
2.4.3.1 Defining human resources...................................................................182.4.3.2 Estimating effort...................................................................................192.4.3.3 Estimating non-labour costs................................................................202.4.3.4 Estimating duration..............................................................................20
2.4.4 Define activity network....................................................................................212.4.5 Define schedule and total cost .....................................................................21
2.5 LEADING THE PROJ ECT.....................................................................................222.6 TECHNICAL MANAGEMENT OF PROJ ECTS.....................................................232.7 MANAGEMENT OF PROJ ECT RISKS .................................................................23
2.7.1 Experience factors..........................................................................................242.7.1.1 Experience and qualifications of the project manager.......................242.7.1.2 Experience and qualifications of staff..................................................242.7.1.3 Maturity of suppliers.............................................................................25
2.7.2 Planning factors... ..........................................................................................252.7.2.1 Accuracy of estimates..........................................................................262.7.2.2 Short timescales...................................................................................262.7.2.3 Long timescales...................................................................................272.7.2.4 Single-point failures..............................................................................272.7.2.5 Location of staff....................................................................................272.7.2.6 Definition of responsibilities.................................................................282.7.2.7 Staffing profile evolution.......................................................................28
2.7.3 Technological factors.....................................................................................282.7.3.1 Technical novelty..................................................................................29
-
7/30/2019 Guide to the SW Project Mangement-0508
4/92
iv ESA PSS-05-08 Issue 1 Revision 1 (March 1995)TABLE OF CONTENTS
2.7.3.2 Maturity and suitability of methods......................................................292.7.3.3 Maturity and efficiency of tools............................................................292.7.3.4 Quality of commercial software...........................................................30
2.7.4 External factors ... ..........................................................................................302.7.4.1 Quality and stability of user requirements...........................................302.7.4.2 Definition and stability of external interfaces.......................................312.7.4.3 Quality and availability of external systems.........................................31
2.8 MEASURING PROJ ECT PROCESSES AND PRODUCTS..................................312.8.1 Assess environment and define primary goal..............................................312.8.2 Analyse goals and define metrics..................................................................31
2.8.2.1 Process metrics....................................................................................312.8.2.2 Product metrics....................................................................................31
2.8.3 Collect metric data and measure performance............................................312.8.4 Improving performance.................................................................................31
2.9 PROJ ECT REPORTING........................................................................................312.9.1 Progress reports. ..........................................................................................312.9.2 Work package completion reports.................................................................312.9.3 Timesheets ... ..........................................................................................31
CHAPTER 3 SOFTWARE PROJ ECT MANAGEMENT METHODS.....................31
3.1 INTRODUCTION....................................................................................................313.2 PROJ ECT PLANNING METHODS........................................................................31
3.2.1 Process modelling methods.........................................................................313.2.2 Estimating methods ......................................................................................31
3.2.2.1 Historical comparison.........................................................................313.2.2.2 COCOMO. ..........................................................................................313.2.2.3 Function Point Analysis.......................................................................313.2.2.4 Activity distribution analysis................................................................313.2.2.5 Delphi method.....................................................................................313.2.2.6 Integration and System Test effort estimation...................................31
3.2.2.7 Documentation effort estimation.........................................................313.2.3 Activity network methods...............................................................................313.2.4 Scheduling presentation methods.................................................................31
3.3 PROJ ECT RISK MANAGEMENT METHODS .......................................................313.3.1 Risk table ... ..........................................................................................313.3.2 Risk matrix ... ..........................................................................................31
3.4 PROJ ECT REPORTING METHODS......................................................................313.4.1 Progress tables and charts............................................................................313.4.2 Milestone trend charts....................................................................................31
-
7/30/2019 Guide to the SW Project Mangement-0508
5/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) vTABLE OF CONTENTS
CHAPTER 4 SOFTWARE PROJ ECT MANAGEMENT TOOLS...........................314.1 INTRODUCTION....................................................................................................314.2 PROJ ECT PLANNING TOOLS..............................................................................31
4.2.1 General purpose project planning tools........................................................314.2.2 Process modelling tools.................................................................................314.2.3 Estimating Tools.. ..........................................................................................31
4.3 PROJ ECT RISK ANALYSIS TOOLS ......................................................................314.4 PROJ ECT REPORTING TOOLS............................................................................314.5 PROCESS SUPPORT TOOLS...............................................................................31
CHAPTER 5 THE SOFTWARE PROJ ECT MANAGEMENT PLAN......................315.1 INTRODUCTION....................................................................................................315.2 STYLE.....................................................................................................................315.3 RESPONSIBILITY...................................................................................................315.4 MEDIUM ................................................................................................................315.5 SERVICE INFORMATION......................................................................................315.6 CONTENTS............................................................................................................315.7 EVOLUTION...........................................................................................................31
CHAPTER 6 THE SOFTWARE PROJ ECT PROGRESS REPORT......................31
6.1 INTRODUCTION....................................................................................................316.2 STYLE.....................................................................................................................316.3 RESPONSIBILITY...................................................................................................316.4 MEDIUM ................................................................................................................316.5 SERVICE INFORMATION......................................................................................316.6 CONTENTS............................................................................................................31
APPENDIX A GLOSSARY.................................................................................A-31APPENDIX B REFERENCES.............................................................................B-31APPENDIX C MANDATORY PRACTICES .......................................................C-31
APPENDIX D PROJ ECT MANAGEMENT FORMS...........................................D-31APPENDIX E INDEX..........................................................................................E-31
-
7/30/2019 Guide to the SW Project Mangement-0508
6/92
vi ESA PSS-05-08 Issue 1 Revision 1 (March 1995)TABLE OF CONTENTS
This page is intentionally left blank
-
7/30/2019 Guide to the SW Project Mangement-0508
7/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) viiPREFACE
PREFACE
This document is one of a series of guides to software engineering produced bythe Board for Software Standardisation and Control (BSSC), of the European SpaceAgency. The guides contain advisory material for software developers conforming toESA's Software Engineering Standards, ESA PSS-05-0. They have been compiled fromdiscussions with software engineers, research of the software engineering literature,and experience gained from the application of the Software Engineering Standards inprojects.
Levels one and two of the document tree at the time of writing are shown inFigure 1. This guide, identified by the shaded box, provides guidance aboutimplementing the mandatory requirements for software project management describedin the top level document ESA PSS-05-0.
Guide to theSoftware Engineering
Guide to theUser Requirements
Definition Phase
Guide toSoftware Project
Management
PSS-05-01
PSS-05-02 UR Guide
PSS-05-03 SR Guide
PSS-05-04 AD Guide
PSS-05-05 DD Guide
PSS-05-06 TR Guide
PSS-05-07 OM Guide
PSS-05-08 SPM Guide
PSS-05-09 SCM Guide
PSS-05-11 SQA Guide
ESASoftware
EngineeringStandards
PSS-05-0
Standards
Level 1
Level 2
PSS-05-10 SVV Guide
Figure 1: ESA PSS-05-0 document tree
The Guide to the Software Engineering Standards, ESA PSS-05-01, containsfurther information about the document tree. The interested reader should consult thisguide for current information about the ESA PSS-05-0 standards and guides.
The following past and present BSSC members have contributed to theproduction of this guide: Carlo Mazza (chairman), Gianfranco Alvisi, Michael J ones,Bryan Melton, Daniel de Pablo and Adriaan Scheffer.
-
7/30/2019 Guide to the SW Project Mangement-0508
8/92
viii ESA PSS-05-08 Issue 1 Revision 1 (March 1995)PREFACE
The BSSC wishes to thank J on Fairclough for his assistance in the developmentof the Standards and Guides, and to all those software engineers in ESA and Industrywho have made contributions.
Requests for clarifications, change proposals or any other comment concerningthis guide should be addressed to:
BSSC/ESOC Secretariat BSSC/ESTEC SecretariatAttention of Mr M Jones Attention of Mr U Mortensen
ESOC ESTECRobert Bosch Strasse 5 Postbus 299D-64293 Darmstadt NL-2200 AG NoordwijkGermany The Netherlands
-
7/30/2019 Guide to the SW Project Mangement-0508
9/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 1INTRODUCTION
CHAPTER 1INTRODUCTION
1.1 PURPOSE
ESA PSS-05-0 describes the software engineering standards to beapplied for all deliverable software implemented for the European SpaceAgency (ESA) [Ref 1].
ESA PSS-05-0 requires that every software project be planned,organised, staffed, led, monitored and controlled. These activities are called'Software Project Management' (SPM). Each project must define its SoftwareProject Management activities in a Software Project Management Plan(SPMP).
This guide defines and explains what software project managementis, provides guidelines on how to do it, and defines in detail what a SoftwareProject Management Plan should contain.
This guide should be read by software project managers, teamleaders, software quality assurance managers, senior managers andinitiators of software projects.
1.2 OVERVIEW
Chapter 2 contains a general discussion of the principles ofsoftware project management, expanding upon ESA PSS-05-0. Chapter 3discusses methods for software project management that can be used to
support the activities described in Chapter 2. Chapter 4 discusses tools forsoftware project management. Chapter 5 describes how to write the SPMP.Chapter 6 discusses progress reporting.
All the mandatory practices in ESA PSS-05-0 relevant to softwareproject management are repeated in this document. The identifier of thepractice is added in parentheses to mark a repetition. This documentcontains no new mandatory practices.
-
7/30/2019 Guide to the SW Project Mangement-0508
10/92
2 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)INTRODUCTION
This page is intentionally left blank
-
7/30/2019 Guide to the SW Project Mangement-0508
11/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 3SOFTWARE PROJ ECT MANAGEMENT
CHAPTER 2SOFTWARE PROJECT MANAGEMENT
2.1 INTRODUCTION
Software project management is 'the process of planning,organising, staffing, monitoring, controlling and leading a software project'[Ref 3]. Every software project must have a manager who leads the
development team and is the interface with the initiators, suppliers andsenior management. The project manager:
produces the Software Project Management Plan (SPMP);
defines the organisational roles and allocates staff to them;
controls the project by informing staff of their part in the plan;
leads the project by making the major decisions and by motivating staffto perform well;
monitors the project by measuring progress;
reports progress to initiators and senior managers.
SPMP
SCMP
SVVP
SQAPMake Plans
Make Products
Reports
Products
User Requirements
Standardsfor control
for monitoring
Figure 2.1: Management control loop
Figure 2.1 shows the control and monitoring loop required in everysoftware project. Standards and user requirements are the primary input to
both the planning and production processes. Plans are made for projectmanagement, configuration management, verification and validation and
-
7/30/2019 Guide to the SW Project Mangement-0508
12/92
4 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
quality assurance. These plans control production. Reports, such asprogress reports, timesheets, work package completion reports, qualityassurance reports and test reports provide feedback to the planningprocess. Plans may be updated to take account of these reports.
The project manager is the driving force in the management controlloop. The following sections define the role of the project manager anddiscuss project management activities.
2.2 THE PROJ ECT MANAGER'S ROLE AND RESPONSIBILITIES
When they are appointed, project managers should be given termsof reference that define their:
objectives;
responsibilities;
limits of authority.
The objective of every project manager is to deliver the product ontime, within budget and with the required quality. Although the preciseresponsibilities of a project manager will vary from company to companyand from project to project, they should always include planning andforecasting. Three additional areas of management responsibility defined byMintzberg [Ref 17] are:
interpersonal responsibilities, which include:
- leading the project team;
- liaising with initiators, senior management and suppliers;
- being the 'figurehead', i.e. setting the example to the project team
and representing the project on formal occasions. informational responsibilities, which include:
- monitoring the performance of staff and the implementation of theproject plan;
- disseminating information about tasks to the project team;
- disseminating information about project status to initiators andsenior management;
- acting as the spokesman for the project team.
-
7/30/2019 Guide to the SW Project Mangement-0508
13/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 5SOFTWARE PROJ ECT MANAGEMENT
decisional responsibilities, which include:
- allocating resources according to the project plan, and adjustingthose allocations when circumstances dictate (i.e. the projectmanager has responsibility for the budget);
- negotiating with the initiator about the optimum interpretation ofcontractual obligations, with the company management forresources, and with project staff about their tasks;
- handling disturbances to the smooth progress of the project such
as equipment failures and personnel problems.
2.3 PROJECT INTERFACES
Project managers must identify the people or groups the projectdeals with, both within the parent organisation and outside. A project mayhave interfaces to:
initiators;
end users;
suppliers;
subcontractors;
the prime contractor;
other subsystem developers.
When defining external project interfaces, the project managershould:
ensure that a single, named point of contact exists both within theproject team and each external group;
channel all communications between the project and external groupsthrough as few people as possible;
ensure that no person in the project has to liaise with more than sevenexternal groups (the 'rule of seven'principle).
-
7/30/2019 Guide to the SW Project Mangement-0508
14/92
6 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
2.4 PROJ ECT PLANNING
Whatever the size of the project, good planning is essential if it is tosucceed. The software project planning process is shown in Figure 2.4. Thefive major planning activities are:
define products;
define activities;
estimate resources and duration;
define activity network; define schedule and total cost.
This process can be applied to a whole project or to a phase of aproject. Each activity may be repeated several times to make a feasible plan.In principle, every activity in Figure 2.4 can be linked to the other activities by'feedback' loops, in which information gained at a later stage in planning isused to revise earlier planning decisions. These loops have been omittedfrom the figure for simplicity. Iteration is essential for optimising the plan.
Define
Products
Define
Activities
Estimate
Resources
& Duration
Define
Activity
Network
Define
Schedule
Standards
URD or
SRD or
ADD
Historical and Supplier Cost Data
Time and Resource Constraints
Process Model
WP[inputs, activities, outputs]
WP[inputs, activities, outputs, resources, duration]
Total Project Duration
WP Start
WP End
Gantt chart
Resource Req's
WP Float
Project organisation
Product Definitions
PERT chart
Risk and Environmental Considerations
Total Cost& Cost
Figure 2.4: Planning process
-
7/30/2019 Guide to the SW Project Mangement-0508
15/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 7SOFTWARE PROJ ECT MANAGEMENT
The inputs to software project planning are:
User Requirements Document (URD), Software RequirementsDocument (SRD) or Architectural Design Document (ADD), accordingto the project phase;
software standards for products and procedures;
historical data for estimating resources and duration;
supplier cost data;
risks to be considered;
environmental factors, such as new technology;
time constraints, such as delivery dates;
resource constraints, such as the availability of staff.
The primary output of project planning is the Software ProjectManagement Plan. This should contain:
definitions of the deliverable products;
a process model defining the life cycle approach and the methods and
tools to be used;
the work breakdown structure, i.e. a hierarchically structured set of workpackages defining the work;
the project organisation, which defines the roles and reportingrelationships in the project;
an activity network defining the dependencies between work packages,the total time for completion of the project, and the float times of eachwork package;
a schedule of the project, defining the start and end times of each workpackage;
a list of the resources required to implement the project;
a total cost estimate.
The following subsections describe the five major activities.
-
7/30/2019 Guide to the SW Project Mangement-0508
16/92
8 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
2.4.1 Define products
The first activity in project planning is to define the products to bedelivered. Table 2.4.1 summarises the software products of each phase asrequired by ESA PSS-05-0.
Phase Input Product Output Product
SR URD SRD
AD SRD ADD
DD ADD DDD, code, SUM
TR DDD, code, SUM STD
Table 2.4.1: Phase input and output products
While standards define the contents of documents, someconsideration should be given as to how each section of the document willbe prepared. Care should be taken not to overconstrain the analysis anddesign process in defining the products. Some consideration should also begiven to the physical characteristics of the products, such as the medium(e.g. paper or computer file), language (e.g. English, French) orprogramming language (in the case of code).
2.4.2 Define activities
Once the products are specified, the next step is to define aprocess model and a set of work packages.
2.4.2.1 Process model
A software process model should define the:
activities in a software development process;
the inputs and outputs of each activity;
roles played in each activity.
The software development process must be based upon the ESAPSS-05-0 life cycle model (SLC03). The key decisions in software processmodelling are the:
selection of the life cycle approach, i.e. the pattern of life cycle phases;
modifications, if any, to the phase process models (see below);
selection of methods and tools to support the activities in the phaseprocess models.
-
7/30/2019 Guide to the SW Project Mangement-0508
17/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 9SOFTWARE PROJ ECT MANAGEMENT
2.4.2.1.1 Selection of life cycle approach
ESA PSS-05-0 defines three life cycle approaches, waterfall,incremental and evolutionary.
UR
SR
AD
DD
TR
OM
Figure 2.4.2.1.1A: Waterfall approach
The waterfall approach shown in Figure 2.4.2.1.1A executes eachphase of the life cycle in sequence. Revisiting earlier phases is permitted tocorrect errors. The simple waterfall approach is suitable when:
a set of high quality, stable user requirements exists;
the length of project is short (i.e. two years or less);
the users require the complete system all at once.
-
7/30/2019 Guide to the SW Project Mangement-0508
18/92
10 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
UR
SR
AD
DD
TR
OM
DD
TR
OM
1
2
2
2
1
1
Figure 2.4.2.1.1B: Incremental approach
The incremental approach to development has multiple DD, TR and
OM phases as shown in Figure 2.4.2.1.1B. This approach can be useful if: delivery of the software has to be according to the priorities set on the
user requirements;
it is necessary to improve the efficiency of integration of the softwarewith other parts of the system (e.g. the telecommanding and telemetrysubsystems in a spacecraft control system may be required early forsystem tests);
early evidence that products will be acceptable is required.
-
7/30/2019 Guide to the SW Project Mangement-0508
19/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 11SOFTWARE PROJ ECT MANAGEMENT
DEV
OM1
1
DEV
OM2
2
OM3
DEV3
Figure 2.4.2.1.1C: Evolutionary approach
The evolutionary approach to development shown in Figure2.4.2.1.1C consists of multiple waterfall life cycles with overlap between
operations, maintenance and development. This approach may be used if,for example:
some user experience is required to refine and complete therequirements (shown by the dashed line within the OM boxes);
some parts of the implementation may depend on the availability offuture technology;
some new user requirements are anticipated but not yet known;
some requirements may be significantly more difficult to meet than
others, and it is not decided to allow them to delay a usable delivery.
2.4.2.1.2 Tailoring of the phase process models
The process models for the SR, AD and DD phases are shown inFigure 2.4.2.1.2A, B and C.
-
7/30/2019 Guide to the SW Project Mangement-0508
20/92
12 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
SCMP/AD
Approved
URD
Examined
URD
Logical
Model
Draft
SRD
Draft
SVVP/ST
Approved
SRD
Examine
URD
Construct
Model
Specify
Req'mnts
Write
Test Plan
SR/R
Write
AD Plans
Accepted RID
CASE tools
Methods
Prototyping
SPMP/AD
SQAP/AD
SVVP/AD
SVVP/ST
SCMP/SR
SPMP/SR
SQAP/SR
SVVP/SR
Figure 2.4.2.1.2A: SR phase process model
SCMP/DD
Approved
SRD
Examined
SRD
Physical
Model
Draft
ADD
Draft
SVVP/IT
Approved
ADD
Examine
SRD
Construct
Model
Specify
Design
Write
Test Plan
AD/R
Write
DD Plans
Accepted RID
CASE tools
Methods
Prototyping
SPMP/DD
SQAP/DD
SVVP/DD
SVVP/IT
SCMP/AD
SPMP/AD
SQAP/AD
SVVP/AD
Figure 2.4.2.1.2B: AD phase process model
-
7/30/2019 Guide to the SW Project Mangement-0508
21/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 13SOFTWARE PROJ ECT MANAGEMENT
SCMP/TR
Examined
ADD
Verified
Subsystems
Verified
System
ApprovedDDD,SUM
Detail
Design
Write
Test Specs
Code
and test
Integrate
and test
DD/R
Write
TR Plans
Accepted RID
CASE tools
Methods
Prototyping
SPMP/TR
SQAP/TR
SVVP/AT
SCMP/DD
SPMP/DD
SQAP/DD
SVVP/DD
Accepted SPR
code
Test tools
Static Analysers
Dynamic Analysers
Debuggers
CM tools
Draft
SVVP/AT
SVVP/ST
SVVP/IT
SVVP/UT
Draft
DDD
SUM
Examine
ADD
Approved
ADD
Walkthroughs
Inspections
Figure 2.4.2.1.2C: DD phase process model
Project managers should tailor these process models to the needsof their projects. For example the specification of unit tests often has to wait
until the code has been produced because there is insufficient information todefine the test cases and procedures after the detailed design stage.
Further decomposition of the activities in the phase process modelsmay be necessary. The granularity of the process model should be suchthat:
managers have adequate visibility of activities at all times;
every individual knows what to do at any time.
Detailed procedures, which should be part of the development
organisation's quality system, should be referenced in the SPMP. They neednot be repeated in the SPMP.
2.4.2.1.3 Selection of methods and tools
The project manager should, in consultation with the developmentteam, select the methods and tools used for each activity in the phaseprocess models. The ESA PSS-05 series of guides contains extensiveinformation about methods and tools that may be used for softwaredevelopment [Ref 19].
-
7/30/2019 Guide to the SW Project Mangement-0508
22/92
14 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
2.4.2.2 Work package definition
The next step in planning is to decompose the work into 'workpackages'. Activities in the process model are instantiated as work packagetasks. The relationship between activities and tasks may be one-to-one (asin the case of constructing the logical model), or one-to-many (e.g. the codeand unit test activity will be performed in many work packages).
Dividing the work into simple practical work packages requires agood understanding of the needs of the project and the logical relationships
embedded in the process model. Some criteria for work package designare:
coherence; tasks within a work package should have the same goal;
coupling; work package dependencies should be minimised, so thatteam members can work independently;
continuity; production work packages should be full-time to maximiseefficiency;
cost; bottom level work packages should require between one man-week and one man-month of effort.
The level of detail in the work breakdown should be driven by thelevel of accuracy needed for estimating resources and duration in the nextstage of planning. This may be too detailed for other purposes, such asprogress reporting to senior management. In such cases the higher levelwork packages are used to describe the work.
The work packages should be hierarchically organised so thatrelated activities, such as software project management, are groupedtogether. The hierarchy of work packages is called the 'Work Breakdown
Structure' (WBS). Table 2.4.2.2 shows an example of a WBS for a mediumsize project. In this example, each work package has a four digit identifierallowing up to four levels in the WBS.
-
7/30/2019 Guide to the SW Project Mangement-0508
23/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 15SOFTWARE PROJ ECT MANAGEMENT
1000 Software Project Management1100 UR phase
1110 SPMP/SR production1200 SR phase
1210 SPM reports1220 SPMP/AD production
1300 AD phase1310 SPM reports1320 SPMP/DD production
1400 DD phase1410 SPM reports1420 SPMP/TR production1430 SPMP/DD updates
1500 TR phase1510 SPM reports
2000 Software Production2100 UR phase
2110 Requirements engineering2200 SR phase
2210 Logical model2220 Prototyping2230 SRD draft2240 SRD final
2300 AD phase
2310 Physical model2320 Prototyping2330 ADD draft2340 ADD final
2400 DD phase2410 Unit 1 production
2411 Unit 1 DDD2412 Unit 1 code2413 Unit 1 test
2420 Unit 2 production2421 Unit 2 DDD2422 Unit 2 code
2423 Unit 2 test2430 Unit 3 production2431 Unit 3 DDD2432 Unit 3 code2433 Unit 3 test
2440 Unit 4 production2441 Unit 4 DDD2442 Unit 4 code2443 Unit 4 test
2450 Unit 5 production2451 Unit 5 DDD2452 Unit 5 code2453 Unit 5 test
Table 2.4.2.2: Example Work Breakdown Structure
-
7/30/2019 Guide to the SW Project Mangement-0508
24/92
16 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
2460 Integration and test2461 Integration stage 12462 Integration stage 22463 Integration stage 32464 Integration stage 4
2470 SUM production2500 TR phase
2510 Software installation2520 STD production
3000 Software Configuration Management3100 UR phase
3110 SCMP/SR production3200 SR phase
3210 Library maintenance3220 Status accounting3230 SCMP/AD production
3300 AD phase3310 Library maintenance3320 Status accounting3330 SCMP/DD production
3400 DD phase3410 Library maintenance3420 Status accounting3430 SCMP/TR production
3500 TR phase3510 Library maintenance3520 Status accounting
4000 Software Verification and Validation4100 UR phase
4110 SVVP/SR production4120 SVVP/AT plan production4130 UR review
4200 SR phase4210 Walkthroughs4220 Tracing4230 SR review
4240 SVVP/ST plan production4300 AD phase4310 Walkthroughs4320 Tracing4330 SR review4340 SVVP/IT plan production
4400 DD phase4410 Unit review
4411 Unit 1 Review4412 Unit 2 Review4413 Unit 3 Review4414 Unit 4 Review4415 Unit 5 Review
Table 2.4.2.2: Example Work Breakdown Structure (continued)
-
7/30/2019 Guide to the SW Project Mangement-0508
25/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 17SOFTWARE PROJ ECT MANAGEMENT
4420 SVVP/UT production4430 SVVP/IT production4440 SVVP/ST production4450 SVVP/AT production4460 System tests4470 DD review
4500 TR phase4510 Acceptance tests4520 Provisional Acceptance review
5000 Software Quality Assurance5100 UR phase
5110 SQAP/SR production5200 SR phase
5210 SQA reports5220 SQAP/AD production
5300 AD phase5310 SQA reports5320 SQAP/DD production
5400 DD phase5410 SQA reports5420 SQAP/TR production
5500 TR phase5510 SQA reports
Table 2.4.2.2: Example Work Breakdown Structure (continued)
The number of work packages in a project normally increases withproject size. Small projects (less than two man years) may have less thanten bottom-level work packages, and large projects (more than twenty manyears) more than a hundred. Accordingly, small projects will use one or twolevels, medium size projects two to four, and large projects four or five.Medium and large projects may use alphabetic as well as numericalidentifiers.
New work packages should be defined for new tasks that areidentified during a project. The tasks should not be attached to existing,unrelated, work packages. Some projects find it useful to create an'unplanned work' package specifically for miscellaneous activities that arisein every project. However such 'unplanned work' packages should never beallocated more than a few per cent of the project resources. New workpackages should be defined for tasks that involve significant expenditure.
Work packages are documented in the Work Packages, Scheduleand Budget section of the SPMP (see Chapter 5). Work packages mayreference standards, guidelines and manuals that define how to carry out
the work. An example of a Work Package Description form is given in
-
7/30/2019 Guide to the SW Project Mangement-0508
26/92
18 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
Appendix D. A form should be completed for every work package. Repetitionof information should be minimised.
2.4.3 Estimate resources and duration
The next steps in planning are:
defining human resources;
estimating effort;
estimating non-labour costs;
estimating duration.
2.4.3.1 Defining human resources
Project managers should analyse the work packages and define the'human resource requirements'. These define the roles required in theproject. Examples of software project roles are:
project manager;
team leader;
programmer;
test engineer;
software librarian;
software quality assurance engineer.
The project manager must also define the relationships between theroles to enable the effective coordination and control of the project. Thefollowing rules should be applied when defining organisational structures:
ensure that each member of the team reports to one and only oneperson (the 'unity of command principle');
ensure that each person has no more than seven people reportingdirectly to him or her (the 'rule of seven'principle).
-
7/30/2019 Guide to the SW Project Mangement-0508
27/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 19SOFTWARE PROJ ECT MANAGEMENT
Senior
Manager
Company
QA
Project
Manager
Team
Leader
Software
Librarian
SQA
Engineer
Software
Engineers
Company management
Project team
Figure 2.4.3.1.1: Example organigram for a medium-size project
The project team structure should be graphically displayed in anorganigram, as shown in Figure 2.4.3.1.1. The 'dotted line' relationshipbetween the project SQA engineer and the Company QA is a violation of the'unity-of-command' principle that is justified by the need to provide seniormanagement with an alternative, independent view on quality and safetyissues.
The senior manager normally defines the activities of the projectmanager by means of terms of reference (see Section 2.2). The project
manager defines the activities of the project team by means of workpackage descriptions.
2.4.3.2 Estimating effort
The project manager, with the assistance of his team, and, perhaps,external experts, should make a detailed analysis of the work packages andprovide an estimate of the effort (e.g. number of man hours, days ormonths) that will be required.
Where possible these estimates should be compared with historical
data. The comparison method can work quite well when good historical dataexist. Historical data should be adjusted to take account of factors such as
-
7/30/2019 Guide to the SW Project Mangement-0508
28/92
20 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
staff experience, project risks, new methods and technology and moreefficient work practices.
Formula approaches such as Boehm's Constructive Cost Model(COCOMO) and Function Point Analysis (FPA) should not be used formaking estimates at this stage of planning. These methods may be used forverifying the total cost estimate when the plan has been made. Thesemethods are further discussed in Chapter 3.
2.4.3.3 Estimating non-labour costs
Non-labour costs are normally estimated from supplier data. Theymay include:
commercial products that form part of the end product;
commercial products that are used to make the end-product but do notform part of it, e.g. tools;
materials (i.e. consumables not included in overheads);
internal facilities (e.g. computer and test facilities);
external services (e.g. reproduction); travel and subsistence;
packing and shipping;
insurance.
2.4.3.4 Estimating duration
The duration of the work package may be calculated from effortestimates and historical productivity data or other practical considerations(e.g. the duration of an activity such as a review meeting might be fixed at
one day). The duration of each work package is needed for building theactivity network and calculating the total project duration in the next stage ofplanning.
Productivity estimates should describe the average productivity andnot the maximum productivity. Studies show that miscellaneous functionscan absorb up to about 50% of staff time [Ref 10], reducing the averageproductivity to much less than the peak. Furthermore, industrial productivityfigures (such as the often quoted productivity range of 10 to 20 lines of codeper day) are normally averaged over the whole development, and not just
the coding stage.
-
7/30/2019 Guide to the SW Project Mangement-0508
29/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 21SOFTWARE PROJ ECT MANAGEMENT
2.4.4 Define activity network
An activity network represents the work packages in the project as aset of nodes with arrows linking them. A sequence of arrows defines a path,or part of a path, through the project. Circular paths are not allowed in anactivity network. The primary objective of building an activity network is todesign a feasible pattern of activities that takes account of all dependencies.Two important by-products of constructing the activity network are the:
critical path;
work package float.
The critical path is the longest path through the network in terms ofthe total duration of activities. The time to complete the critical path is thetime to complete the project.
The float time of a work package is equal to the difference betweenthe earliest and latest work package start (or end) times, and is the amountof time each activity can be moved without affecting the total time tocomplete the project. Activities on the critical path therefore have zero floattime.
In general, activity networks should only include work packages thatdepend upon other work packages for input, or produce output for otherwork packages to use.
Activities that are just connected to the start and end nodes shouldbe excluded from the network. This simplifies it without affecting the criticalpath. Further, the activity network of complex projects should be brokendown into subnetworks (e.g. one per phase). Such a modular approachmakes the project easier to manage, understand and evaluate.
2.4.5 Define schedule and total cost
The last stage of planning defines the schedule and resourcerequirements, and finally the total cost.
The activity network constrains the schedule but does not define it.The project manager has to decide the actual schedule by setting the startand end times of work packages so as to:
comply with time and resource constraints;
minimise the total cost; minimise the fragmentation of resource allocations;
-
7/30/2019 Guide to the SW Project Mangement-0508
30/92
22 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
allow for any risks that might delay the project.
The start and end dates of work packages affected by timeconstraints (e.g. delivery dates) and resource constraints (e.g. staff andequipment availability) should be set first, as they reduce the number ofpossibilities to consider. If the total time to complete the project violates thetime constraints, project managers should return to the define activitiesstage, redefine work packages, re-estimate resources and duration, andthen modify the activity network.
The minimum total cost of the project is the sum of all the workpackages. However labour costs should be calculated from the totalamount of time spent by each person on the project. This ensures that thetime spent waiting for work packages to start and end is included in the costestimate. Simply summing the individual costs of each bottom-level workpackage excludes this overhead. Project managers adjust the schedule tobring the actual cost of the project as close as possible to the minimum.
Activities with high risk factors should be scheduled to start at theirearliest possible start times so that the activity float can be used as
contingency.
Minimising the fragmentation of a resource allocation is often called'resource smoothing'. Project managers should adjust the start time ofactivities using the same resource so that it is used continuously, rather thanat discrete intervals. This is because:
interruptions mean that people have to refamiliarise with the currentsituation, or relearn procedures that have been forgotten;
equipment may be charged to the project even when it is not in use.
2.5 LEADING THE PROJECT
Leadership provides direction and guidance to the project team,and is an essential management function. There are numerous studies onleadership in the management literature, and the interested reader shouldconsult them directly.
-
7/30/2019 Guide to the SW Project Mangement-0508
31/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 23SOFTWARE PROJ ECT MANAGEMENT
2.6 TECHNICAL MANAGEMENT OF PROJ ECTS
Besides the managerial issues, a software project manager mustalso understand the project technically. He or she is responsible for themajor decisions concerning:
the methods and tools;
the design and coding standards;
the logical model;
the software requirements; the physical model;
the architectural design;
the detailed design;
configuration management;
verification and validation;
quality assurance.
In medium and large projects the project manager often delegatesmuch of the routine technical management responsibilities to team leaders.
2.7 MANAGEMENT OF PROJ ECT RISKS
All projects have risks. The point about risk management is not torun away from risks, but to reduce their ability to threaten the success of aproject. Project managers should manage risk by:
continuously looking out for likely threats to the success of the project;
adjusting the plan to minimise the probability of the threats beingrealised;
defining contingency plans for when the threats are realised;
implementing the contingency plans if necessary.
Risk management never starts from the optimistic premise that 'allwill go well'. Instead project managers should always ask themselves 'whatis most likely to go wrong?'This is realism, not pessimism.
Project plans should identify the risks to a project and show how the
plan takes account of them.
-
7/30/2019 Guide to the SW Project Mangement-0508
32/92
24 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
The following sections discuss the common types of risk to softwareprojects, with possible actions that can be taken to counteract them. Thereare four groups:
experience factors;
planning factors;
technology factors;
external factors.
2.7.1 Experience factors
Experience factors that can be a source of risk are:
experience and qualifications of the project manager;
experience and qualifications of staff;
maturity of suppliers.
2.7.1.1 Experience and qualifications of the project manager
The project manager is the member of staff whose performance hasa critical effect on the outcome of a project. Inexperienced project managersare a significant risk, and organisations making appointments should matchthe difficulty of the project to the experience of the project manager. Part-time project managers are also a risk, because this reduces the capability ofa project to respond to problems quickly.
Project management is a discipline like any other. Untrained projectmanagers are a risk because they may be unaware of what is involved inmanagement. Staff moving into management should receive training fortheir new role.
Project management should be the responsibility of a single personand not be divided. This ensures unity of command and direction.
2.7.1.2 Experience and qualifications of staff
Staff will be a risk to a project if they have insufficient experience,skills and qualifications for the tasks that they are assigned.
Project managers should avoid such risks by:
assessing staff before they join the project;
-
7/30/2019 Guide to the SW Project Mangement-0508
33/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 25SOFTWARE PROJ ECT MANAGEMENT
allocating staff tasks that match their experience, skills andqualifications;
retaining staff within the project who have the appropriate skills,experience and qualifications to cope with future tasks.
2.7.1.3 Maturity of suppliers
The experience and record of suppliers are key factors in assessingthe risks to a project. Indicators of maturity are the:
successful development of similar systems; use of software engineering standards;
the possession of an ISO 9000 certificate;
existence of a software process improvement programme.
Experience of developing similar systems is an essentialqualification for a project team. Lack of experience results in poor estimates,avoidable errors, and higher costs (because extra work is required to correctthe errors).
Standards not only include system development standards such asESA PSS-05-0, but also coding standards and administrative standards.Standards may exist within an organisation but ignorance of how best toapply them may prevent their effective use. Project managers should ensurethat standards are understood, accepted and applied. Project managersmay require additional support from software quality assurance staff toachieve this.
A software process improvement programme is a good sign ofmaturity. Such a programme should be led by a software process group that
is staffed with experienced software engineers. The group should collectdata about the current process, analyse it, and decide about improvementsto the process.
2.7.2 Planning factors
Planning factors that can be a source of risk are:
accuracy of estimates;
short timescales;
long timescales; single-point failures;
-
7/30/2019 Guide to the SW Project Mangement-0508
34/92
26 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
location of staff;
definition of responsibilities;
staffing profile evolution.
2.7.2.1 Accuracy of estimates
Accurate estimates of resource requirements are needed tocomplete a project successfully. Underestimates are especially dangerous ifthere is no scope for awarding additional resources later. Overestimation
can result in waste and can prevent resources from being deployedelsewhere.
Some of the activities which are often poorly estimated for are:
testing;
integration, especially of external systems;
transfer phase;
reviews, including rework.
Some contingency should always be added to the estimates tocater for errors. The amount of contingency should also be related to theother risks to the project. Estimating the effort required to do something newis particularly difficult.
2.7.2.2 Short timescales
Short timescales increase the amount of parallel working required,resulting in a larger team. Progressive reduction in the timescale increasesthis proportion to a limit where the project becomes unmanageable [Ref 9].Project managers should not accept unrealistic timescales.
Project managers should avoid artificially contracting timescales byattempting to deliver software before it is required. They should use the timeavailable to optimise the allocation of resources such as staff.
When faced with accumulating delays and rapidly approachingdeadlines, project manager's should remember Brooks' Law: 'addingmanpower to a late project makes it later' [Ref 10].
-
7/30/2019 Guide to the SW Project Mangement-0508
35/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 27SOFTWARE PROJ ECT MANAGEMENT
2.7.2.3 Long timescales
Projects with long timescales run the risk of:
changes in requirements;
staff turnover;
being overtaken by technological change.
Long timescales can result from starting too early. Projectmanagers should determine the optimal time to start the project by carefulplanning.
Long projects should consider using an incremental delivery orevolutionary development life cycle approach. Both approaches aim todeliver some useful functionality within a timescale in which the requirementsshould be stable. If this cannot be done then the viability of the projectshould be questioned, as the product may be obsolete or unwanted by thetime it appears.
Ambitious objectives, when combined with constraints imposed by
annual budgets, often cause projects to have long timescales. Asmanagement costs are incurred at a fixed rate, management consumes alarger proportion of the project cost as the timescale lengthens.Furthermore, change, such as technical and economic change, can makethe objectives obsolete, resulting in the abandonment of the project beforeanything is achieved!
2.7.2.4 Single-point failures
A single-point failure occurs in a project when a resource vital to anactivity fails and there is no backup. Project managers should look for
single-point failures by examining each activity and considering:
the reliability of the resources;
whether backup is available.
Project managers should devise contingency plans to reallocateresources when failures occur.
2.7.2.5 Location of staff
Dispersing staff to different locations can result in poor
communication. Project managers should co-locate staff in contiguous
-
7/30/2019 Guide to the SW Project Mangement-0508
36/92
28 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
accommodation wherever possible. This improves communication andallows for more flexible staff allocation.
2.7.2.6 Definition of responsibilities
Poor definition of responsibilities is a major threat to the success ofa project. Vital jobs may not be done simply because no-one was assignedto do them. Tasks may be repeated unnecessarily because of ignoranceabout responsibilities.
Projects should be well organised by defining project roles andallocating tasks to the roles. Responsibilities should be clearly defined inwork package descriptions.
2.7.2.7 Staffing profile evolution
Rapid increases in the number of staff can be a problem becausenew staff need time to familiarise themselves with a project. After the start ofthe project much of the project knowledge comes from the existing staff.These 'teaching resources' limit the ability of a project to grow quickly.
Rapid decreases in the number of staff can be a problem becausethe loss of expertise before the project is finished can drastically slow therate at which problems are solved. When experienced staff leave a project,time should be set aside for them to transfer their knowledge to other staff.
The number of staff on a software project should grow smoothlyfrom a small team in the software requirements definition phase to a peakduring coding and unit testing, and fall again to a small team for the transferphase. Project managers avoid sudden changes in the manpower profileand ensure that the project can absorb the inflow of staff without disruption.
2.7.3 Technological factors
Technological factors that can be a source of risk are:
technical novelty;
maturity and suitability of methods;
maturity and efficiency of tools;
quality of commercial software.
-
7/30/2019 Guide to the SW Project Mangement-0508
37/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 29SOFTWARE PROJ ECT MANAGEMENT
2.7.3.1 Technical novelty
Technical novelty is an obvious risk. Project managers shouldassess the technical novelty of every part of the design. Any radically newcomponent can cause problems because the:
feasibility has not been demonstrated;
amount of effort required to build it will be difficult to estimateaccurately.
Project managers should estimate the costs and benefits oftechnically novel components. The estimates should include the costs ofprototyping the component.
Prototyping should be used to reduce the risk of technical novelty.The cost of prototyping should be significantly less than the cost ofdeveloping the rest of the system, so that feasibility is demonstrated beforemajor expenditure is incurred. More accurate cost estimates are an addedbenefit of prototyping.
2.7.3.2 Maturity and suitability of methods
New methods are often immature, as practical experience with amethod is necessary to refine it. Furthermore, new methods normally lacktool support.
Choosing an unsuitable method results in unnecessary work and,possibly, unsuitable software. Analysis and design methods should matchthe application being built. Verification and validation methods should matchthe criticality of the software.
Project managers should evaluate the strengths (e.g. highsuitability) and the weaknesses (e.g. lack of maturity) of a method beforemaking a choice. Project managers should always check whether themethod has been used for similar applications.
2.7.3.3 Maturity and efficiency of tools
Tools can prove to be a hindrance instead of a benefit if:
staff have not been trained in their use;
they are unsuitable for the methods selected for the project;
they are changed during the project;
-
7/30/2019 Guide to the SW Project Mangement-0508
38/92
30 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
they have more overheads than manual techniques.
The aim of using tools is to improve productivity and quality. Projectmanagers should carefully assess the costs and benefits of tools beforedeciding to use them on a project.
2.7.3.4 Quality of commercial software
The use of proven commercial software with well-knowncharacteristics is normally a low-risk decision. However, including new
commercial software, or using commercial software for the first time in anew application area, can be a risk because:
it may not work as advertised, or as expected;
it may not have been designed to meet the quality, reliability,maintainability and safety requirements of the project;
New commercial software should be comprehensively evaluated asearly as possible in the project so that surprises are avoided later. Besidesthe technical requirements, other aspects to evaluate when considering theacquisition of commercial software are:
supplier size, capability and experience;
availability of support;
future development plans.
2.7.4 External factors
External factors that can be a source of risk are the:
quality and stability of user requirements;
definition and stability of external interfaces; quality and availability of external systems.
2.7.4.1 Quality and stability of user requirements
A project is unlikely to succeed without a high quality UserRequirements Document. A URD is a well-defined baseline against which tomeasure success. Project managers should, through the UserRequirements Review process, ensure that a coherent set of requirements isavailable. This may require resources very early in the project to help usersdefine their requirements (e.g. prototyping).
-
7/30/2019 Guide to the SW Project Mangement-0508
39/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 31SOFTWARE PROJ ECT MANAGEMENT
2.7.4.2 Definition and stability of external interfaces
External interfaces can be a risk when their definitions are unstable,poorly defined or non-standard.
Interfaces with external systems should be defined in InterfaceControl Documents (ICDs). These are needed as early as possible becausethey constrain the design. Once agreed, changes should be minimised, as achange in an interface implies rework by multiple teams.
Standard interfaces have the advantage of being well-defined andstable. For these reasons a standard interface is always to be preferred,even if the system design has to be modified.
2.7.4.3 Quality and availability of external systems
External systems can be a problem if their quality is poor or if theyare not available when required either owing to late delivery or to unreliability.
Project managers should initiate discussions with suppliers ofexternal systems when the project starts. This ensures that suppliers are
made aware of project requirements as early as possible. Project managersshould allocate adequate resources to the integration of external systems.
The effects of late delivery of the external system can be mitigatedby:
adding the capability of temporarily 'bypassing' the external system;
development of software to simulate the external system.
The cost of the simulator must be traded-off against the costsincurred by late delivery.
2.8 MEASURING PROJ ECT PROCESSES AND PRODUCTS
Project managers should as far as possible adopt a quantitativeapproach to measuring software processes and products. This is essentialfor effective project control, planning future projects and improving thesoftware development process in the organisation.
-
7/30/2019 Guide to the SW Project Mangement-0508
40/92
32 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
The Application of Metrics in Industry (AMI) guide [Ref 18] describesthe following measurement steps:
1. assess the project environment and define the primary goals (e.g.financial targets, quality, reliability etc);
2. analyse the primary goals into subgoals that can be quantitativelymeasured and define a metric (e.g. man-months of effort) for eachsubgoal;
3. collect the raw metric data and measure the performance relative to the
project goals;4. improve the performance of the project by updating plans to correct
deviations from the project goals;
5. improve the performance of the organisation by passing the metric dataand measurements to the software process improvement group, whoare responsible for the standards and procedures the project uses.
Steps one to four are discussed in the following sections.
2.8.1 Assess environment and define primary goal
The purpose of assessing the environment is to understand thecontext of the project. An audit aimed at measuring conformance to ESAPSS-05-0 is one means of assessment. Other methods for assessingsoftware development organisations and projects include the SoftwareEngineering Institutes Capability Maturity Model [Ref 4] and the EuropeanSoftware Institutes BOOTSTRAP model, which uses the ESA SoftwareEngineering Standards as a definition of basic practices. Whatever theapproach taken, the assessment step should define what is needed andwhat is practical.
The primary software project goal is invariably to deliver the producton time, within budget, with the required quality.
2.8.2 Analyse goals and define metrics
Common subgoals related to the primary goal are:
do not exceed the planned effort on each activity;
do not exceed the planned time on each activity;
ensure that the product is complete;
ensure that the product is reliable.
-
7/30/2019 Guide to the SW Project Mangement-0508
41/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 33SOFTWARE PROJ ECT MANAGEMENT
A metric is a 'quantitative measure of the degree to which a system,component or process possesses a given attribute' [Ref 2]. Projectmanagers should define one or more metrics related to the subgoalsdefined for the project. Metric definitions should as far as possible followorganisational standards or industry standards, so that comparisons withother projects are possible [Ref 18].
2.8.2.1 Process metrics
Possible metrics for measuring project development effort are the:
amount of resources used;
amount of resources left.
Possible metrics for measuring project development time are the:
actual duration of activities in days, weeks or months;
slippage of activities (actual start - planned start).
Possible metrics for measuring project progress are:
number of work packages completed;
number of software problems solved.
2.8.2.2 Product metrics
The amount of product produced can be measured in terms of:
number of lines of source code produced, excluding comments;
number of modules coded and unit tested;
number of function points implemented [Ref 11, 15];
number of pages of documentation written.
Actual values should be compared with target values to measureproduct completeness.
Possible metrics for measuring product reliability are:
test coverage;
cyclomatic complexity of source modules;
integration complexity of programs;
number of critical Software Problem Reports;
number of non-critical Software Problem Reports;
number of changes to products after first issue or release.
-
7/30/2019 Guide to the SW Project Mangement-0508
42/92
34 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
2.8.3 Collect metric data and measure performance
Project managers should ensure that metric data collection is anatural activity within the project. For example the actual effort expendedshould always be assessed before a Work Package is signed off ascompleted. Counts of Software Problem Reports should be accumulated inthe Configuration Status Accounting process. Cyclomatic complexity can bea routine measurement made before code inspection or unit test design.
2.8.4 Improving performance
Metric data should be made available for project managementreporting, planning future projects, and software process improvementstudies [Ref 4 ].
The project manager should use the metric data to improveprocesses and products. For example:
comparisons of predicted and actual effort early in a project can quicklyidentify deficiencies in the initial estimates, and prompt major replanningof the project to improve progress;
analysis of the trends in software problem occurrence during integrationand system testing can show whether further improvement in qualityand reliability is necessary before the software is ready for transfer.
2.9 PROJECT REPORTING
Accurate and timely reporting is essential for the control of a project.Project managers report to initiators and senior managers by means ofprogress reports. Initiators and senior managers should analyse progressreports and arrange regular meetings with the project manager to review theproject. The progress report is an essential input to these managementreviews.
Project managers should have frequent discussions with teammembers so that they are always up-to-date with project status. Teammembers should formally report progress to project managers by means ofwork package completion reports and timesheets.
2.9.1 Progress reports
Project managers should submit routine (e.g. monthly) progressreports that describe:
-
7/30/2019 Guide to the SW Project Mangement-0508
43/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 35SOFTWARE PROJ ECT MANAGEMENT
technical status;
resource status;
schedule status;
problems;
financial status.
Progress reports are discussed in detail in Chapter 6.
2.9.2 Work package completion reports
As each work package is completed, the responsible team member(called the 'work package manager') should notify the project manager by a'work package completion report'. Project managers accept work packagedeliverables by issuing 'work package completion certificates'. One way todocument this process is to add completion and acceptance fields to thework package description form.
2.9.3 Timesheets
Organisations should have a timesheet system that projectmanagers can use for tracking the time spent by staff on a project. Atimesheet describes what each employee has done on a daily or hourlybasis during the reporting period. The project manager needs this data tocompile progress reports.
A good timesheet system should allow staff to record the workpackage associated with the expenditure of effort, rather than just theproject. This level of granularity in the record keeping eases the collection ofdata about project development effort, and provides a more precisedatabase for estimating future projects.
-
7/30/2019 Guide to the SW Project Mangement-0508
44/92
36 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT
This page is intentionally left blank
-
7/30/2019 Guide to the SW Project Mangement-0508
45/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 37SOFTWARE PROJ ECT MANAGEMENT METHODS
CHAPTER 3SOFTWARE PROJ ECT MANAGEMENT METHODS
3.1 INTRODUCTION
Various methods and techniques are available for software projectmanagement. This chapter discusses some methods for the activitiesdescribed in Chapter 2. The reader should consult the references for
detailed descriptions. Methods are discussed for:
project planning;
project risk management;
project reporting.
3.2 PROJ ECT PLANNING METHODS
Methods are available for supporting the following project planningactivities:
process modelling;
estimating resources and duration;
defining activity networks;
defining schedules.
The following sections discuss these methods.
3.2.1 Process modelling methods
The objective of a process modelling method is to construct amodel of the software process roles, responsibilities, activities, inputs andoutputs. This is often referred to as the 'workflow'.
Process models have been traditionally defined using text or simplediagrams. The Software Lifecycle Model defined in Part 1, Figure 1.2 of ESAPSS-05-0 is an example. Process models have also been defined usingnotations derived from systems analysis. SADT diagrams can be used forillustrating the flow of products and plans between activities [Ref 6].
Specialised process modelling methods based upon programming
languages, predicate logic and Petri Nets are recent developments in
-
7/30/2019 Guide to the SW Project Mangement-0508
46/92
38 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT METHODS
software engineering [Ref 7]. These methods allow dynamic modelling ofthe software process. Dynamic models are required for workflow support.
3.2.2 Estimating methods
Chapter 2 recommends that labour costs of each work package beestimated mainly by expert opinion. The total labour cost is calculated fromthe total time spent on the project by each team member. The non-labourcosts are then added to get the cost to completion of the project. The labourcost estimates should be verified by using another method. This section
discusses the alternative methods of:
historical comparison;
COCOMO;
function point analysis;
activity distribution analysis;
Delphi methods;
integration and system test effort estimation;
documentation effort estimation.
Some of these methods use formulae. Anyone using formulaapproaches to software cost estimation should take note of the followingstatement from Albrecht, the originator of Function Point Analysis [Ref 11]:
"It is important to distinguish between two types of work-effortestimates, a primary or 'task analysis'estimate and a 'formula' estimate. Theprimary work-effort estimate should always be based on an analysis of thetasks , thus providing the project team with an estimate and a work plan... Itis recommended that formula estimates be used only to validate and
provide perspective on primary estimates".
Boehm gives similar advice, which is all too often ignored by usersof his COCOMO method [Ref 9].
3.2.2.1 Historical comparison
The historical comparison method of cost estimation is simply tocompare the current project with previous projects. This method can workquite well when:
the costs of the previous projects have been accurately recorded; the previous project has similarities to those of the current project.
-
7/30/2019 Guide to the SW Project Mangement-0508
47/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 39SOFTWARE PROJ ECT MANAGEMENT METHODS
If the projects are all identical, then a simple average of the costscan be used. More commonly, minor differences between the projects willlead to a range of actual costs. Estimates can be made by identifying themost similar project, or work package.
Historical comparisons can be very useful for an organisation whichdevelops a series of similar systems, especially when accounts are kept ofthe effort expended upon each work package. There is no substitute forexperience. However, possible disadvantages of the approach are that:
new methods and tools cannot be accounted for in the estimates; inefficient work practices are institutionalised, resulting in waste.
To avoid these problems, it is very important that special features ofprojects that have influenced the cost are documented, enabling softwareproject managers to adjust their estimates accordingly.
Part of the purpose of the Project History Document (PHD) is topass on the cost data and the background information needed tounderstand it.
3.2.2.2 COCOMO
The Constructive Cost Model (COCOMO) is a formula-basedmethod for estimating the total cost of developing software [Ref 9]. Thefundamental input to COCOMO is the estimated number of lines of sourcecode. This is its major weakness because:
the number of lines of code is only accurately predictable at the end ofthe architectural design phase of a project, and this is too late;
what constitutes a 'line of code' can vary amongst programming
languages and conventions; the concept of a line of code does not apply to some modern
programming techniques, e.g. visual programming.
COCOMO offers basic, intermediate and detailed methods. Thebasic method uses simple formulae to derive the total number of manmonths of effort, and the total elapsed time of the project, from theestimated number of lines of code.
The intermediate method refines the basic effort estimate bymultiplying it with an 'effort adjustment factor' derived from fifteen 'effortmultipliers'. Wildly inaccurate estimates can result from a poor choice ofeffort multiplier values. COCOMO supplies objective criteria to help the
-
7/30/2019 Guide to the SW Project Mangement-0508
48/92
40 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT METHODS
estimator make a sensible choice. The detailed COCOMO method uses aseparate set of effort multipliers for every phase.
When estimating by means of COCOMO, the intermediate methodshould be used because the detailed method does not appear to performmore accurately than the intermediate method. The basic method providesa level of accuracy that is only adequate for preliminary estimates.
3.2.2.3 Function Point Analysis
Function Point Analysis (FPA) estimates the cost of a project fromthe estimates of the delivered functionality [Ref 11, 13]. FPA can therefore beapplied at the end of the software requirements definition phase to makecost estimates. The method combines quite well with methods such asstructured analysis, and has been used for estimating the total effortrequired to develop an information system.
The FPA approach to cost estimation is based upon counting thenumbers of system inputs, outputs and data stores. These counts areweighted, combined and then multiplied by cost drivers, resulting in a'Function Point' count. The original version of FPA converts the number offunction points to lines of code using a language dependent multiplier. Thenumber of lines of code is then fed into COCOMO (see Section 3.2.2.2) tocalculate the effort and schedule.
Mark Two Function Point Analysis simplifies the original approach,is more easily applicable to modern systems, and is better calibrated [Ref15]. Furthermore it does not depend upon the use of language-dependentmultipliers to produce an effort estimate. When estimating by means of FPA,the Mark Two version should be used.
3.2.2.4 Activity distribution analysis
Activity distribution analysis uses measurements of the proportion ofeffort expended on activities in previous projects to:
derive the effort required for each activity from the total effort;
verify that the proportion of effort expended upon each activity isrealistic;
verify that the effort required for future activities is in proportion to theeffort expended upon completed activities.
-
7/30/2019 Guide to the SW Project Mangement-0508
49/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 41SOFTWARE PROJ ECT MANAGEMENT METHODS
Project phases are the top-level activities in a project. The activitydistribution technique is called the 'phase per cent method' when it is usedto estimate the amount of effort required for project phases.
The activity distribution method requires data about completedprojects to be analysed and reduced to derive the relative effort values. Aswith all methods based upon historical data, the estimates need to beadjusted to take account of factors such as staff experience, project risks,new methods and technology and more efficient work practices. Forexample the use of modern analysis and design methods and CASE tools
requires a higher proportion of effort to be expended in the SR and ADphases.
3.2.2.5 Delphi method
The 'Delphi' method is a useful approach for arriving at softwarecost estimates [Ref 9]. The assumption of the Delphi method is that expertswill independently converge on a good estimate.
The method requires several cost estimation experts and acoordinator to direct the process. The basic steps are:
1. the coordinator presents each expert with a specification and a formupon which to record estimates;
2. the experts fill out forms anonymously, explaining their estimates (theymay put questions to the coordinator, but should not discuss theproblem with each other);
3. if consensus has not been achieved, the coordinator prepares asummary of all the estimates and distributes them to the experts andthe process repeats from step 1.
The summary should just give the results, and not the reasoningbehind the results.
A common variation is to hold a review meeting after the first passto discuss the independent estimates and arrive at a common estimate.
3.2.2.6 Integration and System Test effort estimation
Integration and system test effort depends substantially upon the:
number and criticality of defects in the software after unit testing;
number and criticality of defects acceptable upon delivery;
-
7/30/2019 Guide to the SW Project Mangement-0508
50/92
42 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT METHODS
number and duration of integration and system tests;
average time to repair a defect.
The effort required for integration and system testing can thereforebe estimated from a model of the integration and testing process,assumptions about the number of defects present after unit tests, and anestimate of the mean repair effort per defect [Ref 14].
A typical integration and test process model contains the followingcycle:
1. the integration and test team adds components, discovers defects, andreports them to the software modification team;
2. the software modification team repairs the defects;
3. the integration and test team retests the software.
Reference 14 states that twenty to fifty defects per 1000 lines ofcode typically occur during the life cycle of a software product, and of these,five to fifteen defects per 1000 lines of code remain when integration starts,and one to four defects per 1000 lines of code still exist after system tests.
Repair effort values will vary very widely, but a mean value of half aman-day for a code defect is typical.
3.2.2.7 Documentation effort estimation
Software consists of documentation and code. Documentation is acritical output of software development, not an overhead. When estimatingthe volume of software that a project should produce, project managersshould define not only the amount of code that will be produced, but alsothe amount of documentation.
Boehm observes that the documentation rates vary between twoand four man hours per page [Ref 9]. Boehm also observes that the ratiobetween code volume and documentation volume ranges from about 10 toabout 150 pages of documentation per 1000 lines of code, with a medianvalue of about 50. These figures apply to all the life cycle documents.
The average productivity figure of 20 lines of code per day includesthe effort required for documentation. This productivity figure, whencombined with the documentation rates given above, implies that software
engineers spend half their time on documentation (i.e. the median of 50pages of documentation per 1000 lines of code implies one page of
-
7/30/2019 Guide to the SW Project Mangement-0508
51/92
ESA PSS-05-08 Issue 1 Revision 1 (March 1995) 43SOFTWARE PROJ ECT MANAGEMENT METHODS
documentation per 20 lines of code; one page of documentation requiresfour hours, i.e. half a day, of effort).
3.2.3 Activity network methods
The Program Evaluation and Review Technique (PERT) is the usualmethod for constructing an activity network [Ref 9]. Most planning toolsconstruct a PERT chart automatically as the planner defines activities andtheir dependencies.
M1
4330
4420
24114411
M2
2412
M3
2461
M4
2462
4440
2470
4460
4450
14203430
54204470
M5
DDD complete
SVVP/IT production
SVVP/UT plan
Unit 1 DDDUnit 1 review
Integration stage 1 end
Unit 1 code
Integration stage 2 end
Integration stage 1
Integration stage 3 end
Integration stage 2
SVVP/ST production
SUM production
System test
SVVP/AT production
SPMP/TR productionSCMP/TR production
SQAP/TR productionDD review
Integration stage 4 end
ID Name Duration
20d
5d
20d5d
20d
20d
20d
20d
20d
20d
10d
5d5d
5d3d
Month1 2 3 4 5 6 7 8 9 10 11 12Scheduled Start
17/03
02/01
02/01
02/0130/01
28/04
06/02
26/05
03/04
23/06
01/05
30/01
10/04
24/07
08/05
22/0526/06
03/0721/08
21/07
MilestoneID Date
M6 DD phase end 28/08
2413 06/03Unit 1 test
2421
44122422
Unit 2 DDD
Unit 2 reviewUnit 2 code
20d
5d20d
02/01
30/0106/02
2423 06/03Unit 2 test
2431
44132432
Unit 3 DDD
Unit 3 reviewUnit 3 code
20d
5d20d
02/01
06/0213/02
2433 13/03Unit 3 test
244144142442
Unit 4 DDDUnit 4 reviewUnit 4 code
20d5d
20d
02/0106/0213/02
2443 13/03Unit 4 test
2451
44152452
Unit 5 DDD
Unit 5 reviewUnit 5 code
20d
5d20d
13/02
13/0320/03
2453 17/04Unit 5 test
24632464
Integration stage 3Integration stage 4
20d20d
29/0526/06
20d
20d
20d
20d
20d
Figure 3.2.4: Example Gantt chart for the DD phase of a project
3.2.4 Scheduling presentation methods
The project schedule defines the start times and duration of eachwork package and the dates of each milestone. The 'Gantt chart' is the usual
-
7/30/2019 Guide to the SW Project Mangement-0508
52/92
44 ESA PSS-05-08 Issue 1 Revision 1 (March 1995)SOFTWARE PROJ ECT MANAGEMENT METHODS
method for presenting it. Work packages are marked on a vertical axis andtime along the corresponding horizontal axis. Work package activities areshown as horizontal bars (giving rise to synonym of'bar