Introduction To Software Project Management
Introduction To Software Project Management
SOFTWARE PROJECT
MANAGEMENT
OBJECTIVES
strategic goals.
UNIT I Introduction to Software Project Management:
• Obtain adequate knowledge about software process models and software effort
estimation techniques.
• Define the checkpoints, project reporting structure, project progress and tracking
mechanisms using project management principles.
• Learn staff selection process and the issues related to people management
TEXT BOOK:
1. Bob Hughes, Mike Cotterell and Rajib Mall: Software Project Management
– Fifth Edition, Tata McGraw Hill, New Delhi, 2012.
REFERENCES:
Definition
Non-Software Examples?
A wedding
A BTech degree
A house construction project
A political election campaign
JOBS VERSUS PROJECTS
Tasks or Jobs – repetition of very well-defined and well
understood tasks with very little uncertainty
Exploration – the outcome is very uncertain.. e.g. finding a cure
for cancer
‘Projects’ – in the middle! Has challenge as well as routine..
Therefore project management Important…
CHARACTERISTICS OF
PROJECTS
Non-routine tasks are involved
Planning is required
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
SOFTWARE PROJECT MANAGEMENT
DEFINITION
Software project management is the art and
science of planning and leading software
projects.
It is a sub-discipline of project management
Feasibility study
Is project technically feasible and worthwhile from a business
point of view?
Planning
Only done if project is feasible
Execution monitoring and control
Monitor and control plan implementation, but plan may be
changed as project proceeds
FEASIBILITY STUDY
It assesses whether a project is worth
starting-that it has a valid business case.
It is based on an outline design of system
emerge…
other stakeholders…
ISO 12207 LIFE-CYCLE
1. Requirements analysis
Requirements elicitation(or gathering): 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
2. Architecture design
🞑 Based on system requirements
🞑 Defines components of system: hardware, software, organizational
🞑 Software requirements will come out of this.
3.Detailed Design
Each component is made up of no. of software units that can be
tested separately
4. Code and test of individual components – writing code for each
software unit.
5. Integration
🞑 Putting the components together and tested together to see if they
meet the overall requirements.
ISO 12207
6. Qualification testing
🞑 Testing the system whether all the requirements have been fulfilled (not just
the software)
7. Installation
🞑 The process of making the new system operational.
Embedded systems
Controls h/w
Eg. Automobile control software, robots, toys, TV remote..
STAKE HOLDERS
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
SETTING OBJECTIVES
Answering the question ‘What do we have to do to have a project
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
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
Individual may have the capability of achieving goal, but not the objective on
their own e.g.
us fo
e r
the
benefits
application
buil
d to
deliver
•Providing an organization with a capability does not guarantee that
this will provide benefits – need for benefits management
•This has to be outside the project – project will have been
completed.. Therefore done at programme level.. 38
BENEFITS
MANAGEMENT
39
Cost benefit analysis (CBA)
You need to:
Identify all the costs which could be:
🞑 Development costs, Set-up, Operational costs
Identify the value of benefits
Check benefits are greater than costs
COST BENEFIT ANALYSIS (CBA)/ COST
BENEFIT EVALUATION
TECHNIQUES(CBET)
Net profit
Year Cash-flow
‘Year 0’ represents all the
0 -100,000 costs before system is operation
1 10,000 ‘Cash-flow’ is value of
2 10,000 incomeless
3 10,000 outgoing
4 20,000 Net profit value of all the cash-flows for
the lifetime of the application
5 100,000
Net
50,000
profit
COST BENEFIT ANALYSIS (CBA)/ COST
BENEFIT EVALUATION
TECHNIQUES(CBET)
Pay back period This is the time it takes to
start generating a surplus of income over
outgoings. What would it be below?
Year Cash-flow Accumulated
0 -100,000 -100,000
1 10,000 -90,000
2 10,000 -80,000
3 10,000 -70,000
4 20,000 -50,000
5 100,000 50,000
COST BENEFIT ANALYSIS (CBA)/ COST
BENEFIT EVALUATION
TECHNIQUES(CBET)
Return on investment
(ROI)ROI Average annual X
profit Total
= 100
investment
In the previous example
•average annual profit
= 50,000/5
= 10,000
•ROI = 10,000/100,000 X
100
= 10%
COST BENEFIT ANALYSIS (CBA)/ COST
BENEFIT EVALUATION
TECHNIQUES(CBET)
Decision trees
PROGRAMME
MANAGEMENT
Definition:
Strategic
‘a group of projects
Business thatprogrammes
cycle are managed in a co-ordinated way to gain
benefits that would not be possible were the projects to be managed
Infrastructure programmes
independently’ Ferns
Research and development programmes
Programmes may be
Innovative partnerships
PROGRAMME MANAGERS VERSUS PROJECT
MANAGERS
Next stages/documents
The programme brief – equivalent of a feasibility study:
emphasis on costs and benefits
The vision statement – explains the new capability that the
organization will have
The blueprint – explains the changes
to be made to obtain the new capability
STEP WISE PROJECT
PLANNING
Practicality
🞑tries to answer the question ‘what do I do now?’
Scalability
Accepted techniques
0.Select
1. Identify project 2. Identify
project project
objectives infrastructur
3. e
Analyse
project
Revie character
4. Identify
istics
w products
and activities
5.
5. Estimate
Estimate
Lowe effort
effort for For
r foractivity
activity
6.
6. Identify
Identify each
level activit
activity
activity
detail y
10.
10. Lower
Lower level risks risks
level 7. Allocate
planning
planning resources
8. Review/
9. Execute plan publicize
plan
A PROJECT SCENARIO
Hardware/software engineering company (C++
language of choice)
teams are selected for individual projects - some friction
has been found between team members
HR manager suggests psychometric testing to select team
Software package to be used to test staff
Visual basic suggested as a vehicle for implementation
usability is important - decision to carry out usability tests
STEP 1 ESTABLISH PROJECT SCOPE AND
OBJECTIVES
interests
🞑 ‘who will be affected/involved in the project?’
1.4 Modify objectives in the light of stakeholder
analysis
🞑 ‘do we need to do things to win over stakeholders?’
1.5 Establish methods of communication with all parties
Product identity
Description - what is it?
Derivation - what is it based on?
Composition - what does it contain?
Format
Relevant standards
Quality criteria
Book
machine
STEP 4.5 ADD CHECK-
POINTS IF NEEDED
Design Code
module A module A
Design Code
module C module C
STEP 5:ESTIMATE EFFORT FOR EACH
ACTIVITY