CCPM

How Do Scrum and CCPM Compare?

  • admin 

Fuente: http://www.reformingprojectmanagement.com/2003/11/14/273/

How Do Scrum and CCPM Compare?

A reader asked the group how Scrum compares with Critical Chain Project Management (CCPM). 

Scrum is one of several Agile/Lean Software Development techniques. The opposite of Scrum/Agile/Lean is the waterfall development lifecycle where analysis, design, development, system testing, and user acceptance testing are done in sequential phases. Scrum/Agile/Lean works in short iterations – between 1 and 12 weeks each.

THE CORE CONFLICT FOR SOFTWARE DEVELOPMENT PROJECTS (AND MOST OTHERS I IMAGINE) LOOKS LIKE THIS.

[This is a fine example of Goldratt’s Evaporating Cloud]

    D - Allow change throughout project
  B - Build functionality required by customer
A - Have a successful software project
  C - Deliver on time and to budget
    D'- Agree scope up-front and don't allow change throughout project

[Read the above chart this way: I want (A) a successful software project. To be successful I need (B) to build the functionality required by my customer. And I need (C) to deliver on time and on budget. For me to build the functionality required by my customer I need (D) to allow for change throughout the project. However, for me to deliver on time and budget I need (D’) to agree to the scope up-front and not allow changes throughout the project. (D) and (D’) are in conflict and cannot coexist.]

In a traditional/waterfall environment «change control» is the mechanism used to do both D and D’ poorly.

The agile approaches attack three assumptions:

Assumption CE1
We can prevent change if we spend enough time to ensure we get everything agreed and signed off up front. Agile/lean says that CE1 is just plain wrong (in all but the simplest environments). Therefore, E doesn’t even give you C. Even if we get the requirements right up front, they will change, so if we don’t change them as we go then while C (finish on time and budget) is satisfied, we won’t satisfy B (customer gets what they need) so that A (the project) isn’t successful.
Assumption CE2
It is many times more expensive (i.e. Boehm’s cost of change curve) to change the further we get into the project. Agile/lean says that CE2 is wrong too. For instance XP (eXtreme Programming), a cousin of Scrum, suggests that the cost of change curve quickly becomes flat when using test-driven development and refactoring in a iterative/incremental approach.
Assumption CE3
The project only delivers value when it is finished. Agile/Lean says that you don’t have to deliver everything at once to get value. Instead you can get value quite quickly by delivering small high-priority increments of the product. At the very least you gain value by discovering what’s not working much, earlier.

[Clarke examines three cause and effect assumptions behind the evaporating cloud as it was described. He sets out to invalidate each one.]

THE KEY POINTS OF SCRUM ARE:
A product owner manages a product backlog.
This is a list of high-level requirements/features – e.g. user can register, user can login, user can add items to a shopping cart, user can search for books, etc – that has been prioritized by the product owner. It will also include «technical things» – e.g. install server, upgrade source management system – added to it if requested by the developers and agreed by the owner.
Every 30 days a new «sprint» starts.
Each sprint is a 30-day iteration where the development team picks a set of features from the product backlog that they estimate they can «deliver» within the next 30 calendar days. They then work on that sprint for the next 30 days.
During this time no changes can be made to the sprint unless suggested by the developers.
«Delivered» means that the feature could potentially, although not necessarily, be shipped or implemented.
It’s fully coded and tested, the help is prepared, it’s not going to break when the users get hold of it.
Each scrum team is self-managing with guidance from the «Scrum master».
Initially the team will struggle with self-management but, apparently, they learn quickly. Each day a 15 minute meeting is held where each person answers 3 questions – what did I do yesterday?, what will I do today? And what obstacles are holding me up? It is the Scrum master’s job to clear the obstacles.
The theory behind scrum says that complex processes, such as software development, change too much and are too difficult to manage.
They need to be managed empirically, with constant inspection and adaptation.

[Those of you who use the Last Planner System™ will recognize similarities with Scrum. The backlog of tasks grows, as does a weekly work plan, as the project goes along. Project performers take tasks from the backlog making promises to complete them. The Scrum approach is done or not done. No credit for effort. And very much like lean, people understand their projects as complex and evolving.]

HOW DOES SCRUM DIFFER FROM CRITICAL CHAIN?
  • CC aims to get the project finished as quickly and reliably as possible. Scrum aims to get working functionality delivered as quickly as possible.
  • CC buffers with time. Scrum buffers with functionality.
  • CC says «Don’t put the safety in the task; put it in the project». Scrum says «Don’t try and figure it all out up front because you can’t. Things will change too much as you go. Instead, build working software quickly, inspect and adapt».

Despite these differences I believe that CC and Scrum are not only complimentary but synergy should be gained by using both together. That said, I don’t know of anyone doing this. Scrum is mostly used in IT along with changed engineering practices, but it has been used in non-IT projects.

Gestión de Proyectos por Cadena Crítica (CCPM)

  • admin 

Fuente: http://en.wikipedia.org/wiki/Critical_chain_project_management

Critical chain project management (CCPM) is a method of planning and managing projects that puts the main emphasis on the resources required to execute project tasks. It was developed by Eliyahu M. Goldratt.

This is in contrast to the more traditional critical path and PERT methods, which emphasize task order and rigid scheduling. A Critical Chain project network will tend to keep the resources levelly loaded, but will require them to be flexible in their start times and to quickly switch between tasks and task chains to keep the whole project on schedule.

Origins

Critical chain project management is based on methods and algorithms derived from Theory of Constraints. The idea of CCPM was introduced in 1997 in Eliyahu M. Goldratt’s book, Critical Chain. Application of CCPM has been credited with achieving projects 10% to 50% faster and/or cheaper than the traditional methods (i.e. CPM, PERT, Gantt, etc.) developed from 1910 to 1950s.

From numerous studies by Standish Group and others as of 1998 for traditional project management methods, only 44% of projects typically finish on time, projects usually complete at 222% of the duration originally planned, 189% of the original budgeted cost, 70% of projects fall short of their planned scope (technical content delivered), and 30% are cancelled before completion.[citation needed]

These traditional statistics are mostly avoided through CCPM. Typically, CCPM case studies report 95% on-time and on-budget completion when CCPM is applied correctly. Mabin and Balderstone,[1] in their meta-analysis of seventy-eight published case studies, found that implementing Critical Chain resulted in mean reduction in lead-times of 69%, mean reduction of cycle-times of 66%, mean improvement in due date performance of 60%, mean reduction in inventory levels of 50% and mean increases in revenue / throughput of 68%.

Details

With traditional project management methods, 30% of the lost time and resources are typically consumed by wasteful techniques such as bad multi-tasking, student syndrome, In-box delays, and lack of prioritization.

In project management, the critical chain is the sequence of both precedence– and resource-dependent terminal elements that prevents a project from being completed in a shorter time, given finite resources. If resources are always available in unlimited quantities, then a project’s critical chain is identical to its critical path.

Critical chain is used as an alternative to critical path analysis. The main features that distinguish the critical chain from the critical path are:

  1. The use of (often implicit) resource dependencies. Implicit means that they are not included in the project network but have to be identified by looking at the resource requirements.
  2. Lack of search for an optimum solution. This means that a «good enough» solution is enough because:
    1. As far as is known, there is no analytical method of finding an absolute optimum (i.e. having the overall shortest critical chain).
    2. The inherent uncertainty in estimates is much greater than the difference between the optimum and near-optimum («good enough» solutions).
  3. The identification and insertion of buffers:
    • project buffer
    • feeding buffers
    • resource buffers. (Most of the time it is observed that companies are reluctant to give more resources)
  4. Monitoring project progress and health by monitoring the consumption rate of the buffers rather than individual task performance to schedule.

CCPM planning aggregates the large amounts of safety time added to tasks within a project into the buffers in order to protect due-date performance, and to avoid wasting this safety time throughbad multitaskingstudent syndromeParkinson’s Law and poorly synchronized integration.

Critical chain project management uses buffer management instead of earned value management to assess the performance of a project. Some project managers feel that the earned value management technique is misleading, because it does not distinguish progress on the project constraint (i.e. on the critical chain) from progress on non-constraints (i.e. on other paths). Event chain methodology can be used to determine a size of project, feeding, and resource buffers.

Planning

A project plan is created in much the same fashion as with critical path. The plan is worked backward from a completion date with each task starting as late as possible.

A duration is assigned to each task. Some software implementations add a second duration: one a «best guess,» or 50% probability duration, and a second «safe» duration, which should have higher probability of completion (perhaps 90% or 95%, depending on the amount of risk that the organization can accept). Other software implementations go through the duration estimate of every task and remove a fixed percentage to be aggregated into the buffers.

Resources are assigned to each task, and the plan is resource leveled, using the aggressive durations. The longest sequence of resource-leveled tasks that lead from beginning to end of the project is then identified as the critical chain. The justification for using the 50% estimates is that half of the tasks will finish early and half will finish late, so that the variance over the course of the project should be zero.

Recognizing that tasks are more likely to take more rather than less time due to Parkinson’s lawStudent syndrome, or other reasons, «buffers» are used to monitor project schedule and financial performance. The «extra» duration of each task on the critical chain—the difference between the «safe» durations and the 50% durations—is gathered together in a buffer at the end of the project. In the same way, buffers are gathered at the end of each sequence of tasks that feed into the critical chain. It is the date at the end of the project buffer that is communicated to external stakeholders as the delivery date.

Finally, a baseline is established, which enables financial monitoring of the project.

An alternate duration-estimation methodology uses probability-based quantification of duration using Monte Carlo simulation. In 1999, a researcher[who?] applied simulation to assess the impact of risks associated with each component of project work breakdown structure on project duration, cost and performance. Using Monte Carlo simulation, the project manager can apply different probabilities for various risk factors that affect a project component. The probability of occurrence can vary from 0% to 100% chance of occurrence. The impact of risk is entered into the simulation model along with the probability of occurrence. The Monte Carlo simulation runs over 10,000 iterations and provides a density graph illustrating the overall probability of risk impact on project outcome.

Execution

When the plan is complete and the project ready to kick off, the project network is fixed and the buffers size is «locked» (i.e. their planned duration may not be altered during the project), because they are used to monitor project schedule and financial performance.

With no slack in the duration of individual tasks, the resources are encouraged to focus on the task at hand to complete it and hand it off to the next person or group. The objective here is to eliminate bad multitasking. This is done by providing priority information to all resources. An analogy is drawn in the literature with a relay race. Each element on the project is encouraged to move as quickly as they can: when they are running their «leg» of the project, they should be focused on completing the assigned task as quickly as possible, with minimization of distractions and multitasking. In some case studies, actual batons are reportedly hung by the desks of people when they are working on critical chain tasks so that others know not to interrupt. The goal, here, is to overcome the tendency to delay work or to do extra work when there seems to be time. The CCPM literature contrasts this with «traditional» project management that monitors task start and completion dates. CCPM encourages people to move as quickly as possible, regardless of dates.

Because task durations have been planned at the 50% probability duration, there is pressure on the resources to complete critical chain tasks as quickly as possible, overcoming student’s syndrome and Parkinson’s Law.

Monitoring

Monitoring is, in some ways, the greatest advantage of the Critical Chain method. Because individual tasks will vary in duration from the 50% estimate, there is no point in trying to force every task to complete «on time;» estimates can never be perfect. Instead, we monitor the buffers that were created during the planning stage. A fever chart or similar graph can be easily created and posted to show the consumption of buffer as a function of project completion. If the rate of buffer consumption is low, the project is on target. If the rate of consumption is such that there is likely to be little or no buffer at the end of the project, then corrective actions or recovery plans must be developed to recover the loss. When the buffer consumption rate exceeds some critical value (roughly: the rate where all of the buffer may be expected to be consumed before the end of the project, resulting in late completion), then those alternative plans need to be implemented.