Professional Documents
Culture Documents
Develop The Necessary Understanding And: Skills To Produce and Manage A Simple Project Schedule
Develop The Necessary Understanding And: Skills To Produce and Manage A Simple Project Schedule
Develop The Necessary Understanding And: Skills To Produce and Manage A Simple Project Schedule
Objectives
Software Process
Management
Planning and Scheduling
Scheduling and Planning
Software Process
Management
Planning and Scheduling
Why Software Is Delivered Late?
• An unrealistic deadline
• Changing but unpredicted customer requirements
• Underestimation of efforts needed
• Risks not considered at the project start
• Unforeseen technical difficulties
• Unforeseen human difficulties
• Miscommunication among project staff
• Failure to recognize that project is falling behind schedule
Software Process
Management
Planning and Scheduling
“One day a time”
All technical projects involve 100s of small tasks
Some tasks do no affect the project completion
Other tasks are critical for project completion
Project manager must:
define all project tasks
build a network that depicts their interdependence
identify the critical tasks
track the progress of these tasks
recognize the delay “one day at a time”
Software Process
Management
Planning and Scheduling
Two different Perspectives to view
Scheduling
End
End date
date for
for Only
Only Rough
Rough
completion
completion hashas time-frame
time-frame isis
been
been finalized
finalized given
given
Software Process
Management
Planning and Scheduling
Basic Principles for SE Scheduling
• Compartmentalization – define distinct tasks
• Interdependency- parallel and sequential tasks
• Time allocation - assigned person days, start time,
ending time)
• Effort validation - be sure resources are available
• Defined responsibilities — people must be
assigned
• Defined Outcomes- each task must have an output
• Defined milestones - review for quality
Software Process
Management
Planning and Scheduling
People and Effort
“If
“If we
we fall
fall behind
behind schedule
schedulewe
wecan can always
always add
addmore
more
programmers
programmers and and catch
catch to
to late
late in
in the
the project”
project”
Software Process
Management
Planning and Scheduling
People and Effort
The
The relationship
relationship between
between the
the number
number of
of
people
people working
working inin software
software project
project and
and
overall
overall productivity
productivity isis
not
not linear
linear
Fewer
Fewerpeople
peopleand
and
longer
longertime
timeperiod
periodisisaa
better
betteroption
optionfor
forsoftware
software
development
development
Software Process
Management
Planning and Scheduling
Effort Distribution
40-20-40
40-20-40
Front-end
Analysis & Back-end
Design testing
Coding
Software Process
Management
Planning and Scheduling
Effort Allocation
Software Process
Management
Planning and Scheduling
Effort Distribution
PI
(2-3%)
RA
RA
(20-25%)
Testing
Testing
(30 - 40%)
(20-25%)
SD
SD
(15 -20%)
Coding
Coding
Software Process
Management
Planning and Scheduling
Scheduling and Planning
In order to make a schedule, the following tasks
must be completed:
• Identify manageable activities and tasks by decomposing the process and
the product.
• Determine which tasks are dependent on the completion of others. (Which
activities must occur in sequence and which can occur concurrently.)
• Allocate each task a number of work-units (often person-days), a start
date and a completion date.
• Define responsibilities for the tasks (allocate them to a person or persons).
• Define outcomes of the tasks (deliverables) and milestones for the
schedule.
• Review the proposed tasks, their effort allocation and start and end dates
with the people involved to ensure there are no conflicts and over
allocation.
Software Process
Management
Planning and Scheduling
Identifying Tasks
Software Process
Management
Planning and Scheduling
Selecting Project Tasks
Software Process
Management
Planning and Scheduling
Selecting Project Tasks
Software Process
Management
Planning and Scheduling
Selecting Project Tasks
• Milestone = end-point of a specific, distinct software process activity or task
(for each milestone a report should be presented to the management)
A C T IVT I
E
S
• Deliverable = project result delivered to the client
F
eF
aerastsupiibbodrllttyyR
eR q
aedquunfiirrnleeym
itonnttssdE
sm P
evvrroaelltupym
p e
n
ttrionAD e
trcdhissuteidggcynnuralReseppqquucciirfrfeem
sR iainonottss
am
• In order to establish milestones the phases of the software process phases
need be divided in basic activities/tasks.
M IL EST O
N
E
S Software Process
Management
Planning and Scheduling
Defining Task Sets
• determine type of project
• assess the degree of rigor required
– identify adaptation criteria
– compute task set selector (TSS) value
– interpret TSS to determine degree of rigor
• select appropriate software engineering tasks
Software Process
Management
Planning and Scheduling
Software Project Types
• Reengineering Project
Software Process
Management
Planning and Scheduling
Degree of Rigor
Casual
Casual
Structured
Structured
•• Minimum
Minimum task set isisStrict
task set Strict
required
required ••Framework
Framework••activities
activities Quick Reaction
will be applied Full
Full Quick
process
process will
will Reaction
be
be
Umbrellawill
••Umbrella tasksbeare
tasks applied
are applied
applied ••Process
Process framework
framework
minimized •
minimized•Umbrella
Umbrella taskstasks are
are of will be applied
••Degree
Degree of discipline
will be applied
discipline
applied
applied
••Documentation ensures
Documentation ensures high
high
••
quality
quality
Only
Only essential
essential tasks
tasks
requirements
•
requirements are
Documentation
are
•Documentation and
and will be undertaken
reduced ••All
All umbrellawill
umbrella activities
be undertaken
activities
reduced measurement
measurement tasks
willtasks
be applied
••Basic will
will be
be done
done will
in
in a
a be applied
•• Documentation
Documentation will
will
principles
Basic principles of
of be provided after
SE are streamlines
streamlines
applicable ••Robust
manner
manner
Robust work
be
work products
provided
products after
SE are applicable will product
product delivery
will bebe produced
produced delivery
Software Process
Management
Planning and Scheduling
Adaptation Criteria
• Size of the Project
• Number of potential users
• Mission criticality
• Application Longevity
• Stability requirements
• Ease of communication 1 5
• Maturity of technology
• Performance constraints
• Embedded and non-embedded characteristics
• Project staff
• Reengineering factors
Software Process
Management
Planning and Scheduling
Task Set selector
• Based on adaptation criteria, TSS is computed
Software Process
Management
Planning and Scheduling
Pert Chart
Software Process
Management
Planning and Scheduling
How to construct a PERT chart
Software Process
Management
Planning and Scheduling
Pert Chart
2 C 4
2d
A
E
2d
2d
1
5
B
D
2d
5d
3
Software Process
Management
Planning and Scheduling
The Critical Path
The critical path is the path between the start event and end
event which takes the longest time.
Note that:
• No task on the critical path can take longer without extending the end date
of the project.
• Tasks on the critical path are called critical tasks.
• No critical task can have any slack.
• Tasks on the critical path must be carefully monitored.
Software Process
Management
Planning and Scheduling
The Critical Path
In the example above the critical path can be described by events 1,3 and 5 or by tasks B,D.
This is because the time to reach the end event (5) on this path is longer than any other path.
This means that task B must take no longer than 2 days and task D no longer than 5 days or the
end date for event E will need to be extended.
The duration of the other path is 6 days. Because the critical path is 7 days, there is slack (or
float) of one day on the other path.
This means that this path can take 1 day longer than planned.
That is, any one task on this path (A,C or E) can take 1 day longer than expected. Note this
slack must be shared between the tasks on this other path. They can not all take an extra day
2 C 4
2d
A
E
2d
2d
1
5
B
D
2d
5d
3
Software Process
Management
Planning and Scheduling
Project Scheduling
Program
Critical
Evaluation
Path
and Review
Method
Technique
(PERT) (CPM)
Software Process
Management
Planning and Scheduling
Project Scheduling
Software Process
Management
Planning and Scheduling
Project Scheduling
Software Process
Management
Planning and Scheduling
Project Scheduling
Important
Important boundary
boundary times
times for
for PERT
PERT and
and CPM
CPM
GANTT charts are a project planning tool that can be used to represent the
timing of tasks required to complete a project.
It describes similar information to a PERT chart.
Here is one that was produced automatically with a project management tool from
the PERT chart info above:
Software Process
Management
Planning and Scheduling
Project Table
WorkTasksPlannedStartActualStartPlannedCompleteActualCompletePersonAssignedEffortNe
Software Process
Management
Planning and Scheduling
Tracking the Project Schedule
• It is a road map for the Software Project
• It defines the tasks and milestones
• Tracking can be done by:
– Conducting periodic project status meetings
– Evaluating the results of all reviews
– Determining whether milestones were reached by the scheduled date
– Compare actual start date to planned start date
– Meeting informally with professionals to get their subjective opinion
– Using earned value analysis
Software Process
Management
Planning and Scheduling
Tracking Earned Value
The earned value system provides a common value scale for every
task, regardless of the type of work being performed.
The total hours to do the whole project are estimated, and every
task is given an earned value based on its estimated percentage of
the total.
Basically, earned value is useful as it provides a quantitative
technique of assessing progress on the project as a whole (even
when tasks are completed in an order that differs from the original
schedule)
Software Process
Management
Planning and Scheduling
Tracking Earned Value
Example
Consider the following project
Software Process
Management
Planning and Scheduling
Calculating the planned Value
The planned value for a task is the estimated percentage of the planned duration
of that task of the total planned duration of all tasks.
Planned ValueT = DT / TD
where T is a task, DT is the duration of T and TD is the total planned duration of
all tasks.
Applying this formula we calculate the planned value for the planning task from
the above table. We have estimated that planning will take 180 minutes. The
total duration of all of our estimates for development is 2305 minutes. The
planned value for the planning task by the formula above is, therefore, given by
Planned Value = 180/2305 ~ 7.81%
Software Process
Management
Planning and Scheduling
Calculating the planned Value
We write this value in the planned value (unit) column for the planning task. We do the same for all of
the tasks in the plan. The total of all of the unit planned values will be 100% if this is done correctly.
Software Process
Management
Planning and Scheduling
Calculating the planned Value
We also wish to document when we expect each task to be completed.
In this example, this has been done by filling in the week number in the planned
completion column.
In order to track progress against this plan, we should have an idea of what percentage
complete we expect to be at the end of each week.
Notice that in the table below (most of) our tasks are listed in order of expected
completion (not necessary, but advisable to start with).
We keep a cumulative total of the planned value in the cumulative planned value column.
We can use this column to determine what percentage of the project will be complete by
the end of week 3, for example.
We can see that the sum of all of the planned values for tasks planned to be complete
before the end of week 3 is approx. 48.81% (because the tasks are in order, the
cumulative planned value for the last week 3 entry gives us this number - if the tasks are
listed unordered by completion date, the sum must be calculated by adding the planned
values of all tasks due to be completed before the date in question). In the next section,
we describe how to use this information to track progress.
Software Process
Management
Planning and Scheduling
Tracking a Project with Earned Value
Ok we have reached the end of the second week on this project and we need to know how our progress toward
completion on time.
We haven't done everything in the order in which it was planned, so this may not be easy to guess at.
We can use the concept of an earned value.
Earned value is assigned only to completed tasks.
If I have completed a task with a planned value of p%, then the earned value for that task is p%. Incomplete
tasks have no earned value.
In the example below, compiled at the end of the second week, we see that the group has completed the following
tasks with their associated earned value:
– Planning - 7.81%
– Scope - 2.64%
– Product Features - 2.64%
– User Profile - 1.98%
– Assumptions - 2.64%
– UI requirements - 5.21%
By summing the earned values for the completed tasks we determine that at the end of week 2, the cumulative
earned value (the percent complete) is 7.81+2.64+2.64+1.98+2.64+5.21=22.91%.
Now, knowing the earned value the project group can determine if they are ahead, behind on on schedule to
complete on time
Software Process
Management
Planning and Scheduling
Tracking a Project with Earned Value
Looking at the cumulative planned value in the table, we see that at the end of week 2 to be on schedule,
the group should have been 33.19% complete.
By the above calculation that they are actually only 22.91% complete, it appears that the project is falling
behind schedule.
Software Process
Management
Planning and Scheduling
Tracking a Project with Earned Value
Software Process
Management
Planning and Scheduling
Administer
Project
Resources
Direct
Project
staff
Software Process
Management
Planning and Scheduling
Tracking the Project Schedule
Project is on
schedule and
within budget Additional
Additionalresources
resources
focussed
focussedon
onproblem
problem
area
area
Project Tracking
Staff
Staffmay
maybe
be
redeployed
redeployed
Problem
diagnosed Project
ProjectSchedule
Schedulecan
can
be
beredefined
redefined
Software Process
Management