Friday, December 29, 2017

Project Schedule Planning Tools & Techniques

The project schedule is the time-based and/or sequenced description of all of the project activities. The time element is one of the triple constraints that every project leader must contend with: scope, schedule, and resources/budget. There are a variety of techniques for both displaying the project schedule and analyzing the project schedule. Each technique focuses on a different aspect of the project. Depending upon the project objectives and major risks, different techniques should be used by the project leader. A brief description of each technique is listed below along with suggestions for when, and when not, to use them. The techniques for displaying the schedule are the Milestone Chart, the Task List, the Gantt Chart (Bar chart), the Network Diagram, the Two Dimensional Task List, and the Calendar View. The schedule analysis tools are the Critical Path analysis, the Critical Chain analysis, the PERT analysis, the Resource Leveling analysis, and a variety of Schedule Acceleration Techniques. For information on creating schedule estimates, please refer to Project Estimating.


Techniques for Displaying Project Schedules


Milestone Chart


The milestone chart is portrayed on a project time line. It displays only the key project milestones. These milestones are typically associated with some major element of project risk, such as passing a test or gaining approval from a regulatory agency. Each milestone is represented by a diamond or triangle. These milestones normally become major reporting points to senior management. Large complex projects may have hundreds or even thousands of tasks. Senior management usually does not want to receive status reports at that level of detail, yet they want something more than just a tollgate review at the end of a phase. The milestones provide interim reporting points. Also, when planning a complex project, task leaders can become overwhelmed with all the tasks they must do. Having a focused sub-project for each milestone gives those task leaders a framework for planning and tracking project activities. The Milestone Chart is the schedule reporting format that I use on Full-Scale and Complex projects.

Task List


The Task List is the simplest of the schedule format tools, yet it can be the most powerful and useful tool with extended members of the project team. A Task List is just an action item list for the team member that contains all of the tasks that individual is responsible for completing. This provides a focus for the individual as to what they need to do. This format works very well with extended team members on large projects. In those cases, the project may contain hundreds of tasks but often the extended team member is only involved in a small number of those tasks. The extended team member can review their task list and understand what they must do on the project without going through the hundreds of tasks, searching for those requiring their effort. If the team has many extended team members with limited involvement in the total project, this technique usually is the best method for communicating and tracking scheduling of the work from those extended team members.


Gantt Chart (Bar Chart)


The Gantt, or Bar, chart is the most common schedule format used on projects. This format is excellent for tracking progress or activity for tasks once they have been scheduled. In the Gantt chart, every task is represented by a bar of a time line chart. The left edge of the bar is located at the time the task is planned to start and the right edge of the bar is located at the time the task is planned to end. As the project unfolds, the edges of the bars are often modified to reflect when the task actually started or ended. This format creates focus for tracking progress because it is clear to see whether a task should be completed, underway, or pending at any given time. The Gantt chart is used for daily/weekly tracking of project progress. It is easy to use and maintain. It has become the most commonly used project schedule chart because of its simplicity and the focus it creates when tracking the project. If the task estimates are relatively accurate, this is the preferred format. However, when task duration estimates are not accurate - either due to uncertainty in the amount of work or uncertainty in the resource availability - the Gantt Chart will be a frustrating and counterproductive scheduling tool. In those cases I recommend the use of the Network Diagram.


Network Diagram


The Network Diagram is essentially a flowchart of the project tasks. This format is a foundational technique for several analytical techniques. The network is created by determining predecessor and successor relationships and connecting the tasks based upon those relationships. This technique will create focus on the handoffs. In a complex project with many organizations/individuals involved, this technique can provide guidance as to who is the internal customer for each task. The technique is often viewed as a foundational technique since most of the advanced analytical scheduling tools start with the Network Diagram. When task durations are uncertain, the Network Diagram is often a better technique to use than the Gantt (bar) chart. The Network Diagram shifts the focus for uncertain tasks from arbitrary start and end dates to completion of the work and a handoff to the next task/activity.

Kanban Schedule


The Kanban Schedule is only needed occasionally. However, in those situations it both simplifies planning and tracking while improving the ability of the project manager to manage many of the project tasks effectively. This technique is used for scheduling and tracking a large quantity, or batch, of items through the same set of project tasks or activities. The Kanban schedule is a matrix with the vertical side being a list of the items in the batch and the horizontal being the set of tasks. The planned date for task completion of each item through the set of tasks is set in the corresponding box of the matrix. As a task is completed, normally the background color of the cell in the matrix is changed so that it shows completion. This change in color allows the project manager to quickly see when one item in the batch starts to fall behind or when many items in the batch become bottlenecked at one step in the set of tasks. When I use this approach, I will place a summary task on the project-level Gantt Chart or Network Diagram that represents the activity within the Kanban Schedule. Through the use of the matrix, hundreds of tasks can be tracked efficiently without burdening one of the other techniques with redundant activities..

