Title: Project Scheduling Problems
1Project Scheduling Problems
Paul Sorenson Department of Computing
Science University of Alberta
CMPUT 401 Software Engineering
2What is a Schedule?
- That part of the plan that deals with -
milestones - deliverables - resources - Success of project is often judged on how
well you stay to the schedule as opposed to
how well you are executing the plan.
3Bad Schedules
- Microsoft Word for Windows 1.0
- 5 years to develop, 660 person-months, 249 KLOC
Report Estimated Estimated Actual
Days Relative Date Ship Date Days
to Ship to Ship Error
Sep-84 Sep-85 365
1887 81 Jun-85
Jul-86 395 1664
76 Jan-86 Nov-86
304 1400
78 Jun-86 May-87 334
1245
73 .. Jun-89 Sep-89
92 153
40 Jul-89 Oct-89 92
123 25 Aug-89
Nov-89 92
92 0
4Causes of Overly Optimistic Schedules
- external, immovable deadline (Y2K, Christmas,
tax time) - managers only accept best case estimate
- deliberately underestimated to get a winning
bid - interesting project and developers want to do it
even if under-funded - workers are more effective if under the gun a
little - project is simply poorly estimated
- managers/developers want a challenge
- project begins realistically but new features
are piled on and before long the schedule
becomes overly optimistic
5Beating Schedule Pressure
- McConnell says you cant solve a problem using
Rapid Development until you know how to handle
schedule pressure
schedule pressure
More
6Beating Schedule Pressure
- Three factors that make up bulk of problems
associated with optimistic schedules
- Wishful thinking
- Ignorance
- Poor negotiation skills
Principled Negotiation - separate the people from
the problems - focus on interests, not
positions - invent options of mutual benefit -
insist on using objective criteria
7Inventing Options for Mutual Gain
Product Options
- move some desired functionality to the next
version - deliver the product in stages (e.g, ver 0.7,
0.8, 0.9, 1.0) - cut features altogether
- polish some features less
- relax detailed requirements for some features
until later
Project Resources
- add more developers, if its early in the
schedule - add higher-output developers (e.g., subject-area
experts) - add more testers
- add more admin support (e.g., project
documentation tracking) - improve developer support environment (e.g.,
offices, coke machine) - increase level of end-user involvement and
executive commitment
8Inventing Options for Mutual Gain
Project Schedule Options
- set a schedule goal but no an ultimate project
deadline until product design is done (or at
least requirements defn.) - if its early in the project, agree to reduce
development time as you refine product
specifications and design - agree to use estimation ranges and to refine
these as the project progresses
Politically Charged Options (to be used only if
you know who you are negotiating with)
- provide exceptional support so developers can
focus more easily on development task -
shopping service, catered meals, limo - provide increased motivational perks - paid
overtime, all expense paid trip to Hawaii,
profit sharing