Software Project
Management
By:
Abhimanu Yadav
An Introduction
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?
By: Abhimanu Yadav 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
By: Abhimanu Yadav 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!
By: Abhimanu Yadav 4
Characteristics of projects
A task is more ‘project-like’ if it is:
Non-routine
Planned
Aiming at a specific target
Work carried out for a customer
Involving several specialisms
Made up of several different phases
Constrained by time and resources
Large and/or complex
By: Abhimanu Yadav 5
Are software projects really
different from other projects?
Not really! …but…
• Invisibility
• Complexity
• Conformity
• Flexibility
make software more problematic to build than other engineered
artefacts.
By: Abhimanu Yadav 6
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 weYadav
By: Abhimanu go along 7
The software development lifecycle (ISO
12207)
By: Abhimanu Yadav 8
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
By: Abhimanu Yadav 9
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
By: Abhimanu Yadav 10
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
By: Abhimanu Yadav 11
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
By: Abhimanu Yadav 12
What is management?
This involves the following activities:
• Planning – deciding what is to be done
• Organizing – making arrangements
• Staffing – selecting the right people for the job
• Directing – giving instructions
By: Abhimanu Yadav 13
What is management?
(continued)
• Monitoring – checking on progress
• Controlling – taking action to remedy hold-ups
• Innovating – coming up with solutions when problems emerge
• Representing – liaising with clients, users, developers and other
stakeholders
By: Abhimanu Yadav 14
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
By: Abhimanu Yadav 15
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
By: Abhimanu Yadav 16
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.
By: Abhimanu Yadav 17
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
By: Abhimanu Yadav 18
The business case
Benefits
Benefits of delivered project must outweigh
costs
Costs Costs include:
- Development
- Operation
£ Benefits
- Quantifiable
£ - Non-quantifiable
By: Abhimanu Yadav 19
Management control
By: Abhimanu Yadav 20
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
By: Abhimanu Yadav 21
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.
By: Abhimanu Yadav 22
Thank You
By: Abhimanu Yadav 23