Project Scheduling
1
Project Scheduling
• Split project into tasks (= create a WBS)
• Estimate time and resources required to
complete each task.
• Organize tasks concurrently to make optimal
use of workforce.
• Minimize task dependencies to avoid delays
caused by one task waiting for another to
complete.
• Dependent on project managers intuition and
experience.
2
Estimation
Activities/task characterized by:
• Effort: how much work will the activity need
to be completed
• Resources: how many resources will be
working on the activity
• Duration: how long will the activity last for
… estimation technique provide (at least) two of
the quantities specified above 3
Effort
• Your best shot for providing estimations (how
complex/how much work does the activity
require?)
• A.K.A. “Work”
• Measured in man/month (3 m-m = 1 person
working for 3 months; 3 people working for
one 1 month)
• Communication increases the time to
complete activities
4
Duration
• How much time will the activity last for
• Measured in (work-)hours, (work-)days,
(work-)months, …
• Calendar time != duration: calendar time
includes non-working days, holidays, …
• Usually:
– A duration of 5 days == 40 hours (8 hours a day) =
1 calendar week (sat and sun rest time)
5
Duration (II)
• Some more relationships:
– In some countries/contexts: 1 calendar
week = 36 work-hours (7.12 hours/day)
• A (work-month) maybe:
– 20 days
– 17 days
(… where are the missing days?)
6
A (simplicistic) view
D=E/M
• Fix any two among D, E, and M, and
you get the third
• (once again) a simplification, but good
enough for us (we embed the non
linearity in the effort)
7
A (simplicistic) view (II)
• When working with planning tools, you change one variable at a
time.
• Standard characterisation:
– Fixed Unit. A task in which the assigned resources is a fixed
value and any changes to the amount of work or the tasks
duration do not affect the tasks units. (Duration x Units = Work).
– Fixed Work. A task in which the amount of work is a fixed value
and any changes to the tasks duration or the number of
assigned resources do not affect the tasks work. (Duration x
Units = Work).
– Fixed Duration. A task in which the duration is a fixed value
and any changes to the work or the assigned resources, don't
affect the tasks duration. (Duration x Units = Work).
8
Some general
considerations…
• Estimating the difficulty of problems and
hence the cost of developing a solution is
hard.
• Productivity is not proportional to the number
of people working on a task.
• Adding people to a late project makes it later
because of communication overheads.
• The unexpected always happens. Always
allow contingency in planning.
9
Scheduling
• Once tasks (from the WBS) and size/effort
(from estimation) are known: then schedule
• Primary objectives
• Best time
• Least cost
• Least risk
• Secondary objectives
• Evaluation of schedule alternatives
• Effective use of resources
• Communications
10
Some rules of the thumb
• Organize tasks concurrently to make optimal
use of workforce.
• Minimize task dependencies to avoid delays
caused by one task waiting for another to
complete.
• Dependent on project managers intuition and
experience.
11
Scheduling (II)
… according to Sommerville:
while project has not been completed or cancelled loop
Draw up project schedule
Initiate activities according to schedule
Wait ( for a while )
Review project progress
Revise estimates of project parameters
Update the project schedule
Re-negotiate project constraints and deliverables
if ( problems arise ) then
Initiate technical review and possible revision
end if
end loop
12
Terminology
• Precedence:
• A task that must occur before another is said to
have precedence of the other
• Concurrence:
• Concurrent tasks are those that can occur at
the same time (in parallel)
• Leads & Lag Time
• Delays between activities
• Time required before or after a given task
13
Terminology
• Milestones
– Have a duration of zero
– Identify critical points in your schedule
– Shown as inverted triangle or a diamond
– Often used at “review” or “delivery” times
• Or at end or beginning of phases
• Ex: Software Requirements Review (SRR)
• Ex: User Sign-off
– Can be tied to contract terms
14
Terminology
Example
Milestones
15
Terminology
• Deliverable:
– a deliverable is a measurable and verifiable
work products
… in current practice sometimes milestone and
deliverable are used interchangeably (both
used to identify products - milestones may
represent key-products)
16
Terminology
• Slack & Float
– Float & Slack: synonymous terms
– Free Slack
– Slack an activity has before it delays next task
– Total Slack
– Slack an activity has before delaying whole project
– Slack Time TS = TL – TE
• TE = earliest time an event can take place
• TL = latest date it can occur w/o extending project’s
completion date
17
Scheduling Techniques
– Mathematical Analysis
• Network Diagrams
– PERT
– CPM
– Bar Charts
• Milestone Chart
• Gantt Chart
18
Network Diagrams
• Developed in the 1950’s
• A graphical representation of the tasks
necessary to complete a project
• Visualizes the flow of tasks &
relationships
19
Mathematical Analysis
• PERT
– Program Evaluation and Review
Technique
• CPM
– Critical Path Method
• Sometimes treated synonymously
• All are models using network diagrams
20
MS-Project Example
21
Network Diagrams
• Two classic formats
– AOA: Activity on Arrow
– AON: Activity on Node
• Each task labeled with
• Identifier (usually a letter/code)
• Duration (in std. unit like days)
• There are other variations of labeling
• There is 1 start & 1 end event
• Time goes from left to right
22
Node Formats
23
Network Diagrams
• AOA consists of
• Circles representing Events
– Such as ‘start’ or ‘end’ of a given task
• Lines representing Tasks
– Thing being done ‘Build UI’
• a.k.a. Arrow Diagramming Method (ADM)
• AON
• Tasks on Nodes
– Nodes can be circles or rectangles (usually latter)
– Task information written on node
• Arrows are dependencies between tasks
• a.k.a. Precedence Diagramming Method (PDM)
24
Critical Path
• “The specific set of sequential tasks
upon which the project completion date
depends”
– or “the longest full path”
• All projects have a Critical Path
• Accelerating non-critical tasks do not
directly shorten the schedule
25
Critical Path Example
26
CPM
• Critical Path Method
– The process for determining and optimizing
the critical path
• Non-CP tasks can start earlier or later
w/o impacting completion date
• Note: Critical Path may change to
another as you shorten the current
27
Example Step 1
28
Forward Pass
• To determine early start (ES) and early finish (EF)
times for each task
• Work from left to right
• Adding times in each path
• Rule: when several tasks converge, the ES for the
next task is the largest of preceding EF times
29
Example Step 2
30
Backward Pass
• To determine the last finish (LF) and last start (LS)
times
• Start at the end node
• Compute the bottom pair of numbers
• Subtract duration from connecting node’s earliest
start time
31
Example Step 3
32
Example Step 4
33
Network Diagrams
• Advantages
– Show precedence well
– Reveal interdependencies not shown in other techniques
– Ability to calculate critical path
– Ability to perform “what if” exercises
• Disadvantages
– Default model assumes resources are unlimited
• You need to incorporate this yourself (Resource Dependencies)
when determining the “real” Critical Path
– Difficult to follow on large projects
34
4 Task Dependency Types
• Mandatory Dependencies
• “Hard logic” dependencies
• Nature of the work dictates an ordering
• Ex: Coding has to precede testing
• Ex: UI design precedes UI implementation
• Discretionary Dependencies
• “Soft logic” dependencies
• Determined by the project management team
• Process-driven
• Ex: Discretionary order of creating certain modules
35
4 Task Dependency Types
• External Dependencies
• Outside of the project itself
• Ex: Release of 3rd party product; contract
signoff
• Ex: stakeholders, suppliers, Y2K, year end
• Resource Dependencies
• Two task rely on the same resource
• Ex: You have only one DBA but multiple DB
tasks
36
Task Dependency
Relationships
• Finish-to-Start (FS)
– B cannot start till A finishes
– A: Construct fence; B: Paint Fence
• Start-to-Start (SS)
– B cannot start till A starts
– A: Pour foundation; B: Level concrete
• Finish-to-Finish (FF)
– B cannot finish till A finishes
– A: Add wiring; B: Inspect electrical
• Start-to-Finish (SF)
– B cannot finish till A starts (rare)
37
PERT
• Program Evaluation and Review Technique
• Based on idea that estimates are uncertain
– Therefore uses duration ranges
– And the probability of falling to a given range
• Uses an “expected value” (or weighted average) to
determine durations
• Use the following methods to calculate the expected
durations, then use as input to your network diagram
38
PERT
• Start with 3 estimates
– Optimistic
• Would likely occur 1 time in 20
– Most likely
• Modal value of the distribution
– Pessimistic
• Would be exceeded only one time in 20
39
PERT Formula
• Combined to estimate a task duration
40
PERT Formula
• Confidence Interval can be determined
• Based on a standard deviation of the
expected time
• Using a bell curve (normal distribution)
• For the whole critical path use
41
PERT
• Advantages
– Accounts for uncertainty
• Disadvantages
– Time and labor intensive
– Assumption of unlimited resources is big issue
– Lack of functional ownership of estimates
– Mostly only used on large, complex project
• Get PERT software to calculate it for you
42
CPM vs. PERT
• Both use Network Diagrams
• CPM: deterministic
• PERT: probabilistic
• CPM: one estimate, PERT, three
estimates
• PERT is infrequently used
43
Milestone Chart
• Sometimes called a “bar charts”
• Simple Gantt chart
– Either showing just highest summary bars
– Or milestones only
44
Bar Chart
45
Gantt Chart
46
Gantt Chart
• Disadvantages
– Does not show interdependencies well
– Does not uncertainty of a given activity (as does PERT)
• Advantages
– Easily understood
– Easily created and maintained
• Note: Software now shows dependencies among
tasks in Gantt charts
– In the “old” days Gantt charts did not show these
dependencies, bar charts typically do not
47
Reducing Project Duration
• How can you shorten the schedule?
• Via
– Reducing scope (or quality)
– Adding resources
– Concurrency (perform tasks in parallel)
– Substitution of activities
48
Compression Techniques
• Shorten the overall duration of the project
• Crashing
• Looks at cost and schedule tradeoffs
• Gain greatest compression with least cost
• Add resources to critical path tasks
• Changing the sequence of tasks
• Fast Tracking
• Overlapping of phases, activities or tasks that would
otherwise be sequential
• Involves some risk
• May cause rework
49