Programming a project with the CPM

From apppm
(Difference between revisions)
Jump to: navigation, search
(Application)
 
(111 intermediate revisions by one user not shown)
Line 1: Line 1:
 +
''Developed by Konstantinos Terzakis''
 +
 +
 
[[Category:Project Management]][[Category:Management]][[Category:CPM]]
 
[[Category:Project Management]][[Category:Management]][[Category:CPM]]
 
==Abstract==
 
==Abstract==
The Critical Path Method (CPM) was developed in late 1950s and became a very popular tool for Schedule Development. The method, which is broadly used by project managers, is a graphical technique which is known with the generic term Network Modeling.
+
Many students struggle with the concepts of planning and scheduling when first introduced to it. This struggle extends from the introduction of work breakdown structure to network logic through the meaning of critical activities and continuing with other planning and scheduling topics.<ref name="kostas24">  Weber, Sandra C., Scheduling Construction Projects: Principles and Practices,Prentice Hall, 2005 '' </ref> The [[Wikipedia:Critical Path Method|Critical Path Method]] (CPM) was developed in late 1950s and became a very popular tool for Schedule Development. The method, which is broadly used by project managers, is a graphical technique which is known with the generic term Network Modeling and is used to estimate the minimum project duration. This schedule network analysis technique calculates the early start, early finish, late start, and late finish dates for all activities without regard for resource limitations by performing a forward and backward pass analysis through the schedule network. The critical path is the sequence of activities that represents the longest path through a project, which determines the shortest possible project duration. The resulting early and late start and finish dates are not necessarily the project schedule, rather they indicate the time periods within which the activity could be executed, using the parameters set in the schedule model for activity durations, logical relationships, leads, lags, and other known constraints. The CPM is used to calculate the amount of scheduling flexibility on the logical network paths within the schedule model.<ref name="kostas"> A Guide to the Project Management Body of Knowledge (PMBOK® Guide), Fifth Edition, 2013, ISBN-13: 978-1-935589-67-9 '' </ref>. This article describes the CPM methodology, provides an example of this technique so as to be perceivable, while it analyzes how this method responds to the modern business practices as well as which is the evolution of this method.
The [[Wikipedia:Critical Path Method|Critical Path Method]] (CPM) is a step-by-step project management technique for process planning that defines critical and non-critical tasks with the goal of preventing time-frame problems and process bottlenecks. The CPM is ideally suited to projects consisting of numerous activities that interact in a complex manner<ref name=''kostass''> ''http://whatis.techtarget.com/definition/critical-path-method-CPM /  TechTarget '' </ref>.For both commercial and governmental organizations, the ability to manage projects effectively is a major contributor to an organization’s overall performance.Almost all project planning and scheduling tools on the market today use some type of PERT and/or CPM methodology as their primary underlying methodology. These two approaches are synonymous and are often interchanged or even collectively called PERT/CPM<ref name=''kostas''> ''https://www.pmi.org/learning/library/going-beyond-critical-path-method-6297 /  Project Management Institute '' </ref>. This article describes the CPM methodology and provides an example of this technique.
+
  
 
==Big Idea==
 
==Big Idea==
The Critical Path Method calculates a single, deterministic early and late start and finish date for each activity based on specified, sequencial network logic and a single duration estimate. The focus of CPM is on calculating float in order to determine which activities have the least scheduling flexibility. The CPM algorithms are often used in other types of mathematical analysis<ref name=''kostas''>  A Guide to the Project Management Body of Knowledge, PMI Standards Committee, ISBN:1-880410-12-5 '' </ref>.
+
"A project is a sequence of unique, complex and connected activities that have 
one goal or purpose and that must be completed by a specific time, within a 
budget and according to specification." <ref name=kostas21> Robert K. Wysocki, 2009, Effective Project Management: Traditional, Agile, Extreme. Fifth Edition, ISBN: 978-0-470-42367-7. </ref>
 +
Another definition, according to PM Standard is: “A project is a unique set of processes consisting of coordinated and controlled activities with start and end dates, performed to achieve project objectives. Achievement of the project objectives requires the provision of deliverables conforming to specific requirements”.<ref name=kostas28> ISO 21500 PM Standard.</ref>
 +
 
 +
In both of these definitions, it can be observed some key words such as "coordinate", "sequence" "start/end" date. The CPM calculates a single, deterministic early and late start and finish date for each activity based on specified, sequencial network logic and a single duration estimate. The focus of CPM is on calculating the float in order to determine which activities have the least scheduling flexibility. The CPM algorithms are often used in other types of mathematical analysis.<ref name="KOSTAS">  A Guide to the Project Management Body of Knowledge, PMI Standards Committee, ISBN:1-880410-12-5 '' </ref>
  
==Methodology==
+
===Methodology===
  
 
A specific methodology has been developed for the practical implementation of this method, generally consisting of the following steps:
 
A specific methodology has been developed for the practical implementation of this method, generally consisting of the following steps:
  
1. Definition of the work or actions constituting the project as a whole. It is recommended to use the [[Wikipedia:Work Breakdown Structure|Work Breakdown Structure]] (WBS) to identify the activities of the project.  
+
1. Definition of the actions constituting the project as a whole. It is recommended to use the [[Wikipedia:Work Breakdown Structure|Work Breakdown Structure]] (WBS) to identify the activities of the project.  
  
2. Determine the sequence with which these actions must be executed.  
+
2. Determine the sequence according to which actions must be executed.  
  
3. Estimate the completion time of each individual work or action.
+
3. Estimate the completion time of each individual activity.
  
 
4. Planning the network of actions while respecting the requirements of the project execution sequence.
 
4. Planning the network of actions while respecting the requirements of the project execution sequence.
  
5. Determine over the network from the beginning to the end of the project, the fastest possible start and completion of each action, based                     on the network and completion times.
+
5. Determine over the network from the beginning to the end of the project, the fastest possible start and completion of each action, based on the network and completion times.
  
