130 likes | 238 Views
Project Scheduling Problems. Paul Sorenson Department of Computing Science University of Alberta. CMPUT 401 Software Engineering. What is a Schedule?. That part of the plan that deals with - milestones - deliverables - resources
E N D
Project Scheduling Problems Paul Sorenson Department of Computing Science University of Alberta CMPUT 401 Software Engineering CMPUT 401 - Project Scheduling Problems
What 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. CMPUT 401 - Project Scheduling Problems
Bad 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% CMPUT 401 - Project Scheduling Problems
Causes 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 CMPUT 401 - Project Scheduling Problems
More Schedule Slips More Stress More Mistakes Beating Schedule Pressure • McConnell says “you can’t solve a problem using Rapid Development until you know how to handle schedule pressure schedule pressure More CMPUT 401 - Project Scheduling Problems
Beating 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 CMPUT 401 - Project Scheduling Problems
Inventing 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 it’s 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 CMPUT 401 - Project Scheduling Problems
Inventing 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 it’s 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 CMPUT 401 - Project Scheduling Problems