Critical-Chain Approach

From apppm
Jump to: navigation, search

Developed by Gudrún Thóra Reynisdóttir


Critical Chain Project Management (CCPM) is a methodology for planning, executing and managing projects. The focus is on the project schedule and to reduce project changes and cost overruns by taking into account resource allocations and time uncertainties of activities.

The method was developed by an Israeli physicist, Eliyahu M. Goldratt. He introduced it in his Theory of Constraint (TOC) book Critical Chain in1997. The method was developed in response to common issues and problems that can lead to poor project results, such as increased cost, fewer deliverables than expected and frequently missed deadlines due to longer than expected durations of activities. The method can assist organizations to maximise project performances, which can lead to increased profit.

CCPM differs from other traditional project planning methods that have its origin in critical path and PERT algorithms in several ways. The emphasis is on resources available, flexible starting times, interim milestones in projects and the use of buffers instead of order of tasks and strict schedules.

The focus of this article is to introduce and explain the background and concept of the CCPM approach when planning and scheduling a project together with benefits and limitations of the method. Undesired effects of more traditional planning and scheduling methods will be discussed, followed by how to prevent these effects by using the CCPM approach.


Contents

Author and the history

The importance of projects in today’s global and chaotic environment is becoming significant and will continue to grow in the future. All businesses have projects and they are turning to project management as a way to improve project results and to stay ahead of the competition. Despite of precise planning and strict schedules through The Critical Path Method in project planning (CPM) or Program evaluation and review technique (PERT), lack of efficiency in project management has been a big issue in the last decades. The Theory of Constraint (TOC) strives to eliminate this lack of efficiency by using the Critical Chain method when planning, scheduling and monitoring projects [1].

It all started with Eliyahu Goldratt’s first book, The Goal, a non-traditional approach to share knowledge. The book is a business textbook written in a novel form, disguised as a love story. The novel tells a story of a manager in problems due to his poorly run manufacturing plant [2]. According to Goldratt, interdependency of elements influences the ability of businesses to do what should be done. He also states that manufacturing plants can be controlled by three main measures; throughput (TH), operating expenses and inventory. Based on this, he described the Drum-Buffer-Robe (DRB) approach, which is to produce only what is needed. In his second book It’s not Luck, he extended this method for marketing and distribution. The extended method became known as The Theory of Constraint (TOC). In his third book The Critical Chain he applied the TOC method to Project Management and the method is now know as Critical Chain Project Management (CCPM) [1]. The book reveals the reasons for why projects are unable to finish on time or within budget. [3]. The CCPM method reengineers the project planning and management practices, in order to eliminate issues and problems that lead to poor project results. The critical chain refers to the longest string of dependencies that are present in a project. The term chain is used instead of path, because the critical path is only linked to technical dependencies and not resource dependencies [4].

Eliyahu M. Goldratt (1947 – 29111) was born in Israel and over his life he worked as a lecturer, researcher, scientists, and a business leader. Goldratt completed a Master of Science and a Doctors degree in Philosophy both obtained at Bar-Ilan University in Israel [2].

Theory of Constraints

Theory of Constraint (TOC) is a change method where the focus is on identifying constraints or bottlenecks in processes and systems [5]. According to Goldratt, organisational performance is dependent on these bottlenecks. These bottlenecks can prevent organisations to maximise its performance and reach the objective, which is normally to increase profit [6].

These bottlenecks can include information, equipment, work force, and supplies, and can be both internal and external to an organisation. The fundamental concept of the theory is that, every business has at least one constraint. That is, any factor that limits the output of the organisation and prevents it to improve the performance. In other words, the weakest link in the chain. The theory also states that processes or systems can only have one weakest link at a time. All other weaknesses are not constraining until they become the weakest link. The theory can be used in various situations and is based on five steps to improve productivity [6].

The five steps of theory of constraint

Figure 2: The five steps of Theory of Constraints

The aim is to keep the constraint or the bottleneck as efficient as possible, because only the efficiency of the bottleneck is a critical factor to the overall performance. There are five important steps to improve performance of a chain. Each step will be explained with an example in production planning terms [7].

  1. Identify constraints of the process or the system: It is important to identify the bottleneck. If the bottleneck is a machine, the maximum utilisation must be achieved, ensuring there is always work to do for this particular machine [7].
  2. Determine how to exploit these constraints: Find ways to ensure the maximum utilisation of the bottleneck. This could mean reducing the number of changeovers, offload work that can be done on another machine or reduce setup times to create additional capacity [5].
  3. Subordinate system’s constraints: To keep the bottleneck running at full capacity at all times, all other decisions must be subordinated. Running other machines with a higher production rate than the bottleneck is considered waste. [5].
  4. Elevate constraints to a new level of productivity: Concentrate all resources and efforts on the bottleneck to increase throughput rate or output. One way to do this is to run the bottleneck machine for extra hours every day, this increases the capacity of the machine [7]. The difference between step 2 and 4 relates to the amount of investment required [5].
  5. Start again on step on: With increased capacity of the machine, there might be a new bottleneck, which needs to be addressed. The process of improvement must be repeated. Here it is important to make sure inertia does not cause a system constraint [7].

Critical Chain Project Management

Planning

Figure 3: Traditional Schedule vs. CCPM Schedule [8].
Figure 4: Feeding Buffer and Project Buffer [8].

The first step in CCPM is to create a project schedule. In order to do so, it is necessary to define all project activities that needs to be performed, e.g. by using the technique of Work Breakdown Structure (WBS). At this stage, it is also important to estimate activity durations, interdependencies between tasks and availability of resources. Availability of resources is a crucial part when applying CCPM. A part of the resources have limited availability and therefore the resulting schedule is likely to be longer than a schedule obtained by applying traditional methods.

After resource levelling, it is possible to identify the critical chain, which yields the project completion date. Resources that are allocated to activities that are part of the critical chain are referred to as critical resources. At this stage, the approach is identical to the approach of Levelled Critical Path.

The next step in the planning phase is to shorten activity durations based on the rule of 50/50 chance of completing before time estimate. This means removing the safety margin, added by the worker who provided the estimate. The difference between the two project schedules, with and without safety margins, is called a project buffer. The buffer should be displayed as a separate project activity in the end of the updated schedule, see Figure 3. Notice that, only half the critical activities will exceed the estimated time duration and the other half will be completed early.

This step is now repeated for all non-critical activities and the safety margin removed. A safety buffer is now placed where the non-critical path merges into the critical chain. This type of buffer is called feeding buffer, see Figure 4. Notice that, the non-critical path can still have slack.

The final step of the planning phase is to account for scarce resources. This leads to the third type of buffer used in CCPM, namely a resource buffer. This type of buffer is located prior to critical activities that require critical resources. The buffer acts as a signal for the critical resources and notifies them that a critical activity is soon to be started [8]. A resource buffer protects the chain from resource bottlenecks by causing critical resources to complete non-critical activities and to be ready to start working on the critical activity [4].

Execution

During the execution of the project plan, it is expected that resources:

  • Work on critical activities continuously without multitasking
  • Complete the critical activity as soon as possible, regardless of schedule
  • When the critical activity is complete, they start immediately on the activity’s successor

If an activity is not completed on time, there is no reason for concern since the buffer in the chain will absorb the delays. During the project, the CCPM schedule will be recalculated and buffer sizes adjusted in order to keep the final due date [8].

Control

Figure 5: Fever chart for monitoring project's time performance[8].

The approach of CCPM exploits the three types of buffers to monitor and control the project time performance. The monitoring process is based on buffer consumptions and is divided into three zones, OK (green zone), Watch and Plan (yellow zone) and Act (red zone), see figure 5. When the buffer consumption begins to decrease and move towards the second zone (Watch and Plan), signals are set off in order to seek corrective actions. However, this warning mechanism is not used to its full potential unless the buffer consumption is compared with the actual progress of the project. As an example, if the project is 75% complete and the buffer consumption is 50%, there is nothing to worry about. Conversely, if the project is only 25% complete and the buffer consumption is 50%, appropriate and immediate actions must be taken [4].

Traditional approaches

The Critical Path Method in project planning (CPM) is a traditional scheduling and planning method. The method is based on estimates of time required to complete project activities that lie on the critical path. The critical path is the sequence of interdependent activities in a project that add up to the longest overall duration [4].


Program evaluation and review technique (PERT) is another traditional scheduling and planning method and is identical to the CPM method. The difference between PERT and CPM, is that PERT assumes that each project activity duration has a range that follows a statistical distribution. PERT uses three estimated durations for activities to calculate the overall project duration [4].

Problems with PERT/CPM approaches

Figure 6: Problems with PERT/CPM approaches[1].

Several problems are related to the use of PERT and CPM, the traditional approaches, when scheduling and planning projects. These factors have one thing in common; they can all cause delays in the project completions.


Variability of task duration and convergence points

Most projects have multiple tasks that converge to another tasks in the critical path, see Figure 6 where activities A and B converge to activity C. This means that both A and B must be completed before activity C can be started. Due to variability of task durations, the start date of activity C (the dependent task) may be incorrect. The impact of this problem can be escalated, because all projects have paths that merge into one end node. Both PERT and CPM approaches fail to take into account the variability of task durations [1].


Scheduling to a specific time

Traditional approaches make use of start dates and task durations when planning and scheduling resources. This means that if activity A is completed early, activity B will still start on the earliest start date, in this example day 4, see Figure 6. However, if activity A is completed late, activity B will start late, since the activities are sequential. Both PERT and CPM do not link the start of activity B to the real finishing time of activity A [1]. In addition, scheduling to a specific date can increase the probability of three unfortunate syndromes occurring, Sandbagging, Parkinson’s Law, and Self-protection. These three syndromes can lead to a failure of completing activities early.

Sandbagging: In project management, sandbagging refers to the practice of holding a complete work until the true due date arrives. This can produce poor picture of where the project or the organisation really stands [1].

Parkinson’s Law: This occurs when an activity is completed before deadline but resources are still improving the work until the due date is reached. A good example is when a worker is given a task that takes only a few hours to complete, but was allocated a few days of work in the schedule. The time spent on the activity is often expanded and finished at the last minute. This can also be adapted to budgets and other constraints [1].

Self-protection: This is the concept when workers fail to report early completion of activities out of fear that management team will adjust future standards and demand more next time. This means that if a worker estimates that an activity will take 5 days to complete but delivers the work in 3 days. Next time the manager might want to trim the estimated time based on past performance [4].


Increasing the estimated time duration of tasks

This is an extension to problem two, scheduling to a specific time. A path has 40% certainty to be completed at the earliest finish date, in day 12, see Figure 6. However, this is not reliable enough, so the resource manager increases the time estimate by 25%. This means that activity B can now start on day 5, the earliest, and is scheduled to finish in day 15, see Figure 6. This means, that the path is more reliable, but an extra day is needed to complete the project [1].


Consuming slack early in the process

Consider a non-critical path with total slack of 5 days, see Figure 6, and the management practice of delaying the non-critical activities to save money. This means that activity A will start during day 5, see Figure 6, and the entire slack is spent in the beginning of the sequence A-C-F. The slack is therefore no longer protecting the sequence if anything unexpected happens [1].

Student syndrome: The student syndrome is a common student behaviour to postpone the homework to the last possible start time. First working with a high level of slack. In project management, this syndrome can jeopardize the due date. This can be caused by poor project management, unclear requirements, human nature etc. [9].


Resource issues

Neither PERT or CPM approaches take into account that resources might be needed at the same time. E.g. assume that activities C1 and C2 need the same resource C, see Figure 6. If C1 starts first, C2, which is part of the critical path, will be late and therefore the whole project will be delayed. If C2 starts, activity C1 will be late and the non-critical path will become critical. Either way the project will not be finished on time [1]. Two other resource issues are the phenomenon of dropped baton and multitasking.

Dropped baton: This refers to the impact of poor coordination. If an activity is completed early and the resources for the new dependent activity is not ready, the time gained by completing the activity early, is lost. Inflexible resource schedules can cause this problem [4].

Multitasking and safety times: The performance of multiple project activities done at the same time is called multitasking. This could be the act of dividing time between multiple project tasks or shifting from one activity to another if there is no prioritization of activities. Multitasking is often thought of as a good way to improve efficiency of resources. However, the focus on local efficiency can damage the over all performance. This issue can easily be explained by comparing two project paths, see Figure 7. Path 1 prioritizes the work of activity A and the activity will be completed in 10 days. Multitasking is used in path 2, where activity A is completed in 20 days but the total duration of both paths are 30 days. Another issue caused by multitasking is the increase in lead-time caused by increase in setup changeovers. This can often result in project managers adding extra time for each activity to be on the safe side in terms of project delivery time [9].