6. Determine over the network, from the end to the beginning of the project, the later start and finish of each action, based on the fastest completion time of the project identified in the previous step.
+
6. Determine over the network, from the end to the beginning of the project, the latest start and finish time of each action, based on the fastest completion time of the project identified in step 5.
  
7. Determine the time that can delay any action (time interval) based on the difference in times that were found in the previous two steps.  
+
7. Determine the time that can delay any action (time interval) based on the difference in earliest and latest start times that were found in the previous two steps.  
  
8. Recognize and record the critical actions that are those of where the time difference is zero (0) and cannot delay. These are the critical route.
+
8. Recognize and record the critical actions that are those where the slack time is zero (0) and cannot delay. These consist of the critical route.
  
9. Use the information from steps 5 and 6 for the basics planning of the project.
+
9. Use the information from steps 5 and 6 for the basic planning of the project.
  
It is easy to understand that the most important steps are considered to be the assessment of the completion times of the individual actions and the determining of the critical route, that is to say, the actions to be taken that cannot delay. Thus, the CPM method can be used effectively when the time completion of each individual action of the project can be assessed with relative accuracy, and it is a deterministic variable. This happens when there is satisfactory data for the approach of the aforementioned times, i.e. statistical data from similar projects, or projects where executives, responsible for the execution may be based on technical knowledge and their experience of correctly predicting completion times of the actions. Given the completion times of the individual actions, the most important steps are the design of the network and the identification the critical route.
+
It is easy to understand that the most important steps are the assessment of the completion times of the individual actions and the determination of the critical route, that is to say, the actions that cannot delay. Thus, the CPM can be used effectively when the duration of each individual action of the project can be assessed with relative accuracy, and it is a deterministic variable. This happens when there is satisfactory data for the approach of the aforementioned times, i.e. statistical data from similar projects, or projects where executives could use their technical knowledge and experience in correctly predicting completion times of the actions.  
 
Below, there is an application of this method that follows the methodology mentioned above.
 
Below, there is an application of this method that follows the methodology mentioned above.
  
==Application==
+
===Application===
Let’s say that a consulting company carry out a project and the project team decide which individual actions are the main components of the overall project. These may be exploring customer requirements, investigate the case study, preparation of the offer, etc. These actions are shown in the first column of Table 1 below. Once established exactly the actions, they are encoded with a letter for facilitating the design of the network (2nd column of the table). Then determine the sequence, that is the order of execution shown in 3rd column of the table, where next to each action is shown which or what actions must precede. Finally, in the fourth column, there is the time required for completion of each action, estimated by the project team. So, the first thing that the project team or the person responsible for the planning must produce, is a table of the following form:
+
[[File:Kk.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|500px|thumb|right|'''Table 1:''' Characteristics of the actions to design the Network (created in MS Excel 2016)]]
[[File:Kk.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|500px|thumb|right|'''Table 1:''' Characteristics of the actions to design the Network ]]
+
Let’s say that a consulting company carries out a project and the project team decides which individual actions are the main components of the overall project. These may be exploring customer requirements, investigate the case study, preparation of the offer, etc. These actions are shown in the first column of Table 1. Once established exactly the actions, they are encoded with a letter for facilitating the design of the network (2nd column of the table). Then determine the sequence, that is the order of execution shown in 3rd column of the table, where next to each action is shown which or what actions must precede. Finally, in the fourth column, there is the time required for completion of each action, estimated by the project team. So, the first thing that the project team or the person responsible for the planning must produce is a table as Table 1.
  
'''Designing the network.'''
+
 
 +
'''Designing the network'''
  
 
Once the above table has been determined, the project manager can proceed with the design of the network. The actions are represented as nodes while arrows from node to node show the sequence of actions. The elements that are written on a node can be seen in Picture 2.  
 
Once the above table has been determined, the project manager can proceed with the design of the network. The actions are represented as nodes while arrows from node to node show the sequence of actions. The elements that are written on a node can be seen in Picture 2.  
  
Based on the table 1, we end up with the following network of actions for the consultant company.
+
Based on the table 1, we end up with the following network of actions for the consulting company.
[[File:1.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 1:''' The network depicts the sequence and the duration of the actions]]
+
[[File:1.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 1:''' The network depicts the sequence and the duration of the actions (created in MS Excel 2016) ]]
  
[[File:5KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|200px|thumb|right|'''Picture 2:''' Depicted elements in a typical node]]
+
[[File:5KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|200px|thumb|right|'''Picture 2:''' Depicted elements in a typical node (created in MS Excel 2016)]]
  
We notice that action C is the previous action for D and for E, while F takes place after both D and E have been completed. When planning a network of actions we need to be sure that the actions are depicted in the proper sequence and that we maintain the logic among them. In the case of the consultancy company we observe two routes, A-B-C-D-F-G and A-B-C-E-F-G.
+
When planning a network of actions we need to be sure that the actions are depicted in the proper sequence and that we maintain the logic among them. In the case of the consultancy company we observe two routes, A-B-C-D-F-G and A-B-C-E-F-G.
  
'''Determination of "Critical Times" of Actions. Early Start Time (ES) - Early Finish Time (EF)'''
+
'''Determination of "Critical Times" of Actions: Early Start Time (ES) - Early Finish Time (EF)'''
  
 
During the process of identifying the critical route, it is needed to calculate the critical times of the project's actions.
 
During the process of identifying the critical route, it is needed to calculate the critical times of the project's actions.
  
'''Earliest Start Time (ES)''' of the action is the earliest time at which the action may begin. This depends on when the previous or previous actions have been completed.
+
'''Earliest Start Time (ES)''' of the action is the earliest time at which the action may begin. This depends on when the preceding actions have been completed.
  
'''Early Finish Time (EF)''' of the action is the earliest time at which the action may have been completed, and apparently, equals the ES plus the duration of the action.  
+
'''Early Finish Time (EF)''' of the action is the earliest time at which the action could be completed, and apparently, equals the ES plus the duration of the action.  
  