Calendar View


The project calendar view provides a perspective on the current activities for the day or week. Each of the activities that should be underway on any given day are listed in that day on a calendar of the week/month/year. This view provides an excellent perspective of what tasks need to be staffed on each day. This leads to a focus on assigning resources. The primary purpose for this view is to aid in the daily staffing and resource assignments. It is most commonly used when the resources are assigned every day from a resource pool, such as test technicians or manufacturing operators.

Techniques for Analyzing Project Schedules


Critical Path


The Critical Path method is used to determine what the shortest time is to complete the project, or a phase of the project. The method analyzes every possible sequence of tasks based upon the network diagram to determine which sequence is the longest. This sequence is called the critical path because it sets the minimum time in which the project can be completed. A caution when using critical path it assumes that you have all the resources you need at all times. This is seldom a valid assumption, so the minimum time indicated by the critical path is seldom actually achieved on a project. To determine the critical path, the network diagram is created for the project with the maximum amount of parallel task as your risk sensitivity can tolerate. Each task duration is estimated, assuming the task will have the desired resources available when needed. With the durations and relationships from the network diagram, calculate first the earliest possible start date and finish date for each task. Then using the calculated project finish date, determine the latest possible start and finish date for each task that still supports that date. This set of calculations is normally done by project management software. The sequence of tasks with identical dates for early start and latest start are the critical path. The tasks have no float or slack a one day delay on one of these tasks immediately translates into a one day delay on the project.

Critical Chain


The Critical Chain technique was developed by Eliyahu Goldratt. This technique builds on the analysis done using critical path and resource leveling techniques. It is used when the resource leveling technique has delayed the end date of the project. Critical chain reprioritizes the work, applying principles of the Theory of Constraints, and provides simple tracking principles to accelerate the project and ease the burden on project management. This is done by determining the best allocation of the critical or constraining resource and shifting the tracking approach to concentrate on this resource. The critical chain approach requires the development of the network diagram and the critical path and resource leveling calculation to have been done. Once this is accomplished, the constraining resource or most constrained if there are multiple constraining resources is determined and a sequence of project tasks that the constraining resource MUST contribute to is determined. The estimates for those tasks are reviewed and any work that can be shifted to an unconstrained resource is reallocated. This sequence of tasks, known as the critical chain, is then scheduled based upon the availability of the constained resource. All other tasks are then scheduled to occur in parallel with the critical chain. These parallel paths are scheduled so as to ensure there is float, or a buffer, at the end of the path, prior to a handoff into the critical chain. This buffer float is then tracked by project management to ensure that these tasks and sequences complete prior to the need for their results by a critical chain task.


PERT


PERT, which stands for Program Evaluation and Review Technique, was developed by the US Navy in the 1960s as a way to put boundaries around overall project durations. At that time the Navy was doing development that was on the leading edge of technology and the estimates for task durations were often very uncertain. Individuals or organizations that were risk adverse would typically set a conservative schedule, while individuals or organizations that were risk seekers would often set an aggressive schedule. The final result would usually be between the two estimates. The Navy established the analysis tool of PERT to determine the best case and worst case boundaries for the project. In addition, they created a PERT estimate for each task and using the task-level PERT estimate they would create a project PERT schedule duration. The PERT estimate is a simple risk-mitigation approach that considers the best case and worst case of a task estimate but also includes a most likely estimate that is between the two and is heavily weighted. The three estimates are averaged using the PERT formula to create the PERT estimate for the task. A PERT analysis starts with a network diagram. Each task duration is estimated three times, the best case, worst case, and most likely case. A worst case schedule is developed using only worst case estimates. A best case schedule is developed using only best case estimates. A PERT estimate is determined for each task. A PERT project schedule is then set using the PERT estimates. This is often considered a poor man's simulation for estimating.

Resource Leveling


