You are on page 1of 44

ASSI STANT PROFESSOR

LPU, PUNJAB
Software Project Management
Till far we have studied
Whats a project?
What makes software projects different
Project Perspectives
Software Management Basics

1.1 What is a Project?
Project is a temporary endeavor undertaken to create a
unique product or service.
Project is a well defined set of tasks or activities that
must be completed in order to meet the projects goal.

Non routine tasks :
Planning reqd.
Sp. Objective to be met/ sp. Products to be created
Predetermined time span
Work is done for others
Work is carried out in several phases
Resource constraints
Projects could be large and/or complex

1.2 Project vs Programme
Project is a nonrepetitive set of activities leading to
singular product or service and gets over in a limited /
finite time frame
Great wall of China
Suez Canal
Taj Mahal
Programme is a repetitive array of activities carried out
on a longer/ indefinite time frame to accomplish many
no of similar / dissimilar projects

Identify : project or programme ????
putting a robot vehicle on Mars to search for sign of
life
Writing an operating system
1.3 Project Success or Failure

A project success is usually measured in terms of
whether it is completed within specified time and under
stipulated budget
If it exceeds uncontrollably it is termed as a failure.

However there is more to a projects success than just its
completion within time and budget
Meeting customer specifications
Degree of customer satisfactions
Level of success in the market place
Result in greater revenue and profits

1.4 Software project vs other project
Invisibility, A bridge or road can actually be seen.
With software, progress is not immediately visible.
Complexity, Per dollar, pound or euro spent,
software products contain more complexity than
other engineered artefacts.
Conformity, Software developers have to
conform to the requirements of human clients
Flexibility, The ease with which software can be
changed is usually seen as one of its strengths.

1.5 Type of Software
System Software
Real time Software
Business Software
Engg. N scientific Software
Embedded Software
PC based Software
Web based Software
AI based Software
Open source Software
1.6 Problem with software project
poor estimates and plans;
lack of quality standards and measures;
lack of guidance about making organizational
decisions;
lack of techniques to make progress visible;
poor role definition who does what?
incorrect success criteria.

1.7 Why Projects need to be Managed ?
Because resources are limited

Because project has to be delivered within time and budget

Therefore in order to maximise output (with regard to
project delivery) with the limited input resource ,
managerial attention is needed.

1.8 Project Management (Defn.)

PMI defines Project Management as the Art of directing
and coordinating human and material resources through
out the life of a project by using modern management
techniques to achieve predetermined objectives of scope,
cost, time, quality and participant satisfaction

1.9 Activities in Software Project Management
There are four broad phases in any project life cycle

1. Preplanning--- Conceptualization, Formulation and Selection
(Project feasibility study, Project Scoping)

2. Planning--- Task definition and break ups, resource estimation

3. Scheduling and Control--- Resource allocation, task execution,
feedback and review

4. Implementation and Termination--- Project completion,
closure and hand over.

13
1.10 Step Wise Project planning
1. Identify
project objectives
2. Identify project
infrastructure
3. Analyse
project
characteristics
4. Identify products
and activities
5. Estimate effort
for activity
8. Review/ publicize
plan
6. Identify activity
risks
7. Allocate
resources
9. Execute plan
10. Lower level
planning
Review
Lower
level
detail
For each
activity

0.Select
project

A project scenario
LPU Shopping mall Project
Where to setup ..
Which brand
Facilities
Stakeholders
Virtual money


Step 1 establish project scope and
objectives
1.1 Identify objectives and measures of effectiveness
how do we know if we have succeeded?

1.2 Establish a project authority
who is the boss?

1.3 Identify all stakeholders in the project and their 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
how do we keep in contact?




Step 2 Establish project infrastructure
2.1 Establish link between project and any strategic
plan
why did they want the project?

2.2 Identify installation standards and procedures
what standards do we have to follow?
Software life cycle??

2.3. Identify project team organization
where do I fit in?
Step 3 Analysis of project characteristics
3.1 Distinguish the project as either objective or product-based.
Is there more than one way of achieving success?

3.2 Analyse other project characteristics (including quality based
ones)
what is different about this project?
Identify high level project risks
what could go wrong?
what can we do to stop it?
Take into account user requirements concerning implementation
Select development methodology and life cycle approach
waterfall? Increments? Prototypes?
Review overall resource estimates
does all this increase the cost?

Step 4 Identify project products
and activities
4.1 Identify and describe project products - what
do we have to produce?
What will be the deliverables


19
Products
The result of an activity
Could be (among other things)
physical thing (installed pc),
a document (logical data structure)
a person (trained user)
a new version of an old product (updated software)
The following are NOT normally products:
activities (e.g. training, design, testing )
events (e.g. interviews completed)

Products CAN BE deliverable or intermediate

Product breakdown structure(PBS)
Main product have sets of component products
Product are grouped into those relating to the system
as whole and those related to individual module.

Project
Products
System
Project
Module
Products
Management
Projects
Progress
Report
Module Code
Module
Design doc
Tested
integrated
software
Overall
specification
21
Product description (PD)
Product name/identity
Description - what is it?
Derivation - what is it
based on?
Composition - what does
it contain?
Format: form of the
product

Relevant standards
Quality criteria


PDs can usually be re-
used from one project to
another.


Step 4 continued
4.2 Document Generic Product flows

Need of other product to exit first before their
creation
Product flow diagram (PFD)
Shows the order in which the products have to be completed.
Defines a method of working
22
User
Requirement
Overall system
Specification
Module
design
Integrated
system test case
Module code
Integrated
software
23
Step 4.3 Recognize product instances
The project breakdown structure (PBS ) and
Project flow diagram (PFD) will probably have
identified generic products e.g. software modules
It might be possible to identify specific instances e.g.
module A, module B

But in many cases this will have to be left to later,
more detailed, planning
24
4.4. Produce ideal activity network
Identify the activities needed to create each product
in the PFD
More than one activity might be needed to create a
single product
Draw up activity network

25
An ideal activity
Specify overall
system
Design
Module A
Design Integration
Test case
Design
Module B
Code module
A
Test Integration
software
Code module
B
30
Step 4.5 Add check-points if needed

Design
module A
Design
module B
Design
system
Design
module C
Code
module A
Code
module B
Code
module C
Test
system
Design
module A
Design
module B
Design
system
Design
module C
Code
module A
Code
module B
Code
module C
Test
system
Check-point
put in a
check point

31
Step 5:Estimate effort for each activity
5.1 Carry out bottom-up estimates
Estimation of staff effort required
distinguish carefully between effort and elapsed time
Effort : Total number of staff-hours (or days etc) needed to
complete a task
Elapsed: time between the start and end of the task.
5.2. Revise plan to create controllable activities
break up very long activities into a series of smaller ones
as we cant judge the status in long activities
bundle up very short activities (create check lists)
32
Step 6: Identify activity risks
6.1.Identify and quantify risks for activities
damage if risk occurs (measure in time lost or money)
likelihood if risk occurring
Identify the assumptions : client requirement is clear

6.2. Plan risk reduction and contingency
measures
risk reduction: activity to stop risk occurring
contingency: action if risk does occur
Eg : contracting staff


33
6.3 Adjust overall plans and estimates to take
account of risks
e.g. add new activities which reduce risks associated with
other activities e.g. training, pilot trials, information
gathering
34
Step 7: Allocate resources
7.1 Identify and allocate resources to activities
Eg staff need for each activities

7.2 Revise plans and estimates to take into account
resource constraints
More than one task assigned to staff
e.g. staff not being available until a later date
non-project activities

The McGraw-Hill Companies, 2005
35
Gantt charts
Select subjects
Design
questionnaire
Book machine
Conduct tests
Analyse results
Week
commencing
5
12
19
26
MARCH
APRIL
9
16

Plan testing
2
Draft changes
LT
TA
LT
TA
LT
LT
TA
LT = lead tester
TA = testing assistant
36
Step 8: Review/publicise plan
8.1 Review quality aspects of project plan
Each task should have quality criteria
Quality check has to be passed
8.2 Document plan and obtain agreement
Proper documentation
Agreement of all parties

Step 9 and 10: Execute plan
and create lower level plans
Step 9 &10: Execute plan/ low level
of planning
Make provisional plan for distant task
Execute plan
38
Step Wise Project planning
1. Identify
project objectives
2. Identify project
infrastructure
3. Analyse
project
characteristics
4. Identify products
and activities
5. Estimate effort
for activity
8. Review/ publicize
plan
6. Identify activity
risks
7. Allocate
resources
9. Execute plan
10. Lower level
planning
Review
Lower
level
detail
For each
activity

0.Select
project

Draw up a product breakdown structure of
a computer.

a product breakdown structure of
a computer.
Scenario
There is a garden shed in a garden. The project is to
dismantle the shed and reassemble it in the garden
of a close neighbour. The shed has some rotten
pieces. When the shed has been dismantled, these
rotten pieces must be identified and replacements
ordered from the company that supplied the original
shed. New fixtures and fittings (screws, nuts and
bolts, glue etc.) for all pieces will be needed, so a list
of the requirements is to be made as the shed is
dismantled. The neighbour has said that he will
prepare the site for the sheds new location as part of
his own, separate project.
product breakdown structure of the old shed
Product Flow Diagram
Develop a project planning for Course Scheduling
System in LPU .


Course scheduling software is meant to create a
schedule for courses in a department, given the
preferences of professors and the information on
available rooms and timeslots for courses

You might also like