The technique to determine these times, it is considered that the work begins at time 0, so ES = 0 for action A which is the first in the sequence of actions. The shortest end time EF for Action A will obviously be ES + 2, since 2 weeks is its duration, so EF = 2. The next action is B, which of course can not begin before Action A has been completed. Therefore, the ES for action B will be identified with EF of the previous action and ES = 2 for action B. As far as it is known that the duration of action B is 1, it is obvious that EF = ES + 1 = 2 + 1 = 3. Following this process and using the duration of actions from Table 1, the network in Picture 3 is produced.
+
The earliest end time EF for Action A is ES + 2, since its duration is two weeks, so EF = 2. The following action is B, which can not begin before Action A has been completed. Therefore, the ES for action B will be identified with EF of the previous action, and ES = 2 for action B. As far as it is known that the duration of action B is 1, it is obvious that EF = ES + 1 = 2 + 1 = 3. Following this process and using the duration of actions from Table 1, the network in Picture 3 is produced.
  
 
[[File:2KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 3:''' The network depicts the sequence, the duration, the ES and EF of the actions]]
 
[[File:2KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 3:''' The network depicts the sequence, the duration, the ES and EF of the actions]]
  
Actions D and E have the same ES = 4, that according to the above logic, is the EF of the immediately preceding action that is C, both for these two actions. However, due to the different durations, the EF of D is 6, while the EF of E is 9. The next action F, however, is connected with actions D and E.
+
As a consequence, it is logical that the earliest completion time of the overall project is identical to the EF of the last action. This is the expected completion time of the project. In our case, the company's project has a total project duration of 15 weeks.
The question is when it is possible for the action F to start? (differently what is the ES for F?). Since F cannot begin before all the previous actions have been completed, it is obvious that the ES for F will be the longest duration EF of the two previous associated actions. So ES = 9 for F action. It is true that the start time of an action depends on the completed time of the previous associated actions.
+
As a consequence, it is logical that the shorter completion time of the overall project is identical to the EF of the last action. This is the expected completion time of the project. In our case, the company's project has a total project duration of 15 weeks.
+
  
'''Determination of "Critical Times". Late Start Time (LS) - Late Finish Time (LF)'''
+
'''Determination of "Critical Times": Late Start Time (LS) - Late Finish Time (LF)'''
  
The next step in the process is to calculate the earliest starting and finishing times of the actions.
+
The next step in the process is to calculate the latest starting and finishing times of the actions.
  
'''The Late Finish Time (LF)''' of the action is the earliest time when an action can end without extending the completion time of the entire project.
+
'''The Late Finish Time (LF)''' of the action is the latest time when an action can end without extending the completion time of the entire project.
  
'''The Late Start Time (LS)''' of the action is the earliest time that an action can start without prolonging the completion time of the entire project and obviously equals to LF minus the duration of the action.  
+
'''The Late Start Time (LS)''' of the action is the latest time that an action can start without prolonging the completion time of the entire project and equals to LF minus the duration of the action.
  
Based on the example to define the earliest times, we have to start from the end of the network towards the beginning by examining one by one the actions. As already has been proved, the shortest completion time of the project, hence the desirable time, is identified by the EF of the last action, and that is 15 weeks. So, as long as the total duration of the project does not exceed this achievable time, it is obvious that the earliest termination time LF of the action G is 15. Consequently, the action G cannot be completed after the 15th week because there will be a time extension for the company’s project. Thus, LF = 15 for action G, and obviously the LS for G will be LS = LF-1 = 15-1 = 14, i.e. the earliest start time of the action G, is the action LF, minus its duration which in our case is 1.
 
Regarding action F, as long as the earliest time in which may be triggered by its next associated action G and it’s the 14th week (LS = 14 for G), cannot end later than the 14th week without extending the whole project time. Accordingly, the earliest termination time for the action F is LF = 14 and apparently the earliest start time will be the LF of the action minus its duration. Therefore, LS = LF-5 = 14-5 = 9 for action F. Following this procedure and using the duration times of the actions from Table 1, the following chart for the network is produced.
 
  
[[File:3KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 4:''' The network depicts the sequence, the duration, the ES, EF and LS, LF of the actions]].
+
Based on the example to define the latest times, we have to start from the end of the network towards the beginning by examining one by one the actions. The earliest completion time of the project, hence the desirable time, is identified by the EF of the last action, and that is 15 weeks. Consequently, the action G cannot be completed after the 15th week because there will be a time extension for the company’s project. Therefore, the LF for action G is 15 weeks. The LS for G is calculated from LF minus the duration of the activity, LS = LF-1 = 15-1 = 14.
  
Based on the rationale developed above, it is clear that actions D and E, which are both previously connected to the same action F, have the same LF = 9, which can only be identified with LS = 9 of their common sequence of F. The Late Start times for these actions are different since they have different durations. To continue with action C, which is a common previous associated for both D and E, it can be observed that action D cannot begin later than the 7th week (LS = 7), while action E cannot begin later than the 4th week (LS = 4), otherwise we will have a time extension of the total project. So, their immediate previous action C cannot end after the 4th week, so that action E can start which has LS = 4. Thus, the earliest completion time for C is 4 and LF = 4. If a rule is required for these cases, it can be said that the earliest finish time of an action (LF) coincides with the shortest start time (LS) of all the subsequent related actions. Based on the whole methodology developed using the example, the network has been fully solved showing ES, EF, LS and LF for all actions.
+
Regarding action F, its LF date depends on the LS of the following action G.
 +
That means, to avoid the extension of the whole project time, the LF date of action F is 14 weeks. Accordingly, the LS date of the action F is LS minus duration of the activity, LS = 14 - 5.
 +
 
 +
Following this procedure and using the duration times of the actions from Table 1, the network in Picture 4 is produced.
 +
 
 +
 
 +
[[File:3KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 4:''' The network depicts the sequence, the duration, the ES, EF and LS, LF of the actions]]
  
 
'''Slack time and Critical Path'''
 
