We're having a problem at work: we're trying to schedule work so that we can assess time scales and get deadline dates.The problem is that it's difficult to plan for a project without knowing everything that's going to happen.For instance, right now we've planned all our projects through the start of December, however in that time we will have various in house and external meetings, teleconferences and extra work. It's all well and good to say that a project will take three weeks, but if there is a week's worth of interruption in that time then the date of completion will be pushed back a week.The problem is 3 fold:When we schedule projects the time scales are taken literally. If we estimate three weeks, the deadline is set for three week's time, the client is told, and there is no room for extension.Interim work and such means that we lose productive time working on the project.Sometimes clients don't have the time that we need to take to do the work, so they'll sometimes come to us and say they need a project done by the end of the month even when we think that the work will take two months - not to mention we already have work to be doing.We have a Gantt chart which we are trying to fill in with all the projects we have and we fill in timesheets, but they're not compared to the Gantt chart at all. This makes it difficult to say Well, we scheduled 3 weeks for this project, but we've lost a week here so the deadline has to move back a week.It's also not professional to keep missing deadlines we've communicated to the client.How do other people deal with this type of situation? How do you manage the planning of projects? How much extra time do you schedule into a project to account for non-project work that occurs during a project? How do you deal with support issues and bugs and stuff? Things you can't account for during planning?UPDATELots of good answers thank you.
How can we plan projects realistically while accounting for support issues?
project management;time tracking
The problem is though that its difficult to plan for a project without knowing everything that's going to happen.That's the point of risk management. You can't know everything, so you plan based on what you know and identify what things could have the most impact on your plan and how likely those are to happen. Assess the potential schedule impact as well by saying that if X happens, it will cause the schedule to slip by an estimated (key word - estimated) Y days or weeks.Its all well and good saying that a project will take 3 weeks, Never give such a specific estimate. Give a range or quantify the probability of hitting that estimate. For example, say this project will take 2-5 weeks or there's an 85% chance this project will be done in 3 weeks and a 95% chance it will be done in 4 weeks.Its also not professional to the client to keep saying we've missed a deadline.True. However, you're mixing the concepts of estimate, schedule, and deadline. Your estimate is an approximation of how long it will take to finish a given task or project and the probability of meeting that. The deadline is a customer-imposed date on which the project must be done in order to add value. The schedule is how you use your available resources to meet your deadline.There are times when it's simply not possible to finish the assigned work within a deadline and all the estimation and scheduling in the world isn't going to make a difference.So my question... how do other people do this? How do you manage the planning of projects? How much extra time do you schedule into a project to account for anything that happens in the mean time?I recommend reading two books, both by Steve McConnell: Software Estimation: Demystifying the Black Art and Rapid Development: Taming Wild Software Schedules. Software Estimation is all about coming up with your estimates, presenting them to the clients, and some aspects of negotiation and dealing with unrealistic expectations. Rapid Development is general project management, dealing with development lifecycles, scheduling, resource allocation, and how to best schedule and budget projects to meet your estimates and deadlines.