Project Planning vs. Finite Scheduling
It is not uncommon for people to assume that project planning and finite scheduling software perform the same task. You can see why this happens from a cursory review of these types of software, since both utilize Gantt charts to show visually the work that has to be completed. To illustrate the differences between project planning and finite scheduling let's assume that we are managing a civil engineering project to build a bridge. One part of the project is to construct the foundations for a bridge pier, and (with due deference to civil engineers) the tasks required could be: -
- Survey pier site
- Dig pier hole
- Fill hole with concrete
A project planning Gantt chart for this work would place each task or activity on a separate line, as shown below.
Project Management Gantt Chart
If we should need to edit this Gantt chart as the project progresses, the editing would take the form of moving the Gantt bars left or right to compensate for gains or slippage. There would be no point in moving the bars vertically, since each bar is an activity in its own right. This is typical of a project management view, where the bars represent the activities and the user allocates the resources required to perform the task as data attached to the activity.
In a finite scheduler we are generally working at a more detailed level than the above example, and we want the software to help us select the 'best' resource to carry out each task. In our example we may have several excavators which could be used to dig the hole, and the finite scheduler would help select the best one, based on the other work they are committed to, their work or shift patterns, the rate at which they can dig, etc. We may also need to take into account additional resources that are also required to perform the task. Our fastest excavator may require the large dump truck to remove the spoil, which is already in use elsewhere on the site. The finite scheduler will then decide whether it is better to wait for the fast excavator/large dump truck combination to become available, or whether to start the task earlier using a slow excavator with the available smaller dump truck.
To do this the Gantt chart in the finite scheduler is different to that of the project planner. Whilst we still have bars representing the tasks/activities/operations that we have to perform, each line or row on the chart now shows all of the tasks/operations that are to be carried out by a particular resource (excavator). Therefore in the finite scheduler Gantt chart each line or row is associated with a resource and will generally have many bars on it, whereas in the project planning Gantt chart each row represented an activity or task and generally would only have one bar on it.
Finite Scheduling Gantt Chart
When editing a finite scheduling Gantt chart it is a common requirement to move the bars (tasks/activities/operations) vertically this will allocate the operation to another resource, e.g. move the task from the fast excavator to the slow one. Moving the bars left or right will alter the time at which the operation occurs, just as it does in the project planning Gantt chart.
The Finite Scheduling Gantt Chart shows the chart for our pier foundation project. It also shows the interaction of the tasks in the pier project with other tasks that the resources are performing in the overall construction project. If the 'Move Spoil' task slips to the right, then it will impact on our 'Dig Pier Hole' task. If the delay is sufficient we may decide to move the 'Dig The Pier Hole' task to the slow excavator instead, however to get an on-time start we may also decide to move the lower priority 'Load Trucks' task from the slow excavator to the fast one. The edited finite schedule shows the result of these changes.
Edited Finite Schedule
In a manufacturing process changes in the resource/task allocation may occur frequently due to breakdowns, rush orders, customer changes, etc. The finite scheduler provides an invaluable tool for helping the production manager control the process, by giving visibility of the resource loading and early warning of orders that are running late, etc. The output from a finite scheduler will be work-to lists for each of the resources, indicating the operations that the resource has to carry out, and the sequence and time at which they are planned to take place. In summary the finite scheduler is allocating tasks to specific resources, rather than representing the relationship between the tasks.