Figure 7: Multitasking example[8].

CCPM as a solution to these problems

CCPM was developed to reengineer the project planning and management practices. The purpose was to eliminate the problems mentioned above, which existing methods, expensive software and tools had not been able to solve. These problems lead to poor project results such as increased cost, fewer deliverables than expected and frequently missed deadlines due to unrealistic time estimates. The biggest potential for improvements is in relation to common cause variation, which the CCPM method takes into account.

Dr. W. Edwards Deming, an American engineer and a management consultant, developed the theory of Common Cause Variation and defined two types of variations:

  1. Common Cause Variation: Caused by unknown factors resulting in steady but random distribution of outputs around the average of the data. This type of variation is inherent in the system and is a measure of how well the process can perform when the special cause variation is removed.
  2. Special Cause Variation: A shift in outputs caused by specific factors such as environmental conditions or a specific machine. This type of variation can be accounted for and possibly removed.


All project activities have common cause variations in the activity times, which represent uncertainty in performance. Traditional planning and scheduling methods estimate the impact of common cause variations and settle the problem by adding safety time for each activity [9]. CCPM deals with common cause variation by insisting on using estimates of 50% chance of completion before time, instead of 80-90% chance like traditional methods. In addition to shortened time estimates of activities, the method uses strategically located buffers. These buffers aggregate the safety time and protect the chain. There are three types of buffers used in CCPM:

  • Project buffer: Due to common cause variations in time, the project duration is unclear. To tackle this, project buffer is added to the expected project duration.
  • Feeder buffers: Buffers are added to the schedule where non-critical paths merge with the critical chain.
  • Resource buffers: Additional time buffers are inserted where scarce resources are needed for a project activity.


Insisting on using 50/50 estimates will discourage Parkinson’s law, student syndrome and self-protection because there is slack in the chain. Productivity will increase due to less slack and the method also provides resource buffers to protect activities from unavailable resources. This means the likelihood of dropped baton effect will be reduced [4].

CCPM does not criticize performances that overrun the estimated activity durations if resources:

  • Start the activity as soon as necessary inputs are received
  • Work on an activity without multitasking
  • Pass on the activity output to the next activity as soon as it is completed


CCPM allows the project team to focus on completing the project as soon as possible by only providing start dates for the whole activity chain and the end date of the project buffer. During the project, the plan only provides approximate start times and estimated activity durations for each project activity [9].

Traditional Scheduling vs. CCPM Scheduling - Example

This comparing example between traditional scheduling methods and CCPM is used to illustrate how CCPM approach affects planning and scheduling in Project Management. The problem will first be solved by using traditional methods and then solved by using the CCPM approach.

Figure 8A, shows the planned project network without taking into account the necessary resources. This means that project activities are assumed to be independent of each other and resources will be made available. In Figure 8B, the corresponding Gantt Chart is shown. Dark grey bars represent the estimated durations of critical activities. Light grey bars represents the estimated duration of non-critical activities, and the colourless bars represent slack. Notice that the duration of the project is 45 days and the critical path is: A-D-F-G-H.

  • Figure 8A: Project Schedule without resources[4].
  • Figure 8B: Gantt chart without resources[4].

After resources have been added to the schedule, see Figure 8C, it is clear that there are resource conflicts between project activities. Ryan is the resource for activities A, C and F. After adding resources in the Gantt chart in Figure 8B, it is clear that activities C and F overlap by 5 days, which is impossible. This means that activities C and F, which at first were assumed to be independent have now become depended on each other. This must be solved. The Gantt chart in Figure 8D, reflects the updated network schedule, where the solution to the over allocation of Ryan has been solved. The new schedule shows changed slack for certain activities, and more importantly, the critical path has changed and is now, A-C-F-G-H. In addition, the new project end date is 50 days instead of 45.

  • Figure 8C: Project Schedule with resources[4].
  • Figure 8D: Gantt chart with resources[4].

Applying the CCPM approach to the same project, will lead to another result. Figure 9A, shows the CCPM network, and notice that the estimated durations for activities are now representing the 50/50 chance rule. Two other observations are that the activities in the critical chain are all technically linked and both feeding buffers and a project buffer have been added to the network.

  • Figure 9A: CCPM schedule[4].
  • Figure 9B: CCPM gantt chart[4].

