VALLEY VIEW UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE
COCS346 SOFTWARE ENGINEERING
Lessons 5 — SOFTWARE PROJECT MANGEMENT
LECTURE NOTES
COURSE LECTURER
Mr. HENRY QUARSHIELesson 5 - Software Project Management
Lesson 5 - SOFTWARE PROJECT MANAGEMENT
5. INTRODUCTION
Building computer software isa complex undertakings particularly ifit involves many people working CV"
a relatively long time thus software project management forms an essential part of software engineering.
‘Good management cannot guarantee Project Sucre Honever, bad management usually results in
project failure; the software is vielivered late, costs more than originally ‘estimated and fails to meet its
requirements.
Software managers are responsible for planning and scheduling project development. They supervise the
‘work to ensure that it is carried out to the required standards ‘and monitor progress to check that the
development is on time and within budget. Software managers do the same kind of, job as other engineering
project managers. However, “oftware engineering is different from other types ‘of engineering in a number
Pr ways. These distinctions make software management particularly difficult. Some of the differences are:
The product is intangible ~ The manager of & shipbuilding project or of a civil engineering project
re Prete product being developed. Ifa schedule SPs: he effect on the product is visible (1. parts
sly unfinished). Software is intangible Tt cannot be seen or touched:
of the structure are obviou: e
Software project managers cannot see Progress. They rely on others to produce the documentation
needed to review progress.
«There are no standard software processes ~ In engineering disciplines with a long history, the
process is tried and tested. The engineering process or some types of system, such as bridges and
paildings is well understood. However, software processes VIF dramatically from one organization
to another. Although our understanding of these processes hhas developed significantly in the past
few years, we still cannot reliably predict when @ particular software process is likely to cause
development problems. This is especially true when the software project is part of a wider systems
engineering project.
«Large software projects are often ‘one-off projects — Large software projects are usually different in
some ways from previous projects. Therefore, even manag who have a large body of previous
experience may find it difficult to anticipate problems, Furthermore, rapid technological changes in
computers and communications can make a manager's experience obsolete. Lessons leamed from
previous projects may not be transferable to new projects.
Because of these problems, it isnot suprising that some software projects are Jie, OVE budget and behind
areajule. Software systems are often new and technically innovative. Engineering projects (such as new
transport systems) that are innovative often also have schedule problems. Given the difficulties involved, it
is perhaps remarkable that so many software projects are delivered on time and fo budget!
5.0.1 What is Software Project Management?
Softnare Projet ‘Management involves the planning, monitoring, and control of the people, process, and
gecur as software evolves from a preliminary concept fo an operational implementation. :
5.0.2 Who does it?
Everyone “m P
yone “manages” to some extent but the scope of management activities varies among people involved
in a software project. The software project
Basen nae at project manager is responsible for the management of the software
Software Engineering Notes Compiled b
‘Henry Quarshie (MSc}@ 2008 e2
Lesson 5 - Software Project Management
Manages the day-to-day activities, planning, monitoring, and controlling technical tasks.
Plan, monitor, and control the work of a team of software engineers.
Supervise the work to ensure that it is carried out to the required standards
Monitor progress to check that the development is on time and within budget.
5.0.3 Why is Software Project Management important?
We need software project management because professional software engineering is always subject fo
organizational budget and schedule constraints. The software project manager's job iso enatve that the
rawvare project meets these constrains and delivers software that contributes tothe gosls of the company
developing the software.
NOTE: Effective software project management focuses on the four p's: people, product, process, and
project.
Pespte must be organized to perform software work effectively. Therefore a manager Who forgets that
repetare engineering work isan intensely human endeavor will never have success in project management
Sommunieation with the customer and other stakeholders must occur so that product scope and
requirements are understood. Thus a manager who fails to encourage comprehensive stakeholder
arin early inthe evolution ofa project risk building an elegant solution forthe wrong problem,
‘A process must be selected that is appropriate forthe people and the product. This meats that the manager
‘vo pays litle attention tothe process runs the rsk of inserting competent technical methods and tools into
an the project must be planned by estimating work tasks; defining work, products, establishing
Gualty checkpoints and identifying mechanisms to monitor and control work defined Py the plan.
5.1 The PEOPLE
“The Stakeholders ~ the software process (and every software project) is populated by stakeholders who can
be categorized into one of five constituencies.
1, Senior Managers who define business issues that often have significant influence on the project.
Basically, coordinate the interface between the business and software team.
2. Project (technical) managers who must plan, motivate, organize, and control the practitioners who
do software work.
3, Practitioners who deliver the technical skills that are necessary to engineer a product or application.
+ Customers who specify the requirements for the software to be engineered and other stakeholders
‘who have a peripheral interest in the outcome,
5, End-Users who interact with the software once it is released for production use.
5.1.1 Team Leaders
Foc Tenders ensure that the people for a project are organized into a team in a way that maximizes each
person’s skills and abilities.
What do we look for when choosing someone to lead a software project?
1 Motivation - the ability to encourage (by “push or pull”) technical people to produce to their best
ability.
«Organization — te ability to mold existing processes (or invent new ones) that will enable the initial
‘concept to be translated into a final product.
Software Engineering Notes Compiled by
‘Henry Quarshie (MSc) @ 2008