Title: Scheduling Work
1Scheduling Work
- I love deadlines.
- I love the sound they make as they fly by.
- -- Douglas Adams
2What is the purpose of a project schedule?
- Coordinate
- What to do and When?
- Monitor
- Are we on time?
3Why is software late?
- Under-Estimate of effort.
- Unrealistic deadlines imposed by outsiders.
- Changing requirements.
- Risks that were not considered.
- Technical problems that could not be foreseen.
- Failure to recognized that the project is falling
behind schedule and lack of action to correct the
problem. - Software Engineering A Practitioners Approach
by Pressman
4How to build a schedule
- Determine dependencies of activities.
- Major Activities are listed in the WBS.
- Leverage past projects to determine dependencies.
- Surprises are very bad.
- Use dependencies to build activity network
diagram (e.g. PERT chart). - Determine critical path.
- Map network to a timeline (e.g. Gantt chart)
using the effort estimates. - Use a software tool to help do this work.
5Dependency Types
- External Dependency
- Other projects
- Stakeholders
- Sub-Contractors
- Internal Dependency
- Audits (design, testing, documentation, )
- Sign-Offs at end of phase
6Dependency Types
- Start Finish
- FS - T2 cannot start until T1 is finished.
- coding must wait on design to be finished
- SS - T1 and T2 must start at same time.
- documentation and coding start together
- FF - T1 and T2 finish at same time.
- configuration management ends when testing is done
7Dependency Types
- Lag T2 cannot start until a given amount of
time after T1 is done. - Start on-site training one week after final demo
to customer management group. - Soft T2 should start after T1, but it is not
completely essential that T1 be finished. - Populate the new database after the database has
been built. If the new database is not
completely finished we can still populate the few
finished tables.
8Activity Networks
- CPM Critical Path Method
- activities are graph nodes (circles or squares)
- single estimate for duration of tasks
- PERT Program Evaluation and Review Technique
- activities are graph arcs (lines)
- activity times are ranges and include
probabilities
9CPM Example
http//www.cs.unc.edu/stotts/COMP145/homes/map/im
ages/pert.gif
10PERT Example
http//www.mckinnonsc.vic.edu.au/la/it/ipmnotes/ga
nttpert/pert_chart.gif
11Example Activity Network Activity on Node
1wks
2wks
T5
T2
1wk
3wks
1wk
2wks
1wk
T1
T4
T6
T8
T9
4wks
T3
3wks
T7
- Questions
- Minimum time to complete the project?
- Critical Path?
- For T2, what are the earliest start time, latest
start, earliest finish, latest finish? - es2ndwk ls4thwk ef3rdwk lf5thwk
12Resulting Gantt Chart
13Advanced Scheduling Topics
- Using Milestones
- Managing Uncertainty in the Timeline
- PERT confusion
- Resource Leveling
- Using Scheduling Tools
14Milestones
- Why must you schedule milestones, such as
reviews, throughout the project?
15Managing Uncertainty
- Q How confident can we be in our milestone dates
and the delivery date? - Q Can we calculate the confidence level?
- A Using confidence values and Statistics
- for each task, determine pessimistic and
optimistic times - if PT-OT is small for all tasks, then great!!!
- compute average PT-OT, and std dev
- if a task's PT-OT is outside the std dev, worry
about that task
16Managing Uncertainty
- Q Where do we schedule uncertainty time?
- A1 spread it out by bumping each milestone.
- used by Critical Path
- A2 lump it together as one activity at end.
- used by Critical Chain
17Common PERT Problem
- K integration testing
- L Install Software
- M Write Manual
- N Train Users
L
K
M
N
3
4
5
2
1
But wait, we can shorten the project if we write
the manual right after testing is finished. (L
and M can be done in parallel.) So
18Pert Problem cont
- K integration testing
- L Install Software
- M Write Manual
- N Train Users
L
3
K
2
1
M
N
4
5
But wait, the system needs to be installed
before we can use it to train people. So
19Pert Problem cont
- K integration testing
- L Install Software
- M Write Manual
- N Train Users
L
3
K
2
1
5
M
N
4
But what is that activity between dates 3 and 4?
So
20Pert Problem cont
- K integration testing
- L Install Software
- M Write Manual
- N Train Users
L
3
K
2
1
5
M
N
4
Dashed line is a dummy activity.
21Pert Problem cont
- K integration testing
- L Install Software
- M Write Manual
- N Train Users
L
K
N
M
Note dummies not needed with "activity on node"
graphs.
22Resource Leveling
- Activity Shifting
- to avoid using resources during a peak time.
- use slack in start and end dates
- Activity Splitting
- to shorten duration
- break activity into pieces when more resources
are available - Optimize the System, not individual tasks
- Leveling usually yields longer projects
23Leveling Example
B 2wk
C 2wks
D 2wks
H 3wks
I 2wks
A 3wks
E 2wks
F 5wks
G 3wks
- What is the completion time?
- Since F is so long, what would be the completion
time if we break it into two parallel parts of
2wks and 3wks?
24Scheduling Tools
- Gantt Chart producers
- MS Project
- Web access
- Supports multiple projects
- Dependencies
- Billing support
- Resources leveling
- Gantt charts, activity network,
25MS Project
26Open WorkBench
27And finally