Professional Documents
Culture Documents
5 ProjPlanning Jalote
5 ProjPlanning Jalote
Project
From
1
Agenda
❚ Background
❚ Process planning
❚ Effort estimation
❚ Schedule and resource estimation
❚ Quality Planning
❚ Risk management
❚ Configuration Management
❚ Project monitoring plans
2
Software Project
3
Project Failures
❚ Major reasons for project runaways
❙ unclear objectives
❙ bad planning
❙ no project management methodology
❙ new technology
❙ insufficient staff
❚ All of these relate to project management
❚ Effective project management is key to
successfully executing a project
4
Why improve PM?
5
Why improve PM ….
6
Two Dimensions in project
execution
7
Process-based Project
Execution
9
Project Planning
❚ Basic objective: To create a plan to meet the
commitments of the project, I.e. create a path
that, if followed, will lead to a successful project
❚ Planning involves defining the LC process to be
followed, estimates, detailed schedule, plan for
quality, etc.
❚ Main output - a project management plan and
the project schedule
10
Key Planning Tasks
❚ Define suitable processes for executing the project
❚ Estimate effort
❚ Define project milestones and create a schedule
❚ Define quality objectives and a quality plan
❚ Identify risks and make plans to mitigate them
❚ Define measurement plan, project-tracking
procedures, training plan, team organization, etc.
11
Process Planning
12
Life Cycle Process
❚ Various LC models - waterfall, iterative,
prototyping; diff models suit different projects
❚ During planning can select the model that is
best for the project
❚ This gives the overall process which has to be
fine-tuned to suit the project needs
❚ Usually done by process tailoring - changing the
process to suit the project
❚ Tailoring finally results in adding, deleting,
modifying some process steps
13
Effort Estimation
14
Effort Estimation
15
Estimation..
17
Effort Estimation Models..
❚ A model tries to determine the effort estimate
from some parameter values
❚ A model also requires input about the project,
and cannot work in vacuum
❚ So to apply a model, we should be able to
extract properties about the system
❚ Two types of models - top-down and bottom-up
18
Effort Estimation Models
K n o w le d g e a b o u t
S W p r o je c t
E ffo r t E s tim a te
E x tr a c t E s tim a tio n M o d e l
V a lu e s o f s o m e
c h a ra c te r is tic s
19
Top-down Estimation
❚ First determines the total effort, then effort
for components
❚ Usually works with overall size
❚ One method is to see estimate as a function
of effort; the common function used is
Effort = a * size b
❚ E is in person-months, size in KLOC
❚ Constants a and b determined through
regression analysis of past project data
20
Top down estimation
❚ Can also estimate from size and productivity
❙ Get the estimate of the total size of the software
❙ Estimate project productivity using past data and
project characteristics
❙ Obtain the overall effort estimate from
productivity and size estimates
❚ Effort distribution data from similar project
are used to estimate effort for different
phases
21
Bottom-up Estimation
22
An Estimation Procedure
❚ Identify programs in the system and classify them as
simple, medium, or complex (S/M/C)
❚ Define the average coding effort for S/M/C
❚ Get the total coding effort.
❚ Use the effort distribution in similar projects to
estimate effort for other tasks and total
❚ Refine the estimates based on project specific factors
23
COCOMO Model for
Estimation
❚ Is a top-down approach
❚ Uses size, but adjusts using some factors
❚ Basic procedure
❙ Obtain initial estimate using size
❙ Determine a set of 15 multiplying factors
from different project attributes
❙ Adjust the effort estimate by scaling it with
the final multiplying factor
24
COCOMO..
26
COCOMO – effort distribution
27
Sizing With Function
Points
28
Sizing
29
Function Points
31
Function Points…
❚ Simple : a few data elements
❚ Complex : many data elements and many internal
files needed for processing
❚ Only files needed by the application are counted.
( HW/OS config. Files are are not counted )
External output type :
❚ each unique output that leave system boundary
❚ E.g.
❙ Reports , messages to user , data to other applications
❚ Simple : few columns
32
Function Points…
34
Function Points…
35
Function Points…
❚ Interest in FP
❙ since obtained at requirements => major advantage
❚ Well correlated with size
❙ in some what interchangeable and tables exist
❚ 1 FP = 70 LOC of C
❚ Works well for MIS , but not for system type
❚ Major draw back - subjectivity
❙ not repeatable
❙ not precisely known ever for a built system
❙ not addictive
36
Scheduling and Staffing
37
Project Schedule
38
Overall Schedule
39
Overall Scheduling...
❚ One method is to estimate schedule S (in
months) as a function of effort in PMs
❚ Can determine the fn through analysis of past
data; the function is non linear
❚ COCOMO: S = 2.5 E 3.8
❚ Often this schedule is checked and corrected for
the specific project
❚ One checking method – square root check
40
Determining Overall
Schedule from past data
Effort in person-days
400
350
300
Schedule (Days)
250
200
150
100
50
0
0 200 400 600 800 1000 1200 1400 1600 1800
41
Determining Milestones
42
Manpower Ramp-up
PTS
D e s ig n B u ild Test
43
Milestones ...
44
An Example Schedule
# Task Dur. Work (p- Start End
(days) days) Date Date
46
Detailed Scheduling
❚ Detailed schedule not done
completely in the start - it evolves
❚ Can use MS Project for keeping it
❚ Detailed Schedule is the most live
document for managing the project
❚ Any activity to be done must get
reflected in the detailed schedule
47
An example task in detail
schedule
Module Act Code Task Duration Effort
48
.Project Scheduling…..
❚ The scheduling process
49
..Project
Scheduling….
❚ Graphical notations used in software
project scheduling:
❙ Tables: summary description of tasks
❙ Bar charts: show schedule against the time
❙ Activity charts: graphs that depict
dependencies between tasks and indicate
the critical path (the longest path in the
activity graph)
50
…Project Scheduling…
❚ Example of tabular description [Fig. 5.5,
SE-7]:
Ta s k D uration (d ays ) D ependenci es
T1 8
T2 15
T3 15 T1 (M 1)
T4 10
T5 10 T2, T4 (M 2)
T6 5 T1, T2 (M 3)
T7 20 T1 (M 1)
T8 25 T4 (M 5)
T9 15 T3, T6 (M 4)
T10 15 T5, T7 (M 7)
T11 7 T9 (M 6)
T12 10 T11 (M 8 )
51
….Project Scheduling..
❚ Example of activity chart
14/7/03 15 days
15 days
M1 T3
8 days T9
T1 5 days 4/8/03 25/8/03
25/7/03
4/7/03 T6 M4 M6
M3
start 20 days 7 days
15 days
T7 T11
T2
25/7/03 11/8/03 5/9/03
10 days 10 days
M2 M7 M8
T4 T5 15 days
T10 10 days
18/7/03
T12
M5
25 days
T8 Finish
52
19/9/03
…..Project Scheduling.
❚ Example of bar chart
4
/7 11
/7 1
8/7 2
5/7 1
/8 8
/8 1
5/8 2
2/8 2
9/8 5
/9 1
2/9 1
9/9
S
tart
T4
T
1
T2
M
1
T
7
T
3
M5
T8
M
3
M
2
T
6
T
5
M
4
T
9
M
7
T
10
M
6
T
11
M
8
T
12
53
F
inish
……Project Scheduling
❚ Staff allocation chart
4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
Fred T4
T8 T11
T12
Jane T1
T3
T9
Anne T2
T6 T10
Jim T7
Mary T5
54
Detail schedule
55
Team Structure
56
Team structure..
57
SCM process and planning
58
Quality Planning
59
Quality Planning
60
Defect Injection and
Removal
D e fe c t In je c tio n
D e v e lo p m e n t
P ro c e s s
R eq.
R D e s ig n R C o d in g R U T IT /S T AT
A n a ly s is
D e fe c t R e m o v a l
62
Approaches to Quality
Management
63
Procedural Approach
64
Quantitative Approach
67
Risk Management
68
Risk Management
69
Risk Management Tasks
R IS K ID E N T IF IC A T IO N
R IS K A S S E S S M E N T R IS K A N A L Y S IS
R IS K P R IO R IT IZ A T IO N
R IS K
M ANAG EM ENT R IS K M A N A G E M E N T
P L A N N IN G
R IS K C O N T R O L R IS K R E S O L U T IO N
R IS K M O N IT O R IN G
70
Risk Identification
71
Top Risk Examples
72
Risk Prioritization
73
Risk Prioritization ...
76
Risk Mitigation Examples
77
Examples ...
❚ Manpower attrition
❙ Ensure that multiple resources are assigned on
key project areas
❙ Have team building sessions
❙ Rotate jobs among team members
❙ Keep backup resources in the project
❙ Maintain documentation of individual’s work
❙ Follow the CM process and guidelines strictly
78
Examples ...
❚ Unrealistic schedules
❙ Negotiate for better schedule
❙ Identify parallel tasks
❙ Have resources ready early
❙ Identify areas that can be automated
❙ If the critical path is not within the schedule,
negotiate with the client
❙ Negotiate payment on actual effort
79
Risk Mitigation Plan
80
Project Monitoring Plans
81
Background
82
Measurements
❚ Must plan for measurements in a project
❚ Without planning, measurements will not
be done
❚ Main measurements – effort, size,
schedule, and defects
❙ Effort – as this is the main resource; often
tracked through effort reporting tools
❙ Defects – as they determine quality; often
defect logging and tracking systems used
❚ During planning – what will be measured,
how, tool support, and data management
83
Project Tracking
84
Tracking…
❚ Activity-level monitoring
❙ Each activity in detailed schd is getting done
❙ Often done daily by managers
❙ A task done marked 100%; tools can
determine status of higher level tasks
❚ Status reports
❙ Generally done weekly to take stock
❙ Summary of activities completed, pending
❙ Issues to be resolved
85
Tracking…
❚ Milestone analysis
❙ A bigger review at milestones
❙ Actual vs estimated for effort and sched
is done
❙ Risks are revisited
❙ Changes to product and their impact
may be analyzed
❚ Cost-schedule milestone graph is
another way of doing this
86
Cost-schedule milestone graph
87
Project Management Plan
❚ The project management plan (PMP) contains
outcome of all planning activities - focuses on
overall project management
❚ Besides PMP, a project schedule is needed
❙ Reflects what activities get done in the project
❙ Microsoft project (MSP) can be used for this
❙ Based on project planning; is essential for day-to-day
management
❙ Does not replace PMP !
88
PMP Structure - Example
89
PMP Example ...
90
Project Planning -
Summary
❚ Project planning forms the foundation of project
management
❚ Key aspects: effort and schedule estimation,
quality planning, risk mgmt., …
❚ Outputs of all can be documented in a PMP, which
carries all relevant info about project
❚ Besides PMP, a detailed project schedule maintains
tasks to be done in the project
91