jxProject Icon jxProject.com

Loading
jxProject Advertisement
. Home Products Advertising News About Contact Legal

Purchase / Buy

Documentation

Future Plans

Links

ScreenShots


jxProject 0

JxProject 2.7.1.2 – Critial Path Analysis

User Documentation

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:

  1. Critical Path Method (CPM): A method of scheduling project activities/tasks according to their networked constraints. Note: Pure CPM assumes the resources required for activities/tasks are always instantly available.

  2. Resource Leveling: The altering of task schedules to avoid the overallocation of resources.

  3. Critical Chain Project Management (CCPM): A method of planning and managing projects that puts the main emphasis on the resources required to execute the project plan.

  4. Early Start(ES): The earliest date/time that a task can start given its constraints. Dominant constraints are: Links: Start-to-Start and Finish-to-Start and Arbitrary constraint: Must-Start-After.

  5. Late Start(LS): The latest date/time that a task can start without impacting the scheduling of successor tasks or the project end. Dominant constraints are: Links: Start-to-Start and Start-to-Finish and Arbitrary constraint: Must-Start-Before.

  6. Early Finish(EF): The earliest date/time that the task can finish given its constraints. Dominant constraints are: Links: Start-to-Finish and Finish-to-Finish and Arbitrary constraint: Must-Finish-After.

  7. Late Finish(LF): The latest date/time that a task can finish without impacting the scheduling of successor tasks or the project end. Dominant constraints are: Links: Finish-to-Start and Finish-to-Finish and Arbitrary constraint: Must-Finish-Before.

  8. Start Float(SF): The amount of time remaining after subtracting the Early Start Time from the Late Start Time. SF = LS – ES. Float is sometimes referred to as slack.

  9. Finish Float(FF): The amount of time remaining after subtracting the Early Finish Time from the Late Finish Time. FF = LF – EF. Float is sometimes referred to as slack.

  10. Forward Pass: The early start/finish values for each task are calculated by moving sequentially through the network of project dependencies and constraints starting with the earliest scheduled task and ending with the latest scheduled task.

  11. Backward Pass: The late start/finish values for each task a calculated by moving sequentially through the network of project dependencies and constraints starting with the latest scheduled task and ending with the earliest scheduled task.

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 1: Critical Method options and Gantt Chart

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:

Method:

  1. Automatic Selection: If this is selected, then the Critical Path or Critical Chain method is selected automatically. If resource leveling is disabled, then the Critical Path is automatically selected, if resource leveling is enabled, Critical Chain is automatically selected. Note: Resource Leveling is enabled/disabled from the Solver tab of this Options Dialog.

  2. Critical Path: If this is selected, the early/late – start/finish values are calculated using task links, lag, arbitrary constraints. ALL resource constraints are ignored. Critical path can be used while resource leveling is enabled.

  3. Critical Chain: If this is selected, the early/late – start/finish values are calculated using the same parameters as Critical Path, but resource constraints (preventing overallocation) are also incorporated into the calculations. Note: If resource leveling is disabled, Critical Chain calculations will be the same as critical path calculations.

Definition Critical Tasks:

  1. Start Float % Ascending: If the check box is enabled, this becomes functional. The project tasks are sorted(lowest to highest) by start float. The highest start float value, within the % of the tasks, is then set as the threshold for critical tasks. Example: If this is set to 20% and there are 100 tasks in the project, the start float value of the 20th task in the sorted list is the threshold value for criticality. After the % spinner is a label which represents the Start Float threshold value that the 20% turned out to represent. This value is updated each time the project is solved.

  2. Finish Float % Ascending: This is exactly the same as the for the start float above, just using the finish float value.

  3. Start Float less than: If the check box is enabled, any task with a start float value less than this value is considered critical.

  4. Finish Float less than: If the check box is enabled, any task with a finish float value less than this value is considered critical.

  5. Finish to Late Finish less than: If the check box is enabled, any task where the tasks late finish date, minus the tasks actual finish date is less than this value is considered critical.

Condition where actual dates used for Early Start/Finish

  1. None: No Date is being used.

  2. Current Date/Time: If this is selected, a verticle red/magenta line will appear on the Gantt chart at the current time. For all tasks which are schedule to complete, prior to this date, their early start and early finish values will be set to the tasks currently scheduled start and finish values.

  3. Date: If this is selected, the user may set this date to any value. For all tasks which are schedule to complete, prior to this date, their early start and early finish values will be set to the tasks currently scheduled start and finish values.

  4. Use Actual Dates if % complete over: If this is selected, for any task which is marked completed higher than this percentage, their early start and early finish values will be set to the tasks currently scheduled start and finish values.

  5. Minimum Date Being Used: This is feedback to the user to show what date is being used for the early start/finish values setting to actual above.

Display on Charts:

  1. Early Start / Finish Bar: If this is selected, the green early start/finish bar is shown on the Gantt chart.

  2. Late Start / Finish Bar: If this is selected, the green early start/finish bar is shown on the Gantt chart.

  3. Early to Late Connections: If this is selected in addition to the selection of the early and late bar options, then a line is drawn, for each task, from the early start to the late start, and from the early finish to the late finish.

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