'''Slack time and Critical Path'''
  
Having ES, EF, LS and LF, it is then possible to find the slack times of the actions and to identify the critical path. Slack time is the time period during which we can delay an action without affecting the completion time of the project. Obviously the slack time span of any action is the difference between LS and ES or the LF and EF of the action.
+
Having calculated ES, EF, LS and LF, it is then possible to find the slack times of the actions and identify the critical path. Slack time is the time period during which we can delay an action without affecting the completion time of the project. Obviously the slack time span of any action is the difference between LS and ES or the LF and EF of the action.
  
 
'''Slack time = LS-ES = LF-EF'''
 
'''Slack time = LS-ES = LF-EF'''
Line 88: Line 96:
 
Slack Time (D) = 7-4 = 9-6 = 3 weeks
 
Slack Time (D) = 7-4 = 9-6 = 3 weeks
  
It is clear, therefore, that action D can begin anytime within a period of 3 weeks from ES = 4 to LS = 7 which is the earliest time it can start, according to the network, without adversely affecting the overall duration of the project. All the other actions in the network, with slack times equal to zero, cannot delay because the total duration of the project will be affected.
+
It is clear, that action D can begin anytime within a period of 3 weeks from ES = 4 to LS = 7 which is the latest time it can start, according to the network, without adversely affecting the overall duration of the project. All the other actions in the network, with slack times equal to zero, cannot delay because the total duration of the project will be affected.
  
 
Thus it is stated that:
 
Thus it is stated that:
  
A critical path in a network of actions is the longest in duration path from network related actions from the start until the end of a project, where any delay in these actions leads to time extension to the completion of the overall project. The critical path can also be defined as the route on the network where all its actions have zero slack time or even the path for which the pairs (ES, EF) and (LS, LF) are identified.
+
A critical path in a network of actions is the longest in duration path from network related actions from the start until the end of a project, where any delay in these actions leads to time extension to the completion of the overall project. The critical path can also be defined as the route on the network where all its actions have zero slack time or even the path for which the pairs (ES, EF) and (LS, LF) are identical.
The actions that belong to the critical path are also called critical actions. So, if any action ends up with zero slack time, this action is on the critical path. Usually, and especially in some more complex networks, there are many critical routes. Of course, the total time of the critical routes is the same and longer than the total time in any other route of the network. In the example above only action D is not a critical action, and does not belong to the critical path (since it has slack time = 3 ≠ 0). All the other actions have zero slack time (or otherwise apply to them (ES, EF)> (LS, LF)) and are in the critical path which is path A-B-C-E-F-G. In Picture 5 below it can be seen the critical path, the slack time for action D and the total duration of the project.
+
The actions that belong to the critical path are also called critical actions. So, if any action ends up with zero slack time, this action is on the critical path. Usually, and especially in some more complex networks, there are many critical routes. Of course, the total time of the critical routes is the same and longer than the total time in any other route of the network. In the example above only action D is not a critical action, and does not belong to the critical path (since it has slack time = 3 ≠ 0). In Picture 5 below it can be seen the critical path, the slack time for action D and the total duration of the project.
  
 
[[File:4KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 5:''' The network depicts the critical path, the slack time for action D and the total duration of the project]].
 
[[File:4KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|700px|thumb|right|'''Picture 5:''' The network depicts the critical path, the slack time for action D and the total duration of the project]].
  
In the example for the consulting company's project, based on the definition that the critical path in a network of actions is the largest time path from network related actions from the start to the end of the project, it seems that with a simple overview of the network, as shown in Picture 1, without ES, EF, LS and LF and only from the durations of the actions can someone identify that A-B-C-E-F-G is the critical route. But when the action network is more complex (i.e. we have a complex project), with many nodes and more arrows, it is difficult to identify it immediately. Then the above methodology, becomes necessary to drive on critical actions, timing of other actions and eventually critical route.
+
Based on the definition of the critical path, it seems that with a simple overview of the network, as shown in Picture 1, without ES, EF, LS and LF and only from the durations of the actions can someone identify that A-B-C-E-F-G is the critical route. But when the action network is more complex, with many nodes and more arrows, it is difficult to identify it immediately. Then the above methodology, becomes necessary to drive on critical actions, timing of other actions and eventually critical route.
  
 
'''Conclusions and comments for the CPM method'''
 
'''Conclusions and comments for the CPM method'''
Line 104: Line 112:
 
[[File:7KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|500px|thumb|right|'''Picture 7:''' Late Start Schedule for the application depicted in a Gantt chart]]
 
[[File:7KOSTAS.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|500px|thumb|right|'''Picture 7:''' Late Start Schedule for the application depicted in a Gantt chart]]
  
The existence of slack times in actions that do not belong to the critical route, allows for their programming in accordance with the needs and priorities of the overall project. In the example the action D was reported to have slack time 3 weeks. This allows the start of Action D at any time within the timeline from week 4 (ES = 4) to week 7 (LS = 7). This property of non-critical actions can be better observed if we use the Gantt diagram, where time is depicted in the horizontal axis. Picture 6 shows exactly this, with the non-critical action D that starts at the time that is identical to ES of (ES = 4).
+
The existence of slack times in actions that do not belong to the critical route, allows for their programming in accordance with the needs and priorities of the overall project. In the example, the action D was reported to have slack time 3 weeks. This allows the start of Action D at any time within the timeline from week 4 (ES = 4) to week 7 (LS = 7). This property of non-critical actions can be better observed if we use the Gantt diagram, where time is depicted in the horizontal axis. Picture 6 shows exactly this, with the non-critical action D that starts at the time that is identical to ES.
  
 
This approach to programming non-critical actions is called '''Early Start Schedule'''. In this case, they are scheduled to begin as soon as possible (ES). With this approach the project and all the individual actions are completed as soon as possible.
 
This approach to programming non-critical actions is called '''Early Start Schedule'''. In this case, they are scheduled to begin as soon as possible (ES). With this approach the project and all the individual actions are completed as soon as possible.
  
Many times, however, this is not desirable. So we can choose the very opposite approach to programming non-critical actions and have the '''Late Start schedule'''. This approach can offer better usage of the system’s resources and can be seen in Picture 7. So, it is understandable that in a complex task with several non-critical actions such programming is a very helpful tool for project managers. If we compare the two Pictures 6 and 7 from the Gantt charts we can see within which time intervals the non-critical action D can be moved. The existence of slack times for the non-critical actions facilitates their programming in a way that can we can use more efficiently the system’s resources. Indeed, the start of these non - critical actions according to their earliest start times (ES), usually implies the accumulation of large requirements and resources for inputs in some time periods. By using the available margins for any non-critical action, thus bringing the start to an appropriate time (and correspondingly end) of each such action, but always within the available
+
Many times, however, this is not desirable. So we can choose the very opposite approach to programming non-critical actions and have the '''Late Start schedule'''. This approach can offer better usage of the system’s resources and can be seen in Picture 7. In a complex task with several non-critical actions such programming is a very helpful tool for project managers. If we compare the two Pictures 6 and 7 from the Gantt charts we can see within which time intervals the non-critical action D can be moved. The existence of slack times for the non-critical actions facilitates their programming in a way that we can use more efficiently the system’s resources. Indeed, the start of these non - critical actions according to their earliest start times (ES), usually implies the accumulation of large requirements and resources for inputs in some time periods. By using the available margins for any non-critical action, thus bringing the start to an appropriate time (and correspondingly end) of each such action, but always within the available margins, we achieve the most stable and uniform usage of the project’s resources.
margins, we achieve the most stable and uniform usage of the project’s resources.
+
 
 +
By this way, there are several positive economic consequences for the project, as the idle time of the permanent staff and machinery decrease and we can avoid the employment of seasonal staff, the rental of additional equipment, assigning parts of the project to subcontractors etc.
 +
 
 +
In addition to its ability to reduce the complexity of larger projects by breaking them into component tasks, the CPM became popular because of the innovations in computer hardware and software. In the first few decades of the CPM, the tools were bulky mainframe computers used by specialists who often required months of training. The PC revolution brought scheduling management software to the desktop, and the rise of computer networking allowed the results to be shared easily among team members.<ref name="kostasss"> ''https://yourbusiness.azcentral.com/history-critical-path-method-24351.html /  AZCentral. '' </ref>
 +
 
 +
==Limitations of the CPM due to the modern business practices==
 +
 
 +
The CPM, especially nowadays has the following disadvantages:
 +
 
 +
• The method assumes that the duration of the activities in the project is given (input), something that usually is not the case, as it overlooks the modern work practices such as the flexibility of work and the fact that the duration of the different activities is practically an outpout in the real business. Fuzzy or probabilistic models could enhance the method in that case.  
  
 +
• The usage of a software such as Microsoft Project or Primavera is recommended if the analysis process is extremely complicated.
  
By this way, there are several positive economic consequences for the project, as the idle time of the permanent staff and machinery decreases and we can avoid at the employment of seasonal staff, the rental of additional equipment, assigning parts of the project to subcontractors etc.
+
• The method requires time in order to develop the project network and relies heavily on project managers and members' knowledge and experience in that stage. Poorly defined project scope and activities can result in ineffective use of CPM, which becomes difficult to manage.  
  
In addition to its ability to reduce the complexity of larger projects by breaking them into component tasks, the critical path method became popular because of the innovations in computer hardware and software. In the first few decades of the critical path method, the tools were bulky mainframe computers used by specialists who often required months of training. The PC revolution brought scheduling management software to the desktop, and the rise of computer networking allowed the results to be shared easily among team members.<ref name=''kostas''> ''https://yourbusiness.azcentral.com/history-critical-path-method-24351.html /  AZCentral. '' </ref>
+
• It is not easy to adjust the method when changes occur in the project plan during the project execution. In that case we have to redraw the project and start the calculations from the beginning. This is an intertemporal disadvantage of this method.  
  
==Limitations==
+
• The CPM is an optimal planning tool, as it always assumes that all resources are available for the project at all times, something that does not reflect the reality especially nowadays.
  
The CPM has the following disadvantages:
+
To overcome these shortcomings of the critical path, the critical chain method was developed. In the critical chain method resource constraints are also taken into consideration while developing the network diagram.<ref name="KOSTAS" />
  
The method assumes that the duration of the activities in the project is given, something that usually is not the case. Fuzzy or probabilistic models could enhance the method in that case.  
+
==The Evolution from CPM to DPM==
 +
The Dynamic Progress Method (DPM) is a new approach to planning, estimating, and managing projects that builds upon the power now found in computers and applies a different type of simulation model than is currently used in most tools. The underlying simulation model is very simplistic because it was developed at a time when computers had very little computational power.<ref name="KOSTASSSS" />
  
• The usage of a software such as Microsoft Project or Primavera are recommended if the analysis process is extremely complicated.
+
Taking advantange of the contemporary technological capabilities, as well as the extensive knowledge gathered regarding project management, it is possible to enhance the CPM and make it more adjustable to the manager's needs.  
  
The method requires time in order to develop the project network and relies heavily on project managers and members involved in that stage. Poorly defined project scope and activities can result in ineffective use of CPM, which becomes difficult to manage.  
+
[[File:DPM.PNG|link=http://apppm.man.dtu.dk/images/f/f7/1.PNG‎|380px|thumb|right|'''Picture 8:''' The Dynamic Progress Method (DPM) compared to CPM. Source: Project Management Institute. <ref name="KOSTASSSS" /> ]]
  
• It is not easy to adjust the method when changes occur in the project plan during the project execution. In that case the we have to redraw the project and start the calculations from the beginning.  
+
DPM begins with a fundamental re-evaluation of how input information is used. After defining which tasks are to be done and their dependencies, a project manager begins the process of estimating the duration of each task. For a task, the project manager usually knows about how much work needs to be done, who might do that job, an idea as to how “good” or “effective” that person is, and an idea about the availability of that person. In the example in picture 8, it’s easy to see that an 80-hour task with one assigned resource that is available 8 hours/day and is 100% productive (i.e., for each hour the resource is paid, the resource completes an hour of actual project work) gives a task duration of 10 days. With CPM-based planning tools, the duration is the input. Conversely, with DPM-based tools, the individual task and resource inputs are used instead. In this example, if the resources are actually available at the level of productivity assumed, then the duration will be the same 10 days.<ref name="KOSTASSSS"> https://www.pmi.org/learning/library/going-beyond-critical-path-method-6297 / Project Management Institute '' </ref>
  
• Because the critical path method is an optimal planning tool, it always assumes that all resources are available for the project at all times.
+
Commercial available tools that use the DPM is the pmBLOX and the [[Wikipedia:Spider Project|Spider Project]].
  
• There are chances of misusing float or slack
+
To conclude, the foundation of the DPM method are the resources, and then it builds upward. With this resource-based approach, project managers have much more flexibility and control to specify exactly what needs to be done on a project, enhancing the credibility and the accuracy of the project plans.
  
• CPM and PERT method do not account for path convergence and thus tend to underestimate project durations.<ref name=''kostas''>  A Guide to the Project Management Body of Knowledge, PMI Standards Committee, ISBN:1-880410-12-5 '' </ref>
+
==Annotated Bibliography==
 +
'''1. Project Management Institute,"A Guide to Project Management Body of Knowledge", (5th Edition),2013 ''': This book is a set of standard and guidelines for project management. It can be used to describe useful tools for Project Managers such as the CPM method that this article describes.
  
To overcome these shortcomings of the critical path, the critical chain method was developed. In the critical chain method resource constraints are also taken into consideration while developing the network diagram.
+
'''2. Robert K. Wysocki, "Effective Project Management: Traditional, Agile, Extreme", Fifth Edition'''. This book provides an overview of the most well-known management approaches and tools and how to use these to handle projects in the most effective manner.
  
 
==References==
 
==References==
 
<references />
 
<references />

Latest revision as of 16:13, 16 November 2018

Developed by Konstantinos Terzakis

Contents

[edit] Abstract

Many students struggle with the concepts of planning and scheduling when first introduced to it. This struggle extends from the introduction of work breakdown structure to network logic through the meaning of critical activities and continuing with other planning and scheduling topics.[1] The Critical Path Method (CPM) was developed in late 1950s and became a very popular tool for Schedule Development. The method, which is broadly used by project managers, is a graphical technique which is known with the generic term Network Modeling and is used to estimate the minimum project duration. This schedule network analysis technique calculates the early start, early finish, late start, and late finish dates for all activities without regard for resource limitations by performing a forward and backward pass analysis through the schedule network. The critical path is the sequence of activities that represents the longest path through a project, which determines the shortest possible project duration. The resulting early and late start and finish dates are not necessarily the project schedule, rather they indicate the time periods within which the activity could be executed, using the parameters set in the schedule model for activity durations, logical relationships, leads, lags, and other known constraints. The CPM is used to calculate the amount of scheduling flexibility on the logical network paths within the schedule model.[2]. This article describes the CPM methodology, provides an example of this technique so as to be perceivable, while it analyzes how this method responds to the modern business practices as well as which is the evolution of this method.

[edit] Big Idea

"A project is a sequence of unique, complex and connected activities that have 
one goal or purpose and that must be completed by a specific time, within a 
budget and according to specification." [3] Another definition, according to PM Standard is: “A project is a unique set of processes consisting of coordinated and controlled activities with start and end dates, performed to achieve project objectives. Achievement of the project objectives requires the provision of deliverables conforming to specific requirements”.[4]

In both of these definitions, it can be observed some key words such as "coordinate", "sequence" "start/end" date. The CPM calculates a single, deterministic early and late start and finish date for each activity based on specified, sequencial network logic and a single duration estimate. The focus of CPM is on calculating the float in order to determine which activities have the least scheduling flexibility. The CPM algorithms are often used in other types of mathematical analysis.[5]

[edit] Methodology

A specific methodology has been developed for the practical implementation of this method, generally consisting of the following steps:

1. Definition of the actions constituting the project as a whole. It is recommended to use the Work Breakdown Structure (WBS) to identify the activities of the project.

2. Determine the sequence according to which actions must be executed.

3. Estimate the completion time of each individual activity.

4. Planning the network of actions while respecting the requirements of the project execution sequence.

5. Determine over the network from the beginning to the end of the project, the fastest possible start and completion of each action, based on the network and completion times.

6. Determine over the network, from the end to the beginning of the project, the latest start and finish time of each action, based on the fastest completion time of the project identified in step 5.

7. Determine the time that can delay any action (time interval) based on the difference in earliest and latest start times that were found in the previous two steps.

8. Recognize and record the critical actions that are those where the slack time is zero (0) and cannot delay. These consist of the critical route.

9. Use the information from steps 5 and 6 for the basic planning of the project.

It is easy to understand that the most important steps are the assessment of the completion times of the individual actions and the determination of the critical route, that is to say, the actions that cannot delay. Thus, the CPM can be used effectively when the duration of each individual action of the project can be assessed with relative accuracy, and it is a deterministic variable. This happens when there is satisfactory data for the approach of the aforementioned times, i.e. statistical data from similar projects, or projects where executives could use their technical knowledge and experience in correctly predicting completion times of the actions. Below, there is an application of this method that follows the methodology mentioned above.

[edit] Application

Table 1: Characteristics of the actions to design the Network (created in MS Excel 2016)

Let’s say that a consulting company carries out a project and the project team decides which individual actions are the main components of the overall project. These may be exploring customer requirements, investigate the case study, preparation of the offer, etc. These actions are shown in the first column of Table 1. Once established exactly the actions, they are encoded with a letter for facilitating the design of the network (2nd column of the table). Then determine the sequence, that is the order of execution shown in 3rd column of the table, where next to each action is shown which or what actions must precede. Finally, in the fourth column, there is the time required for completion of each action, estimated by the project team. So, the first thing that the project team or the person responsible for the planning must produce is a table as Table 1.


Designing the network

Once the above table has been determined, the project manager can proceed with the design of the network. The actions are represented as nodes while arrows from node to node show the sequence of actions. The elements that are written on a node can be seen in Picture 2.

Based on the table 1, we end up with the following network of actions for the consulting company.

Picture 1: The network depicts the sequence and the duration of the actions (created in MS Excel 2016)
Picture 2: Depicted elements in a typical node (created in MS Excel 2016)

When planning a network of actions we need to be sure that the actions are depicted in the proper sequence and that we maintain the logic among them. In the case of the consultancy company we observe two routes, A-B-C-D-F-G and A-B-C-E-F-G.

Determination of "Critical Times" of Actions: Early Start Time (ES) - Early Finish Time (EF)

During the process of identifying the critical route, it is needed to calculate the critical times of the project's actions.

Earliest Start Time (ES) of the action is the earliest time at which the action may begin. This depends on when the preceding actions have been completed.

Early Finish Time (EF) of the action is the earliest time at which the action could be completed, and apparently, equals the ES plus the duration of the action.

The earliest end time EF for Action A is ES + 2, since its duration is two weeks, so EF = 2. The following action is B, which can not begin before Action A has been completed. Therefore, the ES for action B will be identified with EF of the previous action, and ES = 2 for action B. As far as it is known that the duration of action B is 1, it is obvious that EF = ES + 1 = 2 + 1 = 3. Following this process and using the duration of actions from Table 1, the network in Picture 3 is produced.

Picture 3: The network depicts the sequence, the duration, the ES and EF of the actions

As a consequence, it is logical that the earliest completion time of the overall project is identical to the EF of the last action. This is the expected completion time of the project. In our case, the company's project has a total project duration of 15 weeks.

Determination of "Critical Times": Late Start Time (LS) - Late Finish Time (LF)

The next step in the process is to calculate the latest starting and finishing times of the actions.

The Late Finish Time (LF) of the action is the latest time when an action can end without extending the completion time of the entire project.

The Late Start Time (LS) of the action is the latest time that an action can start without prolonging the completion time of the entire project and equals to LF minus the duration of the action.


Based on the example to define the latest times, we have to start from the end of the network towards the beginning by examining one by one the actions. The earliest completion time of the project, hence the desirable time, is identified by the EF of the last action, and that is 15 weeks. Consequently, the action G cannot be completed after the 15th week because there will be a time extension for the company’s project. Therefore, the LF for action G is 15 weeks. The LS for G is calculated from LF minus the duration of the activity, LS = LF-1 = 15-1 = 14.

Regarding action F, its LF date depends on the LS of the following action G. That means, to avoid the extension of the whole project time, the LF date of action F is 14 weeks. Accordingly, the LS date of the action F is LS minus duration of the activity, LS = 14 - 5.

Following this procedure and using the duration times of the actions from Table 1, the network in Picture 4 is produced.


Picture 4: The network depicts the sequence, the duration, the ES, EF and LS, LF of the actions

Slack time and Critical Path

Having calculated ES, EF, LS and LF, it is then possible to find the slack times of the actions and identify the critical path. Slack time is the time period during which we can delay an action without affecting the completion time of the project. Obviously the slack time span of any action is the difference between LS and ES or the LF and EF of the action.

Slack time = LS-ES = LF-EF

If we calculate from Picture 4 the slack times of the actions it is observed that it is 0 for all actions except for action D for which:

Slack Time (D) = 7-4 = 9-6 = 3 weeks

It is clear, that action D can begin anytime within a period of 3 weeks from ES = 4 to LS = 7 which is the latest time it can start, according to the network, without adversely affecting the overall duration of the project. All the other actions in the network, with slack times equal to zero, cannot delay because the total duration of the project will be affected.

Thus it is stated that:

A critical path in a network of actions is the longest in duration path from network related actions from the start until the end of a project, where any delay in these actions leads to time extension to the completion of the overall project. The critical path can also be defined as the route on the network where all its actions have zero slack time or even the path for which the pairs (ES, EF) and (LS, LF) are identical. The actions that belong to the critical path are also called critical actions. So, if any action ends up with zero slack time, this action is on the critical path. Usually, and especially in some more complex networks, there are many critical routes. Of course, the total time of the critical routes is the same and longer than the total time in any other route of the network. In the example above only action D is not a critical action, and does not belong to the critical path (since it has slack time = 3 ≠ 0). In Picture 5 below it can be seen the critical path, the slack time for action D and the total duration of the project.

Picture 5: The network depicts the critical path, the slack time for action D and the total duration of the project
.

Based on the definition of the critical path, it seems that with a simple overview of the network, as shown in Picture 1, without ES, EF, LS and LF and only from the durations of the actions can someone identify that A-B-C-E-F-G is the critical route. But when the action network is more complex, with many nodes and more arrows, it is difficult to identify it immediately. Then the above methodology, becomes necessary to drive on critical actions, timing of other actions and eventually critical route.

Conclusions and comments for the CPM method

Picture 6: Early Start Schedule for the application depicted in a Gantt chart
Picture 7: Late Start Schedule for the application depicted in a Gantt chart

The existence of slack times in actions that do not belong to the critical route, allows for their programming in accordance with the needs and priorities of the overall project. In the example, the action D was reported to have slack time 3 weeks. This allows the start of Action D at any time within the timeline from week 4 (ES = 4) to week 7 (LS = 7). This property of non-critical actions can be better observed if we use the Gantt diagram, where time is depicted in the horizontal axis. Picture 6 shows exactly this, with the non-critical action D that starts at the time that is identical to ES.

This approach to programming non-critical actions is called Early Start Schedule. In this case, they are scheduled to begin as soon as possible (ES). With this approach the project and all the individual actions are completed as soon as possible.

Many times, however, this is not desirable. So we can choose the very opposite approach to programming non-critical actions and have the Late Start schedule. This approach can offer better usage of the system’s resources and can be seen in Picture 7. In a complex task with several non-critical actions such programming is a very helpful tool for project managers. If we compare the two Pictures 6 and 7 from the Gantt charts we can see within which time intervals the non-critical action D can be moved. The existence of slack times for the non-critical actions facilitates their programming in a way that we can use more efficiently the system’s resources. Indeed, the start of these non - critical actions according to their earliest start times (ES), usually implies the accumulation of large requirements and resources for inputs in some time periods. By using the available margins for any non-critical action, thus bringing the start to an appropriate time (and correspondingly end) of each such action, but always within the available margins, we achieve the most stable and uniform usage of the project’s resources.

By this way, there are several positive economic consequences for the project, as the idle time of the permanent staff and machinery decrease and we can avoid the employment of seasonal staff, the rental of additional equipment, assigning parts of the project to subcontractors etc.

In addition to its ability to reduce the complexity of larger projects by breaking them into component tasks, the CPM became popular because of the innovations in computer hardware and software. In the first few decades of the CPM, the tools were bulky mainframe computers used by specialists who often required months of training. The PC revolution brought scheduling management software to the desktop, and the rise of computer networking allowed the results to be shared easily among team members.[6]

[edit] Limitations of the CPM due to the modern business practices

The CPM, especially nowadays has the following disadvantages:

• The method assumes that the duration of the activities in the project is given (input), something that usually is not the case, as it overlooks the modern work practices such as the flexibility of work and the fact that the duration of the different activities is practically an outpout in the real business. Fuzzy or probabilistic models could enhance the method in that case.

• The usage of a software such as Microsoft Project or Primavera is recommended if the analysis process is extremely complicated.

• The method requires time in order to develop the project network and relies heavily on project managers and members' knowledge and experience in that stage. Poorly defined project scope and activities can result in ineffective use of CPM, which becomes difficult to manage.

• It is not easy to adjust the method when changes occur in the project plan during the project execution. In that case we have to redraw the project and start the calculations from the beginning. This is an intertemporal disadvantage of this method.

• The CPM is an optimal planning tool, as it always assumes that all resources are available for the project at all times, something that does not reflect the reality especially nowadays.

To overcome these shortcomings of the critical path, the critical chain method was developed. In the critical chain method resource constraints are also taken into consideration while developing the network diagram.[5]

[edit] The Evolution from CPM to DPM

The Dynamic Progress Method (DPM) is a new approach to planning, estimating, and managing projects that builds upon the power now found in computers and applies a different type of simulation model than is currently used in most tools. The underlying simulation model is very simplistic because it was developed at a time when computers had very little computational power.[7]

Taking advantange of the contemporary technological capabilities, as well as the extensive knowledge gathered regarding project management, it is possible to enhance the CPM and make it more adjustable to the manager's needs.

Picture 8: The Dynamic Progress Method (DPM) compared to CPM. Source: Project Management Institute. [7]

DPM begins with a fundamental re-evaluation of how input information is used. After defining which tasks are to be done and their dependencies, a project manager begins the process of estimating the duration of each task. For a task, the project manager usually knows about how much work needs to be done, who might do that job, an idea as to how “good” or “effective” that person is, and an idea about the availability of that person. In the example in picture 8, it’s easy to see that an 80-hour task with one assigned resource that is available 8 hours/day and is 100% productive (i.e., for each hour the resource is paid, the resource completes an hour of actual project work) gives a task duration of 10 days. With CPM-based planning tools, the duration is the input. Conversely, with DPM-based tools, the individual task and resource inputs are used instead. In this example, if the resources are actually available at the level of productivity assumed, then the duration will be the same 10 days.[7]

Commercial available tools that use the DPM is the pmBLOX and the Spider Project.

To conclude, the foundation of the DPM method are the resources, and then it builds upward. With this resource-based approach, project managers have much more flexibility and control to specify exactly what needs to be done on a project, enhancing the credibility and the accuracy of the project plans.

[edit] Annotated Bibliography

1. Project Management Institute,"A Guide to Project Management Body of Knowledge", (5th Edition),2013 : This book is a set of standard and guidelines for project management. It can be used to describe useful tools for Project Managers such as the CPM method that this article describes.

2. Robert K. Wysocki, "Effective Project Management: Traditional, Agile, Extreme", Fifth Edition. This book provides an overview of the most well-known management approaches and tools and how to use these to handle projects in the most effective manner.

[edit] References

  1. Weber, Sandra C., Scheduling Construction Projects: Principles and Practices,Prentice Hall, 2005
  2. A Guide to the Project Management Body of Knowledge (PMBOK® Guide), Fifth Edition, 2013, ISBN-13: 978-1-935589-67-9
  3. Robert K. Wysocki, 2009, Effective Project Management: Traditional, Agile, Extreme. Fifth Edition, ISBN: 978-0-470-42367-7.
  4. ISO 21500 PM Standard.
  5. 5.0 5.1 A Guide to the Project Management Body of Knowledge, PMI Standards Committee, ISBN:1-880410-12-5
  6. https://yourbusiness.azcentral.com/history-critical-path-method-24351.html / AZCentral.
  7. 7.0 7.1 7.2 https://www.pmi.org/learning/library/going-beyond-critical-path-method-6297 / Project Management Institute
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox