Professional Documents
Culture Documents
Spmnie 1234
Spmnie 1234
lntroduction
to software
pro¡ect
management
.þ 0wrcrtvEs
When you have completed this chapter ô explain the maÍn elements of the
you will be able to: role of management;
ô define the scope of 'software project ô appreciate the need for careful
management';
planning, monitoríng and control;
s understand some problems and + identify the stakeholders of a project
concerns of software project and their objectives;
mana8ers; s define the success criteria for a
* define the usual stages of a software project.
project;
-fhis textbook is about 'softvvare project management'. The first question is whether
I the management of software projects is really that different from that of other
projects. To answer this, we need to look at some key ideas about the planning,
monitoring and control of software projects. We will see that all projects are about
meeting objectives. Like any other project, a software project must satisfy real needs.
To do this we must identify the project's stakeholders and their objectives. Ensuring that
their objectives are met is the aim of project management. However, we cannot know
that a project will meet its objectives in the future unless we know the present state of
the project.
1
2 Chapter 1 lntroduction to software proiect management
.,Pttult*::l',
November2004'
ì he biggest departmental spender was the Department for Work and
pensions, who spent over fB00 million on lCT. Mismanagenrent of
ICT projects means that tftere is less to spend on good things such as
There has been hospitals' projects are not always successful. ln a report published
some debate about Unfortunately,
the standish croup in the united states analysed l'3,522 projects
ir,- in 2003,
Jr.."."rl,a¡tv
of the Standish and concluded that only a third of projects were successful; B2o/, of
findings butthe key projects were' late and 43'/, exceeded their budget.
pointaboutthe The reason for these project shortcomings is often the management
prevalence oflT of projects. The National Audit office in the uK, for example, among ofher
profectfailings factors causing project failure iclentified 'lack of skills and proven approac:lt
remains clear'
b proiect management and risk managemen(.
Uncertainty
Rout¡ne
of outcome
EXERCISE 1.1
Some argue that projects are especially problematic ils they are
For example, see
Rolf A. Lundin and
temporary sub-organizations. A ¡4roup of people is brou¡¡ht together
Andres Söderholm to carry out a task. The existence of this sub-or¡lanization cuts across
t1995) 'A theory of the autlrority of the existing units within the organization. This has the
the temporary advantage that a group containing various specialists is focused on
organization' a single important task. However, the profect is lil<elyto be seen as
Scandinavian clisruptive to others. Also, expertise built up during the project may
Journal of
be lost when the team is eventually clispersed at the errd of the
Managenentlll4l
project.
437-55.
Brooks (1987).
h/ any techniques in general project management also apply to software
I V I pro¡ect management, but Fred Brooks identified some characteristics
F. P.
'No silver bullet:
essence and of software projects which make them particularly difficult:
accidents of
tnvisibility When a physical artefact such as a bridge is constructecl the
software
progress can actually be seen. With software, proS,ress is not inrmecliately
engineering'. This
essay has been visible. Software project management can be seen as the process of making
included in I/,e the invisible visible.
MythicalMan- Complexity Per clollar, pouncl or euro spent, software products contain
Monffi, Anniversary
more complexity than other engineerecJ artefacts.
Edition, Addison
Wesley,1995. Conforntity The 'traditional'engitreer usually works witlr physical systems
and materials like cenrent and steel. These physical systems have
complexity, but are ¡¡overned by consisterrt physical laws. Software
developers h¿lve to conform to the requirements of human clients. lt is rrot just that
individuals can be inconsistent. Organizations, because of lapses in collective memory/
in internal communication or in effective decision making, can exhibit remarkable
'organ izational stupid ity'.
1.6 Act¡v¡ties covered by software proiect management 5
Flexibility That software is easy to change is seen as a strength. However, where the
software system interfaces with a physical or organizational system, it is expected that
the software will change to accommodate the other components rather than vice versa.
Thus software systems are particularly subject to change.
ln-house projects are where the users and the developers of new software work for the
f same organization. However, increasingly organizations contract out ICT development
to outside developers. Here, the client organization will often appoint a 'project manager'
to supervise the contract who will delegate many technically oriented decisions to the
contractors. Thus, the project manager will not worry about estimating the effort needed to
write individual software components as long as the overall project is within budget and
on time. On the supplier side, there will need to be project managers who deal with the
more technical issues. This book leans towards the concerns of these 'technical' project
mana8ers.
Feasibility study
How do we
do it?
ls it worth
doing?
Plan
Do itl
+
Project execution
1
Chapter 2 explores
The feasibility study assesses whether a project is wortlr starting -
that it has a valid business case. lnformation is gathered about the
somefurther requirements of the proposed application. Requiremerrts elicitation
aspects of
programme can, at least irritially, be complex and difficult. The stal<eholders may
management. krrow the aims they wish to pursue, br¡t rrot be sr-¡re about the means of
achievernetrt. The developmental and operational costs, and the value
of the benefits of the new system, will also have to be estimated. W¡th a large system,
the feasibility study coL¡ld be a project in its own right with its own plan. The study
could be part of a strategic planning exercise examinin¡1 a ranÊîe of potential software
developments. Sometimes an organization assesses a programme of clevelopment
macle up of a number of projects.
The pRtNCE2 2 Planning lf the feasibility study indicates that the prospective project
appears viable, therr project planning can start. For larger projects, we
method,which
is described in would not do all our detailed planning at the beg,inning. We create an
AppendixA,takes outline plan for the whole project and a detailed one for the first stage.
this iterative Because we will have more detailed and accurate project information
approach to after the earlier stages of the project have been completed, planning of
planning. the later stages is left to nearer their start.
Annex to this
3
1
;;ü;ñ';; Proiect execution The project can now be executed. The execution
outline of the of a pro ject often contain s design and implementation sub-phases.
content of a plan. Students new to project planning often find that the boundary between
design and planning can be hazy. Design is mal<irrg decisions about
the form of the producfs to be created. This coulcl relate to the external appearance
of the software, that is, the user interface, or the internal architecture. The plan details
lhe activities to be carried out to create these products. Plarrning and design can be
1
confused because at the most detailed level, planning decisions atre irrfluenced by
design decisions. Thus a software product with five major components is lil<ely to
require five sets of activities to create them.
a.
1.6 Activities covered by software project management 7
n
ñ
E
(, oÊ.
Architecture design o
3
o
Requirements analysis =
Architecture design o
lD
ûq'
Requirements analysis f
-(,
o
Detailed design (D
AJ
(ú
3 Code and test ='
,Ë
o fD-
ô
o
3
lD
lntegration o. 3
rD qJ
rL
:
9J
= o
Qualifìcation test lD
E lntegration
(J
Qualification test
øo=
rl Þag
côJ
õl lnstallation rc lJ
ll ou: 0.,
f,üE
5l Acceptance support ão
ô5
t.
I Chapter 1 lntroduction to software project management
t Code and test refers to writing code for each software unit. lnitial testing to debug
individual software units would be carried out at this stage.
t Integration The components are tested together to see if they meet the overall
requirements. Integration coulcl involve combirring different software components,
or combining and testing the software element of the system in conjunction with the
hardware platforms and user interactions.
t Qualification testing The system, includirrg the software components, has to be tested
carefully to ensure that all the requiremerrts have been fulfilled.
t lnst¿tllation This is the process of making the new system operational. It woulcl include
activities such as setting up standing data (for example, the details for employees in a
payroll system), setting system parameters, installing the software onto the hardware
platforms and user training.
t Acceptance support This is the resolving of problems with the newly installed system,
including the correction of any errors, and implementing agreed extensions and
improvements. Software ma¡ntenance can be seen as a series of minor software
projects. ln many environments, nlost software development is in fact maintenance.
EXTRCISE 1.2
A plan for an activity must be based on some idea of a ntethod of work. For example, if
you were asked to test sonre software, you may know nothing about the software to be
tested, br-rt you cor-¡ld assume that you would neecl to:
While a method relates to a type of activity in general, a plan takes that method (and
perhaps others) ancl converts it to real activities, identifying for each activity:
EXERCISE 1.3
tlhis shorrld ideally be clone in groups of about fortr, but you can think about how yor-r
I would go about this exercise on yollr own if neecls be. You are probably in a building
that has more than one storey. From the point of view ol this exercise, the bigger the
building the better.
In a group of f'our, work out how you would obtain an accurate estimate of the height of
the building. (If you happen to be in a single-storey builcling, you can estimate the floor
area instead!) Plan how you would carry out any actions needecl to obtain your estirnate.
Spend 20 minutes on this - you must remain in the same room for this pìannirrg phase,
Once plannirrg is complete, implement your plarr, timing how long it takes to produce
your final figure.
If there is urore than one gror-rp carrying out this exercise, after completion of the task
you can compare answers and also the approach you used when coming up with your
answer,
EXERCISE 1.4
EXERCISE 1.5
a.
1.10 Setting objectives 11
1.9 Stakeholders
are people wlro have a stal<e or interest in the project. Their early identification
Jhese is
I important as you need to set up adequate communication channels with them.
Stakeholders can lre categorized as:
t lnternal to the project team This means that they will be under the direct managerial
control of the project leader.
t External to the project team but within the same organization For example, the
project le¿rder might need the assistance of the users to carry out systems testirrg.
Here the commitment of the people involved has to be negotiated.
; Extental to both the project team and the organizafion External
B. and
W. Boehm will benefit from the
stal<eholclers may be customers (or users) who
R. Ross,'Theory system that the project implements. They may be corrtractors who
Wsoftware project will carry out work for the project. The relationship here is usually
management: lrased on a contract.
principles and
examples', in Different types of stakeholder may have c.lifferent objectives and one of
B. W. Boehm (ed.)
the jobs of the project leader is to recognize these clifferent ¡nterests and to
|11989l. Software Rísk be able to reconcile them. For example, end-users may be concerned with
Managenent,I.EEE the ease of use of the new application, while their managers may be more
ComputerSociety focused
on staff savings. The project leadertherefore needs to be a good
communicator and negotiator. Boehm and Ross proposed a '1-heory W'of
software project management where the manager concentrates on creating
The role andformat
situations where all parties benefit from a project and therefore have an
of communication interest in its success.
(The 'W'stands for'win-win'.)
planswill be Project managers can sometimes miss an important stakeholder group,
explained in greater especially in unfamiliar business contexts. These could be departments
detail in Chapter l1 supplying important services that are taken for granted.
on managing people Civen the importance of coordinatirrg the efforts of stakeholders, the
:l::yiT recommended practice is for a comntunication planto be created at the
envlronments.
start of a project.
TXTRCISE 1.6
A mong all these stal<eholders are those who actually own the project. They control the
financing of the project. They also set the objectives of the project. The objectives
should define what the project team must achieve for project success. Although different
t.