JxProject 220.127.116.11 – Critial Path Analysis
June 19, 2012
The critical path of a project is the longest sequence of tasks in the project plan which must be completed on time for the project to complete on schedule. Therefore the critical path is composed of a sequence of critical tasks. Critical tasks are those tasks which cannot be delayed without negatively impacting the project delivery date.
Definition of terms used in critical path analysis:
The definitions of project management terms can vary somewhat depending on the source. For example, “start float” and “finish float” are often defined as as single value,“float”. However, many software packages, including jxProject, have moved beyond this definition and allow start and finish floats to differ. Where ever possible, jxProject adheres to accepted definitions for the above defined terms. However, jxProject has several capabilities that go beyond what is often defined in typical Project Management texts or software packages. JxProject uses full 24 hour days with resources usually working only a fraction (8 hours) of those days. JxProject allows resources to work different/irregular schedules and in different time zones. Thus jxProject incorporates the gaps in resource schedules as part the reality of the project plan. Virtually all other software packages ignore the variability of resource schedules/constraints and simply define each day as a “work day” where the resource works the entire time. They appear to do this in order to simplify the underlying calculations of the software and also to be able to comply with the original project management definitions. However, these project management terms were formalized in the 1950s, long before the widespread use of personal computers. In the 1950s they needed to reduce the variability/parameters they were incorporating so that a project plan could be created and maintained using just pencil and paper. It is surprising that these simplified project management terms continue to dominate more than 20 after the personal computer revolution.
This document contains significant detail of how values are calculated over a variety of situations and option settings. They might be a little more painful to understand than other packages that utilize a more simplified approach as discussed above.
The traditional definition of Critical Path Method(CPM) does not include constraints imposed by resource availability. Critical Chain Project Management(CCPM) does incorporate resource leveling. JxProject performs CPM and resource leveling and some CCPM analysis. Note: CCPM is a lot more than CPM + resource leveling and has a lot of management philosophy which is not Implemented in jxProject.
Illustration I shows a Gantt chart with several critical tasks, which are orange/stripe in color. The option dialog with the Critical tab showing shows what options are set to achieve this chart. The tasks which are orange/stripe are flagged as critical tasks making up the critical path. The green bars on the chart range from the early start to the early finish. The magenta/purple/red bars on the chart range from the late start to the late finish. Looking at the Critical panel in the dialog you see the options that were set to achieve this chart. The critical panel for the Option Dialog is discussed in detail below.
Note: The definition of critical task criteria does not alter the scheduling of the tasks in any way. Critical path values, as defined above, are calculated for every task, every time the user alters a dependency, constraint or duration of any task. This happens regardless of the user defining critical task criteria or showing critical path values in the tables. It is not necessary for the user to understand critical path analysis to create and execute a project plan. CPM is a standardized (mostly) method of helping a project planner to locate areas of the project plan that MUST complete on time for the project to complete on time. All of the options for configuring the critical path/chain is contained within this tab of the Options Dialog. Let's go by sections of the tab:
Definition Critical Tasks:
Condition where actual dates used for Early Start/Finish
Display on Charts:
Project Late Finish Date should default to Scheduled Project Finish Date: The default late start of the project is set to the early finish of the project during the start of the backward pass, late value calculations. If this selected, the late start of the project is set to the scheduled finish of the project. Note: The late finish of a project will be set to the “must finish before” value if it is set via arbitrary constraint.
Discussion and Recommendations:
Lets go over a few examples of critical path settings and what situations you may find them useful.
Traditional Critical Path Options: These settings will result in the most traditional CPA results. If you are just getting familiar with jxProject, this is a good set of options to start with. The method has been forced to “Critical Path”. The conditions for scheduled dates used for Early Start/Finish are not selected. The Project Late FinishDate is allowed to go to its default value.
The critical path definitions cover all of the bases, show the top 5% most critical and those that have less than a day of float. This is a good set of criteria, you may want to go with the top 10% or %20.
The Finish to Late Finish less than is not used, if resource leveling is enabled and you have forced CPA, this option tends to end up flagging all of the tasks or none of the tasks as critical.
None of the “Conditions where scheduled....” options are set in this example. However, now is a good time to discuss using these options.
By default, the late finish of the project is the same as the early finish of the project. As you move forward in the project, the CPA values diverge more and more from the actual scheduled dates of the tasks. It would not be uncommon for a 6 month project to show the late finish of the project a couple of months before the scheduled project finish. This is because the gaps in the scheduling of the tasks due to unavailable resources pushes tasks out, while the CPA values do not incorporate these gaps. Therefore, the CPA values can be much earlier than the tasks are actually scheduled. There are several things the user can do to bring the CPA dates forward to better coincide with the scheduled dates.
If the user selects/enables the “Current Date/Time” then as the project moves along, tasks that complete before the current date/time will have their early start/finish values set to the scheduled values of the task. This has the effect of moving the early finish of the project to a later date and thus the late finish of the project is moved to a later date. So the differences between the CPA values and the scheduled values tend to be reduced. Similarly, the user can set a specific date which will have the same impact around the date the user chooses. This is useful if the user wants to see what the CPA values will look like at some date in the future. Also, the user can set a threshold of completeness where if a task is, for example, 95% complete, then the early start/finish dates are set to the actual dates and the subsequent alignment of a later early finish would follow.
Now lets discuss the reasons one might select the option: “Project Late Finish Date should default to scheduled Project Finish Date”. Lets say you have a project plan that you are happy with, you will be happy if the project plays out as scheduled. In this case, you want to see how late your tasks can run before they impact the scheduled completion date. Selecting this option will do that. It will usually cause the float values to become much larger as this is not traditionally how CPA late values are calculated. If you do select this option, then it might make sense to select the option: “Finish to Late Finsh less than”.
These CPA options are set to allow the user to see which tasks are in danger of not making their scheduled completion dates. The options “Project Late Finish Date should default to scheduled Project Finish Date” and “Finish to Late Finsh less than” are both selected to help the user visualize this on the chart. The “Finish to Late Finsh less than” is set to 2.4 days which will flag any task that is within that duration of slipping and impacting the project.
The start and finish float hard values are not enabled as the user will likely find they are not flexible enough, especially when turning on and off the “Project Late Finish Date should default to scheduled Project Finish Date” option. The user is encouraged to toggle and apply these options to see the effects and gain perspective on the project plan and this tool.
The “Critical Chain” option only works if resource leveling is enabled. It incorporates resource constraints into the analysis. The CCPM (early/late – start/finish) values will match closer with the tasks scheduled dates and can expose opportunities for plan improvement. However, most users will probably find that the CPA provides more information about areas to improve the project plan. Looking at a project plan that is resource leveled with CPA underlay-ed on the chart can be an eye opening experience. The user should experiment with both methods to see what works best for their project.
Copyright ©2002-2012 jxProject Company