Tips on Scheduling, Part 2
The most common form of scheduling I see is "spreadsheet scheduling", meaning that one could just as easily schedule in a spreadsheet. A manager will simply make a list of tasks and manually enter the start and finish dates for each of those tasks. No need for project management software here even though that is what is technically used. That is not to say that there is not a place for this. Some organizations may be small enough, their projects may be simple enough, and there may not be enough projects to go any further than this. For the rest (most) of us, let's talk.
What are the issues with this common form of scheduling? First, you are utilizing a labor-intensive process and not utilizing the strength of project management software. It takes a while to enter these dates individually, but even more time to change the dates when the project schedule needs to change two weeks down the road. Second, it becomes entirely subjective. There is no feedback from the software as to whether a schedule is even realistic or not. It is simply the user's best guess as to what the schedule is, or what they want it to be.
There can be tremendous value in using the scheduling features of project management software if they are used correctly. Now we can take that too far. In fact one of the common complaints about certain project management software packages is that they are too complex. But let me point out some basic concepts and functions that when employed correctly provide great value:
A dependency is simply a relationship between two tasks. The most common type of dependency is called a Finish-to-Start dependency, meaning that Task B will be scheduled to start after Task A finishes. Simply creating these dependencies between tasks does two things: it lets the software figure out all of the dates instead of the user thus saving time, and it provides a more realistic end date. There are more advanced dependency types such as Start-to-Start and Finish-to-Finish and using lead and lag times, but just getting that Finish-to-Start dependency can go a long ways.
A constraint means that the schedule for a particular task is constrained. Most commonly, it cannot start before a certain date. Again, there are more advanced constraints out there, but utilizing a "Cannot Start Before" constraint provides the user with flexibility to manage exceptions to the "perfect" dependency world.
Effort Based Scheduling
Sometimes you need a true realistic picture of what the schedule will be. Effort based scheduling comes into play here. Effort refers to the amount of effort or work that a person will need to put in to complete a task. This is separate from the duration of a task, which is the amount of calendar time before the task is done. For example, Susan may need to spend 20 hours of her time to complete a task, while it may take her a whole week to get those 20 hours in and actually get the task done. If you can master effort based scheduling you can get a better handle on realistic schedules (durations tend to be wishes), and resource allocation (because you are being more specific for how much work your people need to do).
There are more features / tools that could be employed, but if you can master these three you will have taken your scheduling to a new level.
How does one go about learning and employing these tools? Use the help and training materials provided with the tools. Take a Microsoft Project training class. Even if you don't use this tool, it will help you understand the principles as many project management software systems are based on the same principles. Read a book. Go to a PMI chapter event and learn about training opportunities, such as with the new PMI scheduling credential. Check out the PMI College of Scheduling. Start using the tool yourself and figuring out how to use these functions.
If you become more proficient at these things, your scheduling will no longer be frustrating but more practical, insightful, quicker, and value-added.