Resource Leveling is a technique used to smooth out the peaks and valleys in the required project resources. This leveling process usually results in changes to the project schedule. Through the use of leveling, the best allocation of resources assigned to the project can be determined. The resource leveling technique applies when the project has been planned with a high degree of parallelism. Usually in this case many of the different parallel paths will have float (unless they are a critical path). That float is used to reposition tasks so that the resources required to conduct that task are not needed at the same time on another task. To do resource leveling, first the network diagram is developed and the task durations and resources requirements for each task are determined. Next the critical path is calculated. Resources are then assigned to critical path tasks first. Once all critical path tasks have been fully resourced, then the resources are assigned to the other tasks using float to reposition tasks between their earliest start and latest finish time and at a time when resources are unallocated. If, after using float to reposition tasks, there is still an insufficient amount of resources at some time in the project, then tasks are stretched or delayed past their latest finish time until the resources are available. This will extend the end date of the project. This analysis is typically done using project management software. However, a caution when using software some applications do not fully protect the critical path but are quick to start stretching and delaying tasks.

Schedule Acceleration


Schedule acceleration techniques are used to shorten the overall length of the project. However, they are not free. While they reduce the planned total duration of the project, they do so by increasing risk in some other aspect of the project. They need to be deployed carefully, and always with an update to the project risk management plan. There are five schedule acceleration techniques - each with its own unique set of risks. Selecting the technique, or combination of techniques, to be used depends on the characteristics of the activities to be accelerated and the overall risk sensitivity in the project.

Buffer Management - Buffer management reduces the buffer that is inherent in the estimates of uncertain activities. When estimating uncertain activities, project managers tend to allow for the uncertainty by using a conservative estimate. (This is not the same as "padding" an estimate which just arbitrarily adds time or money to an estimate - rather this is a conscious decision to prepare for the unknowns associated with the uncertain activity.) Buffer management removes the buffer from the activity estimate, thereby creating an aggressive activity estimate. The setting of aggressive activity goals will often result in a reduced activity duration. However, the risk is that now there is a much higher probability that the activity will finish late as compared to the plan. When this technique is used, the project manager needs to maintain a project-level schedule reserve to compensate for the activities that will be late.

Crashing - Crashing accelerates an activity by adding additional resources. Some activity durations are limited by resource availability - more resources would allow a faster completion. While this is not true for all activities, it is true for some. (A 72-hour burn-in test on a printed circuit card module cannot be accelerated by adding additional test technicians - it still takes 72 hours. However a dedicated courier can deliver a report overnight that would normally take three days to deliver by mail.) This will often increase the overall cost of the project as the additional resources are often added at a premium.

Fast-tracking - Fast-tracking accelerates the project by starting activities prior to the completion of all the predecessor activities. This can only be done when there is a preliminary result of the predecessor activities. For instance, a preliminary Bill of Materials may be developed during a design process and raw materials for production may be ordered based upon the preliminary Bill. (This is often done when ordering Long Lead Material.) If the Bill of Material does not change during the final design review and baselining process, the project is accelerated. However, if the final Bill of Material does change, the material ordered from the preliminary Bill may need to be reworked or scrapped - increasing the effort and cost to the project. This technique is viable when the predecessor activity has a preliminary deliverable that the project management team believes is stable.

Split-to-Phases - The Split-to-Phases technique is used when the project has multiple, separable objectives. The scope of the project is divided into phases based upon the activities that are unique to a project objective. This allows a focusing of project resources on the activities supporting one of the objectives at the expense of the activities supporting a different objective. This will result in an early completion of a portion of the project, but usually causes a delay in another portion of the project and often an increase in cost because of activities that must be repeated for each of the phases. (For instance there may be a User Acceptance Test that would now need to be done twice instead of just once.) This acceleration technique is appropriate only when the completion of the first phase is able to immediately start producing some business benefit, without the completion of the succeeding phases.

Mainline-Offline Scheduling - the Mainline-Offline technique separates the work within an activity into two components. The first is that which can be done generically without specific knowledge of the results of predecessor activities. The second is that which can only be done once the predecessor activities are complete. An example would be creating a project requirements document. A generic template can be created based upon the general understanding of the project. The specific requirements are identified based upon meetings with stakeholders or analysis of business processes. (One of the business benefits of a Project Management Office is that it develops and maintains these templates and generic activities, allowing projects to be accelerated through the use of them.) This technique only works with some activities, and requires the foresight to anticipate the need for the generic portion of the activity to be accomplished prior to the completion of the predecessor activities. Once an activity has started, there is no advantage to do the activity first in a generic manner and then in the project specific method.

These methods can be used in a stand-alone manner or in combinations. However, they all result in some level of increased risk to the project. Whenever a schedule acceleration technique is used, the risk analysis must be updated to include the risk associated with the technique failing to deliver the potential benefit.