Introduction
Mike Cotterell, Bob Hughes, Rajib Mall -
Software Project Management – Tata
McGraw-Hill,
Fifth Edition
Outline of talk
In this introduction the main questions to be
addressed will be:
– What is software project management? Is it really
different from ‘ordinary’ project management?
– How do you know when a project has been
successful? For example, do the expectations of
the customer/client match those of the
developers?
2
What is a project?
Some dictionary definitions:
“A specific plan or design”
“A planned undertaking”
“A large undertaking e.g. a public works scheme”
Longmans dictionary
Key points above are planning and size of
task
3
Jobs versus projects
‘Jobs’ – repetition of very well-defined and well understood
tasks with very little uncertainty
‘Exploration’ – e.g. finding a cure for cancer: the outcome is
very uncertain
‘Projects’ – in the middle!
4
• Project ??
– Jobs/routine
– Projects
– Exploration/uncertainty
• Difference with other types of project
– Invisibility
– Complexity
– Conformity
– Flexibility
• Project characteristics:
– Non – routine
– Planning
– Specific objective/product
– Time span
– Work for someone
– Specialisms
– Temporary work group
– Phases
– Resources
– Large/complex
Activities covered by project
management
Feasibility study
Is project technically feasible and worthwhile from a business
point of view?
Planning
Only done if project is feasible
Execution
Implement plan, but plan may be changed as we go along
7
• Contract management
• Technical project management
• SPM activities
– Feasibility study
– Planning
– Project execution
• ISO 12207 – software development life cycle
standard
The software development life-cycle (ISO
12207)
9
ISO 12207 life-cycle
Requirements analysis
– Requirements elicitation: what does the client
need?
– Analysis: converting ‘customer-facing’
requirements into equivalents that developers
can understand
– Requirements will cover
• Functions
• Quality
• Resource constraints i.e. costs
10
ISO 12207 life-cycle
• Architecture design
– Based on system requirements
– Defines components of system: hardware,
software, organizational
– Software requirements will come out of this
• Code and test
– Of individual components
• Integration
– Putting the components together
11
ISO12207 continued
• Qualification testing
– Testing the system (not just the software)
• Installation
– The process of making the system operational
– Includes setting up standing data, setting
system parameters, installing on operational
hardware platforms, user training etc
• Acceptance support
– Including maintenance and enhancement
12
Some ways of categorizing projects
Distinguishing different types of project is
important as different types of task need
different project approaches e.g.
• Information systems versus embedded
systems
• Objective-based versus product-based
• Compulsory versus voluntary users
• Outsourced projects
13
• Plan, method, methodologies
– Plan utilizes method
– Methodologies: group of methods
Setting objectives
• Answering the question ‘What do we have
to do to have a success?’
• Need for a project authority
– Sets the project scope
– Allocates/approves costs
• Could be one person - or a group
– Project Board
– Project Management Board
– Steering committee
15
Objectives
Informally, the objective of a project can be defined by
completing the statement:
The project will be regarded as a success
if………………………………..
Rather like post-conditions for the project
Focus on what will be put in place, rather than how
activities will be carried out
16
Objectives should be SMART
S– specific, that is, concrete and well-defined
M – measurable, that is, satisfaction of the objective
can be objectively judged
A– achievable, that is, it is within the power of the
individual or group concerned to meet the target
R– relevant, the objective must relevant to the true
purpose of the project
T– time constrained: there is defined point in time by
which the objective should be achieved
17
Goals/sub-objectives
These are steps along the way to achieving the
objective. Informally, these can be defined by
completing the sentence…
Objective X will be achieved
IF the following goals are all achieved
A……………
B……………
C…………… etc
18
Goals/sub-objectives continued
Often a goal can be allocated to an individual.
Individual may have the capability of achieving goal,
but not the objective on their own e.g.
Objective – user satisfaction with software product
Analyst goal – accurate requirements
Developer goal – software that is reliable
19
Measures of effectiveness
How do we know that the goal or objective has been
achieved?
By a practical test, that can be objectively assessed.
e.g. for user satisfaction with software product:
• Repeat business – they buy further products from us
• Number of complaints – if low etc etc
• MTBF/reliability/performance
20
Stakeholders
These are people who have a stake or interest in
the project
In general, they could be users/clients or
developers/implementers
They could be:
• Within the project team
• Outside the project team, but within the same
organization
• Outside both the project team and the
organization
21
The business case
Benefits of delivered project must
Benefits outweigh costs
Costs include:
- Development
- Operation
Costs
Benefits
- Quantifiable
- Non-quantifiable
£
£ Cost-benefit analysis
Business model: quantification
of benefits
22
• Project success and failure
– Project objective, business objective
• Project success/delivery, business failure
• Project failure/delivery, business success
– Customer relationships
• Project management
processes/PRINCE2/PMBOK
– Phases/activities
• Project initiation/project planning
• Project execution/project monitoring and
control/project plan revision
• Project closing
• Management control: data collection,
information, plans, modelling,
implementation
• Management
– Planning: deciding what is to be done
– Organizing: making arrangements
– Staffing: selecting right people for the job
– Directing: giving instructions
– Monitoring: checking on progress
– Controlling: taking actions to remedy hold-ups
– Innovating: coming up with new solutions
– Representing: liaising with clients, users, developer,
suppliers and other stakeholders
Management control
26
Management control
Data – the raw details
e.g. ‘6,000 documents processed at location X’
Information – the data is processed to produce
something that is meaningful and useful
e.g. ‘productivity is 100 documents a day’
Comparison with objectives/goals
e.g. we will not meet target of processing all documents by 31st
March
continued…..
27
Management control - continued
Modelling – working out the probable
outcomes of various decisions
e.g. if we employ two more staff at location X how
quickly can we get the documents processed?
Implementation – carrying out the remedial
actions that have been decided upon
28
• Traditional versus modern project
management practices
– Planning incremental delivery
– Quality management
– Change management
Key points in lecture
• Projects are non-routine - thus uncertain
• The particular problems of projects e.g. lack of
visibility
• Clear objectives are essential which can be
objectively assessed
• Stuff happens. Not usually possible to keep precisely
plan – need for control
• Communicate, communicate, communicate!
30
Important topics in course
• Cost-benefit evaluation
• Risk evaluation
• Activity planning
• Risk management
• Monitoring and control
• Contract management
• People management
Exercises
• Order on the basis of being project-like:
1. Producing an edition of a newspaper
2. Putting a robot vehicle on Mars to search for signs of life
3. Getting married
4. Amending a financial computer system to deal with a common
European currency
5. A research project into what makes a good human-computer
interface
6. An investigation into the reason why a user has a problem with a
computer system
7. A second-year programming assignment for a computing student
8. Writing an operating system for a new computer
9. Installing a new version of a word processing package in an
organization
Answer
• 2, 8, 4, 9, 6, 3, 5, 1, 7