1 - Introduction To Software Project Management
1 - Introduction To Software Project Management
OBJECTIVES
When you have completed this chapter you will be able to:
• define the scope of ‘software project management’;
• understand some problems and concerns of software project managers;
• define the usual stages of a software project;
• explain the main elements of the role of management;
• appreciate the need for careful planning, monitoring and control;
• identify the stakeholders of a project and their objectives;
• define the success criteria for a project.
1.1 Introduction
This textbook is about ‘software project management’. The first question is whether 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.
Programme manage- The activities that benefit most from conventional project management are likely to
ment is often used to lie between these two extremes – see Figure 1.1.
coordinate activities on
concurrent jobs. There is a hazy boundary between the non-routine project and the routine job. The
first time you do a routine task it will be like a project. On the other hand, a project to
develop a system similar to previous ones that you have developed will have a large element of the routine.
● planning is required;
● people are formed into a temporary work group to carry out the task;
● the resources that are available for use on the project are constrained;
The more any of these factors apply to a task, the more difficult that task will be. Project size is particularly
important. The project that employs 20 developers is likely to be disproportionately more difficult than one
with only 10 staff because of the need for additional coordination. The examples and exercises used in
this book usually relate to smaller projects in order to make the techniques easier to grasp. However, the
techniques and issues discussed are of equal relevance to larger projects.
EXERCISE 1.1
● getting married;
● an investigation into the reason why a user has a problem with a computer system;
Some seem more like real projects than others. Put them into an order most closely matching your ideas
of what constitutes a project. For each entry in the ordered list, describe the difference between it and
the one above which makes it less worthy of the term ‘project’.
There is no one correct answer to this exercise, but a possible solution to this and the other exercises
you will come across may be found at the end of the book.
Some argue that projects are especially problematic as they are temporary sub-orga- For example, see Rolf
A. Lundin and Andres
nizations. A group of people is brought together to carry out a task. The existence of Söderholm (1995)
this sub-organization cuts across the authority of the existing units within the organi- ‘A theory of the tem-
zation. This has the advantage that a group containing various specialists is focused porary organization’
Scandinavian Journal
on a single important task. However, the project is likely to be seen as disruptive to of Management 11(4)
437–55.
4 So ware Project Management
others. Also, expertise built up during the project may be lost when the team is eventually dispersed at the
end of the project.
pursue, but not be sure about the means of achievement. The developmental and Chapter 2 explores
some further as-
operational costs, and the value of the benefits of the new system, will also have pects of programme
to be estimated. With a large system, the feasibility study could be a project in management.
its own right with its own plan. The study could be part of a strategic planning
exercise examining a range of potential software developments. Sometimes an organization assesses a
programme of development made up of a number of projects.
2. Planning If the feasibility study indicates that the prospective project appears
The PRINCE2 method,
viable, then project planning can start. For larger projects, we would not do all which is described in
our detailed planning at the beginning. We create an outline plan for the whole Appendix A, takes this
project and a detailed one for the first stage. Because we will have more detailed iterative approach to
planning. Annex 1 to
and accurate project information after the earlier stages of the project have been this chapter has an
completed, planning of the later stages is left to nearer their start. outline of the content
of a plan.
3. Project execution The project can now be executed. The execution of a project
often contains design and implementation sub-phases. Students new to project
planning often find that the boundary between design and planning can be hazy. Design is making
decisions about the form of the products to be created. This could relate to the external appearance of
the software, that is, the user interface, or the internal architecture. The plan details the activities to be
carried out to create these products. Planning and design can be confused because at the most detailed
level, planning decisions are influenced by design decisions. Thus a software product with five major
components is likely to require five sets of activities to create them.
Figure 1.3 shows the typical sequence of software development activities recom- Figure 1.3 suggests
mended in the international standard ISO 12207. Some activities are concerned with that these stages must
the system while others relate to software. The development of software will be only be done strictly in se-
quence – we will see
one part of a project. Software could be developed, for example, for a project which in Chapter 4 that other,
also requires the installation of an ICT infrastructure, the design of user jobs and user iterative approaches
training. can be adopted.
However, the actual
● Requirements analysis starts with requirements elicitation or requirements activities listed here
gathering which establishes what the potential users and their managers require would still be done.
of the new system. It could relate to a function – that the system should do
something. It could be a quality requirement – how well the functions must work. An example of this is
6 So ware Project Management
● Code and test refers to writing code for each software unit. Initial testing to debug individual software
units would be carried out at this stage.
● Integration The components are tested together to see if they meet the overall requirements. Integration
could involve combining different software components, or combining and testing the software element
of the system in conjunction with the hardware platforms and user interactions.
● Qualification testing The system, including the software components, has to be tested carefully to
ensure that all the requirements have been fulfilled.
● Installation This is the process of making the new system operational. It would 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.
● 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 maintenance
can be seen as a series of minor software projects. In many environments, most software development
is in fact maintenance.
EXERCISE 1.2
Brightmouth College is a higher education institution which used to be managed by a local government
authority but has now become autonomous. Its payroll is still administered by the local authority and
pay slips and other output are produced in the local authority’s computer centre. The authority now
charges the college for this service. The college management are of the opinion that it would be cheaper
to obtain an ‘off-the shelf’ payroll package and do the payroll processing themselves.
What would be the main stages of the project to convert to independent payroll processing by the
college? Bearing in mind that an off-the-shelf package is to be used, how would this project differ from
one where the software was to be written from scratch?
EXERCISE 1.3
Assume that a software organization development has been asked to carry out a feasibility study to
develop the payroll package for Brightmouth College. The development organization plans to develop
the software by customizing one of its existing products. What are the main steps through which the
project manager of the organization would carry out the feasibility study?
● devise and write test cases that will check that each requirement has been satisfied;
8 So ware Project Management
● create test scripts and expected results for each test case;
● compare the actual results and the expected results and identify discrepancies.
While a method relates to a type of activity in general, a plan takes that method (and perhaps others) and
converts it to real activities, identifying for each activity:
● its start and end dates;
The output from one method might be the input to another. Groups of methods or techniques are often
grouped into methodologies such as object-oriented design.
EXERCISE 1.4
This should ideally be done in groups of about four, but you can think about how you would go about
this exercise on your own if needs be. You are probably in a building that has more than one storey.
From the point of view of this exercise, the bigger the building the better.
In a group of four, work out how you would obtain an accurate estimate of the height of the building.
(If you happen to be in a single-storey building, you can estimate the floor area instead!) Plan how
you would carry out any actions needed to obtain your estimate. Spend 20 minutes on this – you must
remain in the same room for this planning phase. Once planning is complete, implement your plan,
timing how long it takes to produce your final figure.
If there is more than one group 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.5
Outsourced projects
While developing a large project, sometimes, it makes good commercial sense for a company to outsource
some parts of its work to other companies. There can be several reasons behind such a decision. For example,
a company may consider outsourcing as a good option, if it feels that it does not have sufficient expertise to
develop some specific parts of the product or if it determines that some parts can be developed cost-effec-
tively by another company. Since an outsourced project is a small part of some project, it is usually small in
size and needs to be completed within a few months. Considering these differences between an outsourced
project and a conventional project, managing an outsourced project entails special challenges.
Indian software companies excel in executing outsourced software projects and have earned a fine reputation
in this field all over the world. Of late, the Indian companies have slowly begun to focus on product devel-
opment as well.
The type of development work being handled by a company can have an impact on its profitability. For
example, a company that has developed a generic software product usually gets an uninterrupted stream of
revenue over several years. However, outsourced projects fetch only one time revenue to any company.
Objective-driven development
Projects may be distinguished by whether their aim is to produce a product or to meet Service level agree-
certain objectives. ments are becoming
increasingly important
A project might be to create a product, the details of which have been specified by the as organizations
contract out functions
client. The client has the responsibility for justifying the product. to external service
suppliers.
On the other hand, the project requirement might be to meet certain objectives which
could be met in a number of ways. An organization might have a problem and ask a
specialist to recommend a solution.
Many software projects have two stages. First is an objective-driven project resulting in recommendations.
This might identify the need for a new software system. The next stage is a project actually to create the
software product.
This is useful where the technical work is being done by an external group and the user needs are unclear at
the outset. The external group can produce a preliminary design at a fixed fee. If the design is acceptable the
developers can then quote a price for the second, implementation, stage based on an agreed requirement.
EXERCISE 1.6
Would the project, to implement an independent payroll system at the Brightmouth College described
in Exercise 1.2, above, be an objective-driven project or a product-driven project?
10 So ware Project Management
1.9 Stakeholders
These are people who have a stake or interest in the project. Their early identification is important as you need
to set up adequate communication channels with them. Stakeholders can be categorized as:
● Internal to the project team This means that they will be under the direct managerial control of the
project leader.
● External to the project team but within the same organization For example, the project leader might need
the assistance of the users to carry out systems testing. Here the commitment of the people involved has
to be negotiated.
● External to both the project team and the organization External stakeholders may be customers (or
users) who will benefit from the system that the project implements. They may be contractors who will
carry out work for the project. The relationship here is usually based on a contract.
EXERCISE 1.7
There may be several stakeholders, including users in different business areas, who might have some claim to
project ownership. In such a case, a project authority needs to be explicitly identified with overall authority
over the project.
This committee is likely
This authority is often a project steering committee (or project board or project
to contain user, devel-
management board) with overall responsibility for setting, monitoring and modifying opment and manage-
objectives. The project manager runs the project on a day-to-day basis, but regularly ment representatives.
reports to the steering committee.
● Relevant The objective must be relevant to the true purpose of the project.
● Time constrained There should be a defined point in time by which the objective should have been
achieved.
EXERCISE 1.8
Bearing in mind the above discussion of objectives, comment on the appropriateness of the wording of
each of the following ‘objectives’ for software developers:
(i) to implement the new application on time and within budget;
(ii) to implement the new software application with the fewest possible software errors that might lead
to operational failures;
12 So ware Project Management
Measures of effectiveness
These concepts are
Measures of effectiveness provide practical methods of checking that an objective
explained more fully has been met. ‘Mean time between failures’ (mtbf) might, for example, be used to
in Chapter 13 on soft- measure reliability. This is a performance measurement and, as such, can only be
ware quality.
taken once the system is operational. Project managers want to get some idea of the
performance of the completed system as it is being constructed. They will therefore
seek predictive measures. For example, a large number of errors found during code inspections might indicate
potential problems with reliability later.
EXERCISE 1.9
Identify the objectives and sub-objectives of the Brightmouth College payroll project. What measures
of effectiveness could be used to check the success in achieving the objectives of the project?
benefits;
● that the features of the system are not reduced to a level where the expected benefits cannot be
realized;
● that the delivery date is not delayed so that there is an unacceptable loss of benefits.
Broadly speaking, we can distinguish between project objectives and business objec- A good introduction to
tives. The project objectives are the targets that the project team is expected to achieve. the issues discussed
In the case of software projects, they can usually be summarized as delivering: here can be found in
A. J. Shenhar and O.
● the agreed functionality Levy (1997) ‘Mapping
the dimensions of proj-
● to the required level of quality ect success’ Project
● on time Management Journal
28(2) 9–12.
● within budget.
A project could meet these targets but the application, once delivered could fail to meet the business case. A
computer game could be delivered on time and within budget, but might then not sell. A commercial website
used for online sales could be created successfully, but customers might not use it to buy products, because
they could buy the goods more cheaply elsewhere.
We have seen that in business terms it can generally be said that a project is a success if
The assessment of
the value of benefits exceeds the costs. We have also seen that while project managers the value of project
have considerable control over development costs, the value of the benefits of the benefits is explored
in greater depth in
project deliverables is dependent on external factors such as the number of customers.
Chapter 2.
Project objectives still have some bearing on eventual business success. As we will
see in Chapter 2, increasing development costs reduce the chances of the delivered
product being profitable. A delay in completion reduces the amount of time during which benefits can be
generated and diminishes the value of the project.
A project can be a success on delivery but then be a business failure, On the other hand, a project could be
late and over budget, but its deliverables could still, over time, generate benefits that outweigh the initial
expenditure.
Some argue that the possible gap between project and business concerns can be reduced by having a broader
view of projects that includes business issues. For example, the project management of an e-commerce
website implementation could plan activities such as market surveys, competitor analysis, focus groups,
prototyping, and evaluation by typical potential users – all designed to reduce business risks.
Because the focus of project management is, not unnaturally, on the immediate project,
For a wider discussion
it may not be seen that the project is actually one of a sequence. Later projects benefit
of the relationships be-
from the technical skills learnt on earlier projects. Technical learning will increase tween successive proj-
costs on the earlier projects, but later projects benefit as the learnt technologies can ects, see M. Engwall
(2003) ‘No project is an
be deployed more quickly, cheaply and accurately. This expertise is often accom-
island: linking projects
panied by additional software assets, for example reusable code. Where software to history and context’
development is outsourced, there may be immediate savings, but these longer-term Research Policy 32
789–808.
benefits of increased expertise will be lost. Astute managers may assess which areas
of technical expertise it would be beneficial to develop.
Customer relationships can also be built up over a number of projects. If a client has trust in a supplier who
has done satisfactory work in the past, they are more likely to use that company again, particularly if the new
requirement builds on functionality already delivered. It is much more expensive to acquire new clients than
it is to retain existing ones.
14 So ware Project Management
● representing – liaising with clients, users, developer, suppliers and other stakeholders.
EXERCISE 1.10
Paul Duggan is the manager of a software development section. On Tuesday at 10.00 a.m. he and his
fellow section heads have a meeting with their group manager about the staffing requirements for
the coming year. Paul has already drafted a document ‘bidding’ for staff. This is based on the work
planned for his section for the next year. The document is discussed at the meeting. At 2.00 p.m. Paul
has a meeting with his senior staff about an important project his section is undertaking. One of the
programming staff has just had a road accident and will be in hospital for some time. It is decided that
the project can be kept on schedule by transferring another team member from less urgent work to this
project. A temporary replacement is to be brought in to do the less urgent work but this may take a week
or so to arrange. Paul has to phone both the human resources manager about getting a replacement and
the user for whom the less urgent work is being done, explaining why it is likely to be delayed.
Identify which of the eight management responsibilities listed above Paul was responding to at different
points during his day.
Much of the project manager’s time is spent on only three of the eight identified activities, viz., project
planning, monitoring, and control. The time period during which these activities are carried out is indicated
in Fig. 1.4. It shows that project management is carried out over three well-defined stages or processes,
irrespective of the methodology used. In the project initiation stage, an initial plan is made. As the project
starts, the project is monitored and controlled to proceed as planned. However, the initial plan is revised
periodically to accommodate additional details and constraints about the project as they become available.
Finally, the project is closed. In the project closing stage, all activities are logically completed and all contracts
are formally closed.
Initial project planning is undertaken immediately after the feasibility study phase and before starting the
requirements analysis and specification process. Figure 1.4 shows this project initiation period. Initial project
planning involves estimating several characteristics of a project. Based on these estimates, all subsequent
project activities are planned. The initial project plans are revised periodically as the project progresses and
more project data becomes available. Once the project execution starts, monitoring and control activities are
taken up to ensure that the project execution proceeds as planned. The monitoring activity involves monitoring
the progress of the project. Control activities are initiated to minimize any significant variation in the plan.
Introduction to So ware Project Management 15
Project planning is an important responsibility of the project manager. During project planning, the project
manager needs to perform a few well-defined activities that have been outlined below. Note that we have
given a very brief description of these activities in this chapter. We will discuss these activities in more detail
in subsequent chapters. Several best practices have been proposed for software project planning activities.
In Chapter 3 we will discuss Step Wise, which is based on the popular PRINCE2 (PRojects IN Controlled
Environments) method. While PRINCE2 is used extensively in the UK and Europe, similar software project
management best practices have been put forward in the USA by the Project Management Institute’s ‘PMBOK’
which refers to their publication ‘A Guide to the Project Management Body of Knowledge.’
● Estimation The following project attributes are estimated.
● Effort How much effort would be necessary for completing the project?
The effectiveness of all activities such as scheduling and staffing, which are planned at a later stage, depends
on the accuracy with which the above three project parameters have been estimated.
● Scheduling Based on estimations of effort and duration, the schedules for manpower and other resources
are developed.
● Staffing Staff organization and staffing plans are made.
● Risk Management This activity includes risk identification, analysis, and abatement planning.
● Miscellaneous Plans This includes making several other plans such as quality assurance plan, configu-
ration management plan, etc.
Project monitoring and control activities are undertaken after the initiation of development activities. The
aim of project monitoring and control activities is to ensure that the software development proceeds as
planned. While carrying out project monitoring and control activities, a project manager may sometimes
find it necessary to change the plan to cope with specific situations and make the plan more accurate as more
project data becomes available.
At the start of a project, the project manager does not have complete knowledge about the details of the
project. As the project progresses through different development phases, the manager’s information base
gradually improves. The complexities of different project activities become clear, some of the anticipated
risks get resolved, and new risks appear. The project parameters are re-estimated periodically incorporating
new understanding and change in project parameters. By taking these developments into account, the project
manager can plan subsequent activities more accurately with increasing levels of confidence. Figure 1.4
shows this aspect as iterations between monitoring and control, and the plan revision activities.
16 So ware Project Management
EXERCISE 1.11
An ICT project is to replace locally held paper-based records with a centrally organized database. Staff
in a large number of offices that are geographically dispersed need training and will then have to use
the new ICT system to set up the backlog of manual records on the new database. The system cannot be
properly operational until the last record has been transferred. The new system will only be successful
if new transactions can be processed within certain time cycles.
Identify the data that you would collect to ensure that during execution of the project things were going
to plan.
This will involve the local managers in data collection. Bare details, such as ‘location X has processed 2000
documents’, will not be very useful to higher management: data processing will be needed to transform this
raw data into useful information. This might be in such forms as ‘percentage of records processed’, ‘average
documents processed per day per person’ and ‘estimated completion date’.
In our example, the project management might examine the ‘estimated completion date’ for completing
data transfer for each branch. These can be checked against the overall target date for completion of this
phase of the project. In effect they are comparing actual performance with one aspect of the overall project
objectives. They might find that one or two branches will fail to complete the transfer of details in time.
They would then need to consider what to do (this is represented in Figure 1.5 by the box Making decisions/
plans). One possibility would be to move staff temporarily from one branch to another. If this is done, there
is always the danger that while the completion date for the one branch is pulled back to before the overall
target date, the date for the branch from which staff are being moved is pushed forward beyond that date. The
project manager would need to calculate carefully what the impact would be in moving staff from particular
branches. This is modelling the consequences of a potential solution. Several different proposals could be
modelled in this way before one was chosen for implementation.
Having implemented the decision, the situation needs to be kept under review by collecting and processing
further progress details. For instance, the next time that progress is reported, a branch to which staff have been
transferred could still be behind in transferring details. This might be because the reason why the branch has
got behind in transferring details is because the manual records are incomplete and another department, for
whom the project has a low priority, has to be involved in providing the missing information. In this case,
transferring extra staff to do data inputting will not have accelerated data transfer.
It can be seen that a project plan is dynamic and will need constant adjustment during the execution of the
project. Courses and books on project management (such as this one) often focus considerable attention
on project planning. While this is to be expected, with nearly all projects much more time is spent actually
doing the project rather than planning it. A good plan provides a foundation for a good project, but is nothing
without intelligent execution. The original plan will not be set in stone but will be modified to take account
of changing circumstances.
predictable than the present day projects. In those days, projects were planned with sufficient detail,
much before the actual project execution started. After the project initiation, monitoring and control
activities were carried out to ensure that the project execution proceeded as per plan. Now, projects
are required to be completed over a much shorter duration, and rapid application development and
deployment are considered key strategies. The traditional long-term planning has given way to adaptive
short-term planning. Instead of making a long-term project completion plan, the project manager now
plans all incremental deliveries with evolving functionalities. This type of project management is
18 So ware Project Management
often called extreme project management. Extreme project management is a highly flexible approach
to project management that concentrates on the human side of project management (e.g., managing
project stakeholders), rather than formal and complex planning and monitoring techniques.
● Quality Management Of late, customer awareness about product quality has increased significantly.
Tasks associated with quality management have become an important responsibility of the project
manager. The key responsibilities of a project manager now include assessment of project progress and
tracking the quality of all intermediate artifacts. We will discuss quality management issues in Chapter
13.
● Change Management Earlier, when the requirements were signed off by the customer, any changes
to the requirements were rarely entertained. Customer suggestions are now actively being solicited
and incorporated throughout the development process. To facilitate customer feedback, incremental
delivery models are popularly being used. Product development is being carried out through a series of
product versions implementing increasingly greater functionalities. Also customer feedback is solicited
on each version for incorporation. This has made it necessary for an organization to keep track of the
various versions and revisions through which the product develops. Another reason for the increased
importance of keeping track of the versions and revisions is the following. Application development
through customization has become a popular business model. Therefore, existence of a large number of
versions of a product and the need to support these by a development organization has become common.
In this context, the project manager plays a key role in product base lining and version control. This has
made change management a crucial responsibility of the project manager. Change management is also
known as configuration management. We will discuss change management in Chapter 9.
EXERCISE 1.12
Assume that the development of the pay roll package of Brightmouth College has been entrusted to an
organization who would develop it by customizing one of its products. Discuss the main stages through
which the organization could carry out project development?
CONCLUSION
This chapter has laid a foundation for the remainder of the book by defining what is meant by various terms
such as ‘software project’ and ‘management’. Among some of the more important points that have been made
are the following:
● Projects are by definition non-routine and therefore more uncertain than normal undertakings.
● Software projects are similar to other projects but have some attributes that present particular diffi-
likely to have different objectives. This points to the need for a recognized overall project authority.
● For objectives to be effective there must be practical ways of testing that the objectives have been
met.
● Where projects involve many different people, effective channels of information have to be established.
Having objective measures of success helps unambiguous communication between the various parties
to a project.
Introduction to So ware Project Management 19
● Introduction
● Background: including reference to the business case The detail that goes
into these sections will
● Project objectives be explained in later
chapters. For example,
● Constraints – these could be included with project objectives Chapter 7 relates to
● Methods risk while Chapter 13
explains aspects of the
● Project products: both deliverable products that the client will receive and inter- management of quality.
mediate products
● Activities to be carried out
● Resources to be used
● Risks to the project
● Management of the project, including
■ organizational responsibilities
■ management of quality
■ configuration management
FURTHER EXERCISES
1. List the problems you experienced when you carried out a recent ICT-related assignment. Try to put
these problems into some order of magnitude. For each problem consider whether there was some way
in which the problem could have been reduced by better organization and planning by yourself.
2. Identify the main types of personnel employed in an information systems department. For each stage
of a typical IS development project, list the types of personnel who are likely to be involved.
3. A public library is considering the implementation of a computer-based system to help administer book
loans at libraries. Identify the stakeholders in such a project. What might be the objectives of such a
project and how might the success of the project be measured in practical terms?
4. A software house has developed a customized order processing system for a client. You are an employee
of the software house that has been asked to organize a training course for the end-users of the system.
At present, a user handbook has been produced, but no specific training material. A plan is now needed
for the project which will set up the delivery of the training courses. The project can be assumed to have
been completed when the first training course starts. Among the things that will need to be considered
are the following:
● training materials will need to be designed and created;
● the people attending the course will need to be identified and notified;
● rooms and computer facilities for the course will need to be provided.
20 So ware Project Management