Saltar al contenido

admin

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.

¿Scrum vs ITIL o Scrum + ITIL?

  • admin 

fuente: http://www.re-inventa.com/scrum-vs-itil/

¿Está ITIL reñido con Scrum o, por el contrario, son compatibles? Principalmente es una duda que le surge a personas del ámbito de desarrollo de software que están dando sus primeros pasos en el agilismo y que han oído hablar sobre ITIL y sus bondades, aunque todavía no lo conocen con suficiente profundidad.

Pues bien, la respuesta es simple pero compleja al mismo tiempo. ITIL y Scrum, aunque pueden guardar cierta relación, son cosas muy distintas. Están completamente enfrentados a nivel de objetivos y de filosofía subyacente pero, a pesar de ello, pueden compatibilizarse sin que necesariamente haya menoscabo de ninguno de los dos enfoques. En mi opinión, el objetivo tiene que ser obtener lo mejor de ambos mundos y, por experiencia personal, puedo asegurar que se trata de algo completamente factible.

En esta línea, ya escribí una entrada sobre lo que yo denomino Agile ITIL, en la que explico mi experiencia aplicando Scrumban + ITIL en el área de sistemas de BikoEn este post, en cambio, mi objetivo es aclarar en mayor medida cuáles son las diferencias y algunos de los nexos de unión entre Scrum e ITIL.

.

¿Qué es Scrum?

Scrum es una metodología ágil de gestión de proyectos (project management) orientada a ámbitos poco ordenados:

  • Metodología:  Scrum admite cierta flexibilidad en su implementación pero exige que se apliquen todos sus roles, procesos y artefactos. Podemos llevar a cabo un daily scrum que dure 5 o 15 minutos, llevar el product backlog en un Excel, en Jira o en ScrumWise, tener 3 o 20 columnas de estado en nuestro panel… pero si no llevamos a cabo el scrum diario, no tenemos product backlog, no tenemos panel, no existe la figura de product owner o no hacemos retrospectivas… lo que hacemos podría considerarse ‘agile’, dependiendo del caso, pero no sería Scrum. Sólo con que prescindamos de uno de estos elementos, no estaremos haciendo propiamente Scrum (en la forma en que Jeff Sutherland y Ken Schwaber lo definieron, otra cosa es el concepto de ‘campo de scrum’ de Nonaka y Takeuchi en The New Product Development Game).
  • Ágil: es acorde a los principios del manifiesto ágil, por lo que el énfasis de la gestión se traslada a las personas y las interacciones, al producto funcionando, a la colaboración con el cliente y a la respuesta ante el cambio. En consecuencia, como toda metodología ágil, Scrum es especialmente adecuado cuando lo que prima es el conocimiento tácito.
  • Gestión de proyectos: los proyectos son un esfuerzo temporal para crear un producto, un servicio o un resultado único. Tienen un principio y un final bien definidos.
  • Ámbitos poco ordenados: son aquellos entornos cambiantes, en los que además hay muchas variables que influyen en los resultados y, por ello, se hace difícil la predicción apriorista. El desarrollo de software es un ámbito poco ordenado porque, entre otras cosas, como bien sabemos, por detallado que sea el análisis de requisitos inicial, siempre surgen nuevos requerimientos a medida que avanzamos en el proyecto.

¿Qué es ITIL?

ITIL es un marco predictivo de buenas prácticas en gestión de servicios de TI, que suele aplicarse en ámbitos ordenados:

  • Marco (framework): ITIL reúne herramientas y principios de gestión generalmente aceptados como buenas prácticas. Al tratarse de un marco, no es rígido en su implantación, en el sentido de que permite implementar únicamente los procesos o grupos de procesos que nos interesen: gestión de la configuración, gestión de cambios, gestión de incidencias, etc.
  • Predictivo: a diferencia de las metodologías ágiles, ITIL pone énfasis en los procesos y las herramientas, en la documentación, en las relaciones contractuales y los SLAs y en el seguimiento de procedimientos y planes predefinidos. En consecuencia, los mejores resultados con ITIL se obtendrán cuando el conocimiento explícito tenga preponderancia sobre el tácito para la ejecución del trabajo o de una tarea concreta.
  • Buenas prácticas: las buenas prácticas son mejores prácticas cuyo uso se ha extendido y sobre las que existe un consenso generalizado de que su aplicación contribuye al éxito del servicio. En consecuencia, el cuerpo de buenas prácticas identificadas por ITIL evoluciona con el paso del tiempo, mientras que los roles, procesos y artefactos de Scrum son los que son.
  • Gestión de servicios: los servicios son operaciones, una función de la organización que se efectúa permanentemente. Por lo tanto, en comparación con los proyectos tienen un marco temporal muy distinto. En consecuencia, los principios de gestión generalmente aceptados para ambos también son diferentes.
  • Ámbitos ordenados: son aquellos en que las variables que influyen en el resultado de una acción están bien identificadas, por ello los modelos que dan mejores resultados son los predictivos.

Analogías entre Scrum e ITIL

Aunque llegados a este punto resulta sencillo identificar las diferencias entre Scrum e ITIL, anexo la siguiente tabla que resulta más gráfica:

Scrum e ITIL: Tabla comparativa

Además de los puntos ya mencionados en las definiciones, en la tabla he añadido elproceso de mejora continua. Aunque el proceso de mejora de ambas metodologías se basa en la filosofía del ciclo de Deming (PDCA)Scrum, con sus retrospectivas, hace mayor énfasis en el expertise y la percepción de los miembros del equipo (orientación a personas); mientras que ITIL se fundamenta en métricas objetivas relacionadas con el nivel de desempeño de los procesos (orientación a procesos). Obviamente, cada una tiene sus pros y sus contras.

Otro aspecto diferencial es la amplitud de miras. Mientras que el ámbito de Scrum es genuinamente el proyecto, obviando los aspectos a nivel organizacional y confiando en la auto-organización del equipo, ITIL tiene una perspectiva más holística: destaca la relevancia de alinear los proyectos y servicios con las necesidades y los objetivos de negocio, el desarrollo de los profesionales del equipo para que puedan responder a las necesidades organizativas, la gestión del conocimiento, etc. Para tal propósito, ITIL explicita diversos procesos y funciones específicos.

Como puede verse, las diferencias son múltiples y reseñables. Sin embargo, a pesar de ello, existen más nexos de unión entre ambos enfoques de lo que pueda parecer a primera vista. Saber combinar e hibridar las prácticas y herramientas de ambos enfoques de la manera adecuada, es la clave para obtener lo mejor de los dos mundos y un rendimiento extraordinario.

Nexos de unión (I): ITIL + Scrum

Vamos a poner como ejemplo que nuestro núcleo duro es la gestión de operaciones. Nuestro equipo se dedica a gestionar varios servicios de tecnologías de la información para una organización determinada: administrar y mantener una intranet, un servicio de correo electrónico, un ERP, etc. En este caso, ITIL debería tener un gran peso en la gestión de nuestro día a día.

Sin embargo, llega el momento de implantar un nuevo servicio. Esto se trata de un proyecto en toda regla.

ITIL nos indica aspectos que debemos tener en cuenta en el diseño de dicho servicio: gestión del nivel de servicio, gestión de la disponibilidad del servicio, gestión de la capacidad del servicio, gestión de la seguridad del servicio…

Sin embargo, ITIL no entra en el detalle de cómo debe gestionarse el proyecto de implementación en sí mismo. No habla sobre si el equipo debe ser multidisciplinar o no, ni de los roles que debe haber dentro del equipo, ni cómo deben gestionarse el alcance, el cronograma, la calidad, la comunicación con los interesados o el riesgo.

En este punto es donde fácilmente pueden entrar en juego diversas metodologías y marcos de gestión de proyectos, es más, es más que recomendable incorporarlos. Entre las distintas metodologías, obviamente podemos optar por ScrumAdemás, por tratarse de una metodología iterativa, personalmente, la recomiendo con especial profusión. En este punto, Scrum e ITIL tienen una elevada afinidad porque comparten el enfoque PDCA, como ya hemos comentado.

Tomando en cuenta esta perspectiva, parece muy adecuado realizar pruebas piloto (podríamos considerarlas el símil de los prototipos) a usuarios clave durante la fase de transición del servicio y, obviamente, implantar el servicio siguiendo una filosofía incremental; poniendo en vivo primero aquellos aspectos más prioritarios del servicio y desarrollando posteriormente aquellos más accesorios, a medida que se obtiene feedback y fruto de ello se introducen otros cambios. Es más, esta forma de implementar un servicio, que se percibe tan afín a Scrum, sigue al 100% el ciclo de vida de los servicios planteado por ITIL.

Por otra parte, mencionar que dos mecanismos de coordinación de Scrum que son muy valiosos y que pueden incorporarse fácilmente en una organización que ya esté realizando  ITIL son el scrum diario o reunión de seguimiento y las reuniones de retrospectiva.

Nexos de unión (II): Scrum + ITIL

Ahora vamos al caso contrario. Una organización orientada a proyectos, como suele ser la clásica consultora de comunicación online especializada en portales corporativos.

En este entorno, lo que debe predominar es Scrum. No hay dos proyectos iguales y, quienes conozcan bien este ámbito, sabrán que los requerimientos cambian frecuentemente a lo largo del proyecto y que la pericia del equipo de desarrolladores, consultores, etc. juega un papel fundamental en el éxito del proyecto (muy por encima de trazar un buen plan al inicio del proyecto).

Este es un buen ejemplo de cómo podemos enriquecer Scrum con prácticas procedentes de otros enfoques y marcos, ya sean o no ágiles. Por ejemplo: podemos crear un híbrido con Kanban (Scrumban) para gestionar todas esas pequeñas peticiones que nos llegan durante el transcurso de una iteración, podemos incorporar prácticas comoTDD (que viene de XP) para enriquecer nuestro sistema de gestión de la calidad… ytambién podemos incorporar procesos y funciones de ITIL. Por ejemplo:

  • Los procesos de diseño del servicio, aunque sea ejecutándolos a alto nivel, sin entrar en demasiado detalle, pueden ser muy prácticos de cara a valorar aspectos que lamentable y frecuentemente suelen quedar descuidados en equipos excesivamente orientados a desarrollo, como es el dimensionamiento de las infraestructuras, la disponibilidad de personal capaz de resolver incidencias del producto en producción en ciertos periodos estacionales, la formación a usuarios, etc.
  • Que el cambio sea bienvenido en las metodologías ágiles, no significa que puedan llevarse a cabo de forma alegre. Aparte de la consecuente gestión del alcance, si nuestro producto ya está en producción, implantando los procesos y las políticas de transición del servicio de ITIL rellenaremos un vacío de Scrum y nos curaremos en salud de más de un posible susto.
  • No conozco a ninguna compañía orientada a proyectos que no realice operaciones, aunque a veces pasen desapercibidas. En ocasiones, en una empresa como la ejemplificada, los últimos flecos de un proyecto o la resolución de bugs en el periodo de garantía se gestionan mediante un equipo de postventa. Igualmente, tengamos un equipo concreto o no para estos temas, implementar lafunción de service desk e incorporar los procesos de gestión de incidencias y de gestión de problemas puede reportar mejoras de productividad sustanciales, además de mayor visibilidad en este proceso. Obviamente en este punto podemos aplicar también Kanban para beneficiarnos de sus bondades.
  • Otras funciones de ITIL como la gestión técnica o la gestión de aplicacionestambién son fundamentales para el desempeño de un equipo en el largo plazo. Scrum no hace referencia a estos aspectos, sin embargo, en ITIL encontramos un marco de referencia.

Aunque las posibilidades son múltiples y sé que se me quedan muchas en el tintero, por no hablar de profundizar en mayor medida y con mayor detalle en las ya expuestas, espero haber cumplido con mi objetivo y haber resuelto las principales dudas que tenían en mente aquellos que alguna vez me han preguntado por el tema.

Obviamente estoy abierto a responder a todas las dudas que me dejéis en la forma de comentarios, así como a entablar un constructivo debate con aquellos que no compartan mi visión sobre la compatibilidad entre Scrum e ITIL. 😉

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.