The corresponding Gantt chart is shown in Figure 9B. When using the traditional method, the non-critical activities were scheduled to start immediately after activity A, which is the earliest start date for those activities. Now they are scheduled later in the project and a three-day feeding buffer has been added at the end of each of the non-critical activities. This is done in order to absorb any delays that might occur. Finally, the project is estimated to take 27 days with a project buffer of 10 days instead of 50 days as the traditional method estimated.

This example is good way to explain the difference between buffers and slack in projects. Slack is spare time of non-critical activities in the schedule. Buffers, on the other hand, are time blocks reserved for any unpredictable act that might occur, and if they are not needed subsequent project activities can proceed on schedule [4].

Benefits

The CCPM approach modifies the project schedule in order to take into account limited resources by mixing deterministic and probabilistic approaches. The method aims to shorten project durations with better activity prioritization and efficient resource management, where availability of resources is taken into account. The most important advantage of this method is the ability to deliver projects on time or even before due date. The approach has a strong record of increasing the performance and reducing the time durations. Good examples are: • Harris Semiconductor built a new automated wafer fabrication facility in less than 13 months by using the approach of CCPM, while the standard industry for such a facility is 26-36 months • The Israeli aircraft industry used CCPM techniques in order to reduce the maintenance work on aircrafts from two months to two weeks [4].

CCPM exploits the advantages of planning and control processes, such as resolve bottlenecks to improve performance inherited from TOC, reduce waste inherited from Lean methodologies and finally reduce variation, inherited from the method of Sig Sigma [10].

As mentioned earlier, the CCPM method helps overcome, Parkinson’s Law, student syndrome and self-protection due to less slack in the chain. With less slack in the chain and use of resource buffers, productivity will increase which protects the chain from the undesired effects of dropped baton [4]. Furthermore, by avoiding multitasking, the WIP level in the system is reduced, which can speed up work completion [11].

CCPM does not schedule to specific dates, which can reduce the work of re-planning during the execution stage. This allows the project manager to focus on managing variations in activity durations. With less re-planning the project manager, project workers and other stakeholders have a better overview of the progress. In addition, monitoring buffer consumption can help stakeholders to see whether the project is on time or not [11]. The use of buffers and buffer monitoring techniques clearly identifies risk associated with each task and its impact on the project completion. This helps management identify when they must take action and what actions to take [5].

Criticism and limitations

The method of CCPM suggests that all project activity durations are overestimated and should therefore all be reduced by the same percentage, usually 33% [8]. However, there is no scientific evidence supporting this. On the contrary, studies have shown that the amount of overestimation is individual dependent and based on personalities, past experiences, nature of the activity etc. Furthermore, project managers that know that estimates will be reduced, have the tendency to encourage activity owners to add larger safety margins than before. This means that, still after the time reduction they have their preferred safety margins.

Buffers play a crucial role in the method of CCPM. The project buffers should protect the critical chain against the sum of uncertainty of the activity durations of the critical chain. The feeding buffers should reflect the appropriate safety for the chains feeding into the critical chain. The size of the buffers needs to be less than the sum of the safety margins. Again, there is no scientific basis for how to estimate the buffer sizes.

The third criticism is in regard to the resource utilization or multitasking. Studies related to effectiveness of matrix organizations have shown that there is a correlation between the number of projects to which R&D personnel were assigned and KPIs of the organization. To be more precise, these studies show that it is optimal to assign personnel with two projects at a time. Therefore the benefits of eliminating multitasking are not clear at all and the need for more studies in regard to this is necessary.

Project management success is not necessarily the same as project success. Most customers link success to whether the project contributes to the goals of their organization, while the project manager thinks of success in terms of scheduling, budged and scope commitments. Like traditional project management approaches, CCPM tends to focus on project management success rather than project success from the customer’s point of view.

In addition to this, CCPM is introduced as a revolutionary concept to replace current project management practices. However, the approach is hard to adapt within a team because the approach is not sufficiently integrated with the accepted body of knowledge and practices [8]. The method also requires strong commitment from stakeholders, project managers and the project team. This can help explain why the CCPM approach is not so widely used in today's global businesses.

Annotated Bibliography

Gray, C. F., & Larson, E. W. (2011). Project Management, The Managerial Process. McGraw-Hill/Irwin, NY[4]

The book is designed to provide readers with a holistic, integrated view of project management. The focus is on how projects contribute to the strategic goals of businesses and the process of selection appropriate projects that support the strategy of the business. The book is an interesting reading for everyone who wants to acquire knowledge about how and why the project management process works. The book contains an interesting appendix on CCPM. The concept of the method is explained and compared to traditional scheduling methods with examples. Followed by a case study section of and examples of successful CCPM project in today’s global environment.


Abreu, A., & Correia, F.(2011) An overview of Critical Chain applied to Project Management., 4th International Conference on Manufacturing Engineering, Quality and Production Systems, Meqaps – Proceedings, 261-267[1]

The focus point of the article is the characteristics of the Critical Chain approach and the use of the Theory of Constraints (TOC) to project management. The article contains an interesting discussion about various advantages and disadvantages of the CCPM approach compared to traditional project scheduling methods. The article walks the reader through the foundations of TOC, undesired issues related to more traditional project scheduling methods and how to use the CCPM approach to overcome these issues. The CCPM is a new and interesting approach used to reengineer a project schedule in order to match the reality of how people work, something every project manager should be aware of.


Leach, L.P.(2000) Critical Chain Project Management Improves Project Performance, Project Management Journal 30(2), 39-51[9]

The article discusses the fundamentals of Theory of Constraints (TOC) and the use of CCPM. The author states some interesting points about how CCPM approach provides a substantial step in the never-ending improvements of the Project Management Body of Knowledge. The article goes through how the CCPM approach can improve project plans and schedules by taking into account critical resources and by aggregating common cause variations into buffers and the use of buffers management techniques. In addition, it discusses how the use of CCPM can greatly improve the scope of performance. The article is written for individuals with a basic knowledge of project management background.

References

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Abreu, A., & Correia, F.(2011) An overview of Critical Chain applied to Project Management., 4th International Conference on Manufacturing Engineering, Quality and Production Systems, Meqaps – Proceedings, 261-267
  2. 2.0 2.1 Van Vliet, V.(2011) Eliyahu Goldratt., Retrieved on 11 September 2016 from http://www.toolshero.com/toolsheroes/eliyahu-goldratt/
  3. TOC Goldratt.(2011) Biography of Dr. Eliyahu M. Goldratt., Retrieved on 11 September 2016 from https://www.toc-goldratt.com/tocweekly/biography-of-dr-eliyahu-m-goldratt/
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 Gray, C. F., & Larson, E. W. (2011). Project Management, The Managerial Process. McGraw-Hill/Irwin, NY
  5. 5.0 5.1 5.2 5.3 5.4 Rand, G.K.(2000) Critical chain: the theory of constraints applied to project management, International Journal of Project Management 18(3), 173-177
  6. 6.0 6.1 Mind Tools Editorial Team (2016) The Theory of Constraints (TOC) - Strengthening Your "Weakest Lin"., Retrieved on 11 September 2016 from https://www.mindtools.com/pages/article/toc.htm
  7. 7.0 7.1 7.2 7.3 McKellen. C.(2004) Theory of Constraints, Metalworking Production. 148(6), 9-9
  8. 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 Raz, T., Barnes, R., & Dvir, D. (2001). ‘’A Critical Look at Critical Chain Project Management. Article in IEEE Engineering Management Review (2004)
  9. 9.0 9.1 9.2 9.3 9.4 Leach, L.P.(2000) Critical Chain Project Management Improves Project Performance, Project Management Journal 30(2), 39-51
  10. The Project Management Hut (2008) Advantages of The Critical Chain Project Management (CCPM), Retrieved on 16 September 2016 from http://www.pmhut.com/advantages-of-the-critical-chain-project-management-ccpm
  11. 11.0 11.1 Pinnacle Strategies. (2016). Critical Chain and Critical Path, Can they coexist? Retrieved on 16 September 2016 from http://3escp33iuwsj485tugc1mb91.wpengine.netdna-cdn.com/wp-content/uploads/bsk-pdf-manager/2016/02/CPM-and-CCPM-a-Compare-and-Contrast-Pinnacle-Strategies.pdf
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox