CIS265 Software Project
Program in Computer & Information
Instructor: Rajendra Akerkar
E-mail: akerkar [at] tmrfindia.org
Number of Units: 4
Schedule: Three hours of lecture and one hour of discussion
Prerequisite: CIS 260
This course will introduce
the area of software project management, presenting basic
techniques and approaches and aiming to develop a critical
awareness of the challenges and shortcomings of the area.
The module builds on a knowledge of Software
Engineering presented in CIS 260. It is assumed that students
have a basic knowledge about the decomposition of a project
into phases, and the relation of these phases to the Software
Development Life Cycle. This understanding will be developed
and clarified in the module. Software Project Management is an
important area of study since most non-trivial software
development efforts will be make use of some type of project
management approach in an aim to manage the development
process in such a way that the software meets its requirements
and is on-time and within budget. Through your practical
application of software project management techniques, the
module will aim to highlight their problems. You will be
expected to critically reflect on the inherent limitations of
project management techniques to build a wider understanding
and appreciation of the difficulties associated with
developing software within a project framework. This will lead
to a questioning of the notions of success and failure that
are at the heart of project management and their relation to
project-based approaches to software systems development.
This course will introduce
and develop concepts that are seen as central to the effective
management of software projects. You will be expected to
develop an appreciation of key, generic project management
concepts and techniques as well as those techniques and
approaches that are specific to the management of software
projects. As well as knowing the core techniques, you will be
expected to apply them across a limited range of software
project management scenarios.
broad learning outcomes for the module are as follows:
will also be specific learning outcomes for each session as we
progress through the module. These will be presented at the
start of each session as an introduction and to provide
structure for the session. The syllabus structure is as
able to explain how a project can be broken down into
stages and what each stage contributes to the project
able to select appropriate techniques for use in the
stages of a project
able to justify the appropriateness of these techniques,
and apply them to practical situations
able to explain the limitations of the project approach in
developing information/software systems
The course introduces and
examines the central software project management techniques
The course will explore the following topics
1. the profile of a project
2. understanding and decomposing the task
3. estimation and risk
4. scheduling and resourcing
5. monitoring and control
6. quality assurance
8. the project team and the project manager
9. alternative approaches and emerging issues
You should develop a sound
knowledge of the software project management process and some
of its constituent techniques, whilst also developing a
critical awareness of the characteristic limitations of
software project management as a paradigm for the development
of software systems.
Structure and Syllabus
Project Management Techniques and Concepts
Session 1: An
Introduction to Software Project Management
This session provides the context for the module. Scenarios in
which software projects are likely to be situated are
explored, including projects aimed towards product development
and those situated within an organisational context where the
project is an agent of change. The session will consider the
characteristics of software projects which distinguish them
from non-software/conventional engineering projects, so that
we can start to see what general project management knowledge
and techniques might be useful in software project management.
This will help us introduce, at a high level, the techniques
to be covered in the remainder of the theme. There is no
preparatory reading specifically for this session, but Kemerer
(1997), Chapter 1, provides an excellent introduction to
the subject of software project management and its
problems/challenges which will resurface in Theme II of the
Session 2: The Profile of a Project
This session will propose a broad model of a project in terms
of the phases that projects tend to pass through (project
start-up; development; completion; operation) and discuss how
we can develop representations of these phases in terms of
process models. The session will also briefly consider the
role of (system development) lifecycle models (such as the
waterfall model, incremental model, spiral model) and
structured methods (such as SSADM) within software project
Yeates and Cadle (1996). Chapter 5.
Session 3: Understanding and Decomposing the
This session will discuss the role of developing a project
plan. The importance of trying to understand the task that is
to be addressed in the project and the ways in which it can be
broken down will be examined. This will include understanding
the requirement of the project and looking for different ways
in which this can be decomposed into distinct levels and
activities (such as work and product breakdown structures).
The importance of understanding the dependencies between
different activities will be explored through a discussion of
network diagrams and critical path analysis (CPA). Other
planning aids, ranging from simple manual techniques such as
Gantt charts through to more complex and sophisticated
planning tools, will be introduced.
Yeates and Cadle (1996). Chapter 6.
Pressman (1997). Chapter 3, section 3.3. Chapter 5, sections
5.1, 5.2, 5.3, and 5.6.
Session 4: Estimation and Risk
This session will discuss the nature of estimation and its
role in software project management. Different methods for
estimating will be introduced (such as the analogy method,
analysis effort method, programming method, the Delphi
technique, CoCoMo, and function point analysis). Allied to
estimation are issues of risk. For example, there may be risks
to the project associated with using particular resources or
from the political climate in the organisation. It is
important that these risks are understood so that they, and
their impact on the project, can be managed.
Yeates and Cadle (1996). Chapters 7 and 13.
Kemerer (1997). Chapters 2 and 5. Advanced reading is
Pressman (1997). Chapter 5, section 5.7. Chapter 6
Session 5: Scheduling and Resourcing
This session will draw together the previously introduced
topics of task decomposition and estimation to show how
dependency information and estimates can be brought together
to form a workable schedule for projects. The session will
also introduce the notion of contingency and how to build it
into project schedules to deal with possible problems that may
arise in projects. The different ways in which the schedules
can be translated into written plans will be introduced along
with the characteristics of different approaches to
Yeates and Cadle (1996). Chapter 8.
Pressman (1997). Chapter 7.
Session 6: Monitoring and Control
Having reached a stage in our discussion of software project
management where we will move on to consider issues in the
actual running of the project. These include monitoring the
progress of the project and making changes to try to keep the
project on course. Selected methods for monitoring effort,
cost and quality will be introduced. If the monitoring
processes identify areas where the project had problems, it is
important that those involved in the project take corrective
action to control the project. The value of selected
corrective actions (such as adding more staff, adding
different skills, using overtime, changing the project plan)
will be introduced.
Yeates and Cadle (1996). Chapters 9 and 10.
Session 7: Quality Assurance
A key issue in software project management is quality
assurance. This session will discuss notions of quality and
approaches to ensuring quality in software project management
that have been developed. This will include the work of
prominent individuals (such as Deming, Juran, Crosby and
Fagan) along with the development of coherent quality
assurance frameworks such as total quality management (TQM)
and systems such as ISO 9000.
Yeates and Cadle (1996). Chapter 12.
Pressman (1997). Chapter 8.
Session 8: Maintenance
A difficult area in software project management is the
maintenance of the software system. This session will examine
the nature of maintenance and why it is important that it is
considered in the context of software project management.
Kemerer (1997). Chapter 11.
Pressman (1997). Chapter 8.
Session 9: The Project Team and the Project
This session will look at the roles of the manager and team
members in project work. The nature of the individual, their
characteristics and personality within the team will be
discussed as will the role of the project manager. Broad
issues of team formation and effective team working will be
Yeates and Cadle (1996). Chapters 18 and 20 (Chapters 21 and
22 are also relevant as further reading). Pressman (1997).
Chapter 3, section 3.2.
Session 10: Alternative Approaches and Emerging
In this session we will introduce alternative techniques and
approaches which acknowledge some of the limitations of
'traditional' approaches to software project management. These
may be development techniques such as Rapid Application
Development (RAD) which aim to shorten project development
time, or quality systems such as the Capability Maturity Model
for Software (CMM) and the Software Process Improvement
Capability dEtermination (SPICE) project. Kemerer (1997).
Pressman (1997). Chapter 29.
Humphrey (1989) and Humphrey (1995) are advanced reading
for those interested in CMM and the philosophy behind it.
module is formally assessed wholly through examination. The
paper is two and half hours long, and you will be expected to
answer four questions from six. The examination will be held
at the end of the semester in the University's examination
schedule. You will also be expected to integrate material from
other relevant modules which may form background to aspects of
systems project management.
Yeates, D. and Cadle, J. (1996). Project Management for Information Systems (2nd edition) (London, UK: Pitman Publishing).
Pressman, R. S. (1997). Software Engineering (4th Edition) (London, UK: McGraw-Hill).
Kemerer, C. F. (1997). Software Project Management: Readings and Cases (Chicago: IRWIN).
Humphrey, W. S. (1989). Managing the Software Process (Reading, Mass.: Addison-Wesley).
Humphrey, W. S. (1995). A Discipline for Software Engineering (Reading, Mass.: Addison-Wesley).
Lawrence J. Peters (2004). Software Project Management: Methods and Techniques. (Software Consultants International Ltd.)
Back to Rajendra's