To develop a professional project schedule, we assume you have already performed the previous steps in the Project Time Management knowledge area:
- Defining the activities
- Sequencing the activities
- Estimating the activity resources
- Estimating the activity durations
Once these pieces of the puzzle are known, we create the schedule using five steps:
- Create the network diagram
- Determine critical path and floats
- Draw initial Gantt (bar) chart
- Perform resource levelling
- Compress the schedule (if necessary)
Create the Network Diagram
The network diagram is used to produce the following two pieces of data:
- Activity Floats
- The critical path
Of course, the graphical representation of tasks is also very helpful to envision the project and ensure the relationships between each task are correct.
When scheduling a project manually, you could use Microsoft Excel to produce a network diagram, like this:
There are two types of network diagrams:
- Activity-on-node: The tasks are plotted on the nodes and the arrows represent the relationships between tasks.
- Activity-on-arrow: The tasks are the arrows and the nodes represent milestones in between the tasks.
In practice, it is the former, “activity-on-node,” that is by far the most common and we will use that method going forward.
Determine Critical Path and Floats
The Critical Path is defined as the longest path through the network, which means it defines the minimum completion date of the project. During this step, the critical path and floats for each activity are determined, which is used to draw the gantt (bar) chart. The Critical Path Method is the sequence of steps undertaken to determine the critical path and floats. The steps are as follows:
- Enter durations for all activities
- Perform a Forward Pass, which identifies the Early Start (ES) and Early Finish (EF) dates for each task.
- Perform a Backward Pass, which identifies the Late Start (LS) and Late Finish (LF) dates for each task.
- Calculate float for each task. Float = LS – ES.
The forward pass will determine the minimum project duration, in other words the project completion day, which is the EF (Early Finish) of the final task.
The critical path goes through each task that has zero float. Often each task on the critical path is highlighted.
A word about dependencies. On our Activity Sequencing page, we talked about four ways that tasks can be related to one another: Finish-to-Start (FS), Finish-to-Finish (FF), Start-to-Finish (SF), and Start-to-Start (SS). We also talked about leads and lags. These are important project management concepts, but they are difficult to implement without project management software. The above manual scheduling example uses only the Finish-to-Start (FS) dependency with zero lag time.
Draw Initial Gantt (bar) Chart
A horizontal bar chart that shows the start and end dates for each activity in the project is called a Gantt Chart. It is the nicest, cleanest and easiest way to communicate the schedule but leaves out key information, like the critical path.
In the initial gantt chart the tasks are plotted on their Early Start (ES) dates. The resources required for each task are plotted below the chart to show you how the resources are being used. At this point, the resources might contain big swings in usage, for example, J. Blow is required to work 16 hours a day for 3 days and then has no work at all for the other two. For most resources, their usage profile must be as flat as possible to minimize their cost, and that’s where resource levelling comes in.
Resource Levelling
Limited resources is a reality that nobody can escape. Resource levelling refers to the act of moving the tasks backwards and/or forwards within their floats in order to flatten the peaks and valleys of resource usage (labor, materials, and equipment). It is much better to use a person for 8 hours/day for two days than 14 hours one day and 2 hours the next.
The critical path method only tells you the float. Resource levelling determines where within the float to put the task.
During this step, each area where resource usage has unacceptable peaks and valleys is inspected and tasks are moved within their floats to flatten the resource usage profile. If the task is on the critical path and its start and end dates must change due to resources, the final completion date of the project must change.
Resources calendars which specify the availability of each resource are consulted to determine when the resources are available. In general, there are three possibilities:
- Keep the task duration constant and move the task forward or backward along its float. The resources simply move to the new place in the schedule.
- Increase the task duration within the float. This will spread out the resources, for example, reducing a laborers hours on a task from 4 hours to 2 hours per day might eliminate overtime, but increase the duration of the task. If that’s within the float, this is an acceptable solution.
- Change the task end date past the end of its float. This is the least desirable situation and it requires the rest of the schedule to be adjusted accordingly. But sometimes it is necessary.
Items 1 and 2, where the finish date of the task does not change, are sometimes called Resource Smoothing instead of resource levelling.
Schedule Compression
Upon resource levelling you might have a completely functional schedule. But it is often desirable to shorten a task in order to lengthen another one, or to move up the overall completion date. For example, you might want to shorten the concrete forming task because Jon will be leaving for a tropical vacation and obtaining another laborer would incur significantly more time and expense. When you need to shorten a task’s duration, you have two options:
- Crashing. This involves adding resources to the task. Increasing Jon’s hours or getting the neighbor to help would be methods of crashing the schedule.
- Fast tracking. This involves performing tasks in parallel that are otherwise performed in sequence. Building concrete forms before the excavation is done would be a type of fast tracking. There is a risk of rework due to incorrect assumptions which must be made to account for incomplete predecessor tasks.
Concurrent with these two schedule compression techniques, there are a few bigger picture options:
- Change the scope. Eliminate non-essential tasks from the project. Remove small sub-tasks that do not add much value. Adopt the minimum viable scope.
- Reduce quality. Remove features from the product, or change the quality specifications.
- Outsource. If you don’t have the capacity to perform the task on time, outsourcing it can allow the project to meet the schedule. But it comes at the cost of a lack of control of future schedule changes and potentially higher cost. Also the vendor might not have the same quality standards.
Schedule compression can be used when developing the schedule, but it is more often used during project execution when changes are happening and possibilities are being analyzed to determine an action plan.
Scheduling Tools
Although spreadsheets can be used to build a professional, resource levelled schedule, a good project management software package makes the process much quicker. Project management software is highly dependent on the industry in which its being used, which makes sense due to the special attention that can be given to important features. But Microsoft Project is something of a standard in the project management industry, in the absence of anything else. Primavera P6 is popular in construction, and online project management suites are popular within Information Technology.
It is essential to determine what features the software has. It is not a safe assumption that all project management software contains all the features of professional project scheduling, like dependencies, floats, and critical paths. In particular, most online web-based alternatives are relatively primitive in their scheduling capabilities. If that’s all you need, then great, but if you are doing more sophisticated scheduling then consider Microsoft Project or an industry specific package.
External Criteria
Sometimes a project completion date is externally imposed on the project, for example when a stadium must be complete for the olympics. In this case the standard scheduling methods described above still apply, only an additional sequence of steps must be performed.
- Create schedule as normal using resources available.
- If the externally imposed completion date is later than the completion date, find the most likely tasks to be behind schedule and add to their duration. Alternatively, create a separate task called “contingency” which can be used to alter the schedule without consequence during the project.
- If the externally imposed completion date is earlier than the completion date, this is called negative float and you must make changes to complete the project on time. The project scope could be tightened (minimum viable scope), or items removed that are considered non-essential. Each task needs to be scrutinized for the available schedule compression techniques outlined above.