08 septiembre 2006

Seguimiento de proyectos con el Análisis del Valor Ganado (12): el concepto de Programación Ganada

En el sexto anuncio de la serie del Análisis del Valor Ganado (AVG), en el que se abordaban los diferentes indicadores para medir la eficiencia de un proyecto, descubrimos que el índice de eficiencia en programación EP -y la desviación en programación DP- presentaban un comportamiento aparentemente anómalo en los últimos estadios del proyecto. En efecto, si rescatamos el historial de desviaciones del ejemplo que se proporcionaba en aquel anuncio, observamos que, mientras la desviación en coste DC sigue una tendencia decreciente a lo largo del proyecto, la desviación en programación invierte esa tendencia a partir de de la semana 20, más o menos.



Parece como si el proyecto se hubiera recuperado en plazo y finalmente hubiera terminado en el plazo previsto, cuando en realidad ha finalizado dos meses más tarde –ver el ejemplo. Algo similar ocurre con las respectivas eficiencias. En realidad, este hecho no es más que una consecuencia de la definición del concepto de valor ganado VG, magnitud que, por construcción, tiene que coincidir con el coste planificado CP del proyecto en el mismo momento de su finalización. Aunque ello no quita para que perdamos el poder informativo de estas magnitudes relacionadas con el plazo. Como anunciamos en su momento, esto constituía una flaqueza del AVG. Afortunadamente no es un escollo que no se pueda solventar.

Hay que resaltar que esta flaqueza no quiere decir para nada que el valor ganado sea un mal concepto. Todo lo contrario. Es uno de los últimos conceptos más importantes que se han aportado a la disciplina de la dirección de proyectos. Sólo el hecho de permitir obtener desviaciones en coste realistas frente a las malas prácticas, aunque muy extendidas, de medirlas respecto al presupuesto inicial, ya es un gran avance en sí mismo. Lo único es que hemos encontrado que tiene sus limitaciones a la hora de tratar la programación. Unas limitaciones que se pueden superar extendiendo el método. Y aquí es donde entra el concepto de Programación Ganada. En realidad, es una idea análoga a la del valor ganado, aunque en vez de utilizar unidades monetarias para medir desviaciones y eficiencias de programación se utilizan unidades de tiempo. El concepto de programación ganada, como todos los que hemos visto del AVG, es extremadamente simple e intuitivo. La programación ganada, que denotaremos por PG, no es más que la fecha en la que el coste planificado acumulado CP del proyecto es igual al valor ganado acumulado VG en la fecha de estado FE. Si el proyecto sigue a rajatabla su curso planificado, estas fechas coincidirán. En caso contrario, no; como se muestra en la figura siguiente:


Es importante resaltar que la introducción de esta nueva magnitud no supone incrementar el número de magnitudes que se miden directamente, ya que se mide a partir de otras. Es una magnitud derivada. Esto es muy bueno porque lo realmente complicado en el AVG es obtener medidas directas. A partir de esta magnitud podemos obtener unas nuevas desviación y eficiencia en programación que sustituyan a las del AVG. En primer lugar definimos la desviación en programación DPt como DPt = PG-FE, mientras que la correspondiente eficiencia como ECt = PG / FE. Y ya está todo. Ahora tan sólo resta determinar cómo se calcula la programación ganada PG. Pero antes hagamos una pequeña reflexión acerca de la interpretación de la desviación en programación DPt, medida en unidades de tiempo –días, semanas, meses, etc. ¿Tiene algo que ver esta desviación con la que me daría un diagrama de Gantt? Si echamos un vistazo a la figura anterior, vemos que la desviación se calcula a partir de la diferencia entre valores acumulados del coste planificado y el valor ganado. Valores acumulados. En cambio, en un diagrama de Gantt, una desviación en plazo de, digamos, una semana se puede deber tanto a que una tarea posee una desviación de una semana como que cinco tareas en paralelo posean todas ellas una desviación de una semana. Aunque la desviación es de una semana en ambos casos, a nadie se le escapa que el segundo caso es más difícil de recuperar que el primero, debido ha que hay más trabajo sin hacer. Esto no es más que una manifestación de la diferencia que hay entre esfuerzo y duración. Pues la desviación en programación dada por la programación ganada refleja precisamente este último caso. Ofrece una idea del tiempo que llevaría recuperar todo el trabajo no realizado hasta la fecha, independientemente de los plazos. Hay que reconocer que el concepto no deja de ser potente. Imagínese que le comunican que lleva un día de retraso en el plazo del proyecto, pero que supone un esfuerzo de dos semanas recuperar ese plazo. Así pues no hay que confundir una desviación en plazo que la obtengo a partir de un diagrama de Gantt, y una desviación en programación –el término más que nada para distinguir- que obtengo a partir del AVG extendido.

Ahora volvamos al asunto de cómo calcular la programación ganada PG. Considerando el ejemplo de la figura anterior, la programación ganada debería tener un valor comprendido entre los meses 5 y 6. Denotemos por x a esta fracción, como se muestra en la siguiente figura:


Las claves para el cálculo los encontramos en el área delimitada por el círculo verde. Y ahora es cuando viene la aproximación –a estas alturas ya deberíamos estar acostumbrados a ello :-). Vamos a considerar que la porción de curva CP comprendida entre los valores CP(5) y CP(6) es recta. Hay dos conclusiones que podemos extraer de esto:
  1. Esta asunción se aproximará más a la realidad cuanto más pequeña sea la escala de la dimensión temporal –el eje horizontal; esto es, semanas mejor que meses, mese mejor que trimestres, etc. Pero que no nos ciegue esto; no hay que olvidar que siempre hay un límite en el que el ruido del entorno invalidará cualquier efecto producido por ser más preciso.
  2. Hay que desconfiar de aquellos que emiten juicios categóricos del tipo “la lógica matemática demuestra que…”. La matemática dirá lo que tenga que decir en su contexto. En el que nos manejamos nosotros sería más conveniente un juicio del tipo “los siguientes resultados ofrecen una desviación bastante aproximada por la razón que…”. La experiencia me dice que cuanto más categórico es un argumento, menor es la idea que tiene sobre el asunto el que argumenta.
Pero continuemos con el cálculo. Si ampliamos la zona rodeada por el círculo verde, tenemos la figura siguiente:


Dado que el triángulo pequeño y el grande están a escala entre ellos, por relaciones de semejanza obtenemos el valor de la fracción x. A saber x = [VG(7) – CP(5)] / [CP(6) – CP(5)]. En general, para una programación ganada PG que se encuentre entre el instante n y el n+1, tendremos que x = [VG(FE) – CP(n)] / [CP(n+1) – CP(n)], con lo que la programación ganada será PG = n + [VG(FE) – CP(n)] / [CP(n+1) – CP(n)]. Y ahora vamos a ver cómo se utiliza esta traca, que así parece más de lo que es. En el ejemplo de la tabla siguiente tenemos que PG = 6 + (4257-4127) / (5122-4127) = 6,1 meses. Así de simple.

Para completar la exposición retomaremos el ejemplo del libro de Excel que se ofrecía en el sexto anuncio. Pero antes los créditos. El concepto de Valor Ganado se debe a Walt Lipke, quien lo presentó en una publicación en marzo de 2003 cuando estaba al cargo de la división de software del Centro de Logística Aérea de Oklahoma. La técnica de análisis ha sido posteriormente desarrollada conjuntamente con Kym Henderson, director de educación del capítulo de Sydney del PMI. Walt Lipke ha desarrollado asimismo un libro de Excel en el que ha automatizado los cálculos de las diferentes magnitudes asociadas a la Programación Ganada. Podéis descargarla desde este sitio en su versión original en inglés o desde aquí en español. Quiero agradecer a Walt Lipke y Kym Henderson el permiso para traducir al español la hoja de cálculo de la Programación Ganada y distribuirla entre la comunidad de habla española.

Vamos ya con el ejemplo. En el siguiente libro de trabajo de Excel se puede encontrar la plantilla del AVG actualizada con la extensión de la programación ganada. A continuación muestro un par de figuras extraídas del ejemplo para comentar las comparaciones entre las antiguas desviación y eficiencia en programación y las nuevas. En la primera figura se muestra el historial de las desviaciones. La figura es la misma que abría este anuncio salvo que ahora se incluye la nueva desviación en programación DPt en color azul –¡ojo ahora medida en meses según la escala vertical de la derecha!


Podemos comprobar que este indicador que proporciona buena información hasta el final del proyecto, a diferencia del anterior –en color amarillo. Al final del proyecto, la desviación es de dos mese, justo el retraso que ha tenido el proyecto. También se puede ver como hacia el final del proyecto se hace un esfuerzo para recuperar plazo y que el proyecto no termine con más retraso aún. Como ya dijimos en su momento, esto nos da información de la buena. La siguiente y última figura muestra el historial de eficiencias:


Nuevamente observar las diferencias entre la curva amarilla, la antigua, y la azul, la nueva. La azul es fiable hasta el final.

11 comentarios:

  1. Hola Daniel, me alegra que la información haya podido ser de utilidad. Respecto al tema de concienciar a las personas para obtener los datos para alimentar el AVG... pues eso... desgraciadamente el verdadero, y nada trivial, problema reside ahí, y solamente ahí. Ya es más una cuestión de venta y persuasión que de convencimiento.

    Sobre información de cursos al respecto, en la siguiente dirección, en el apartado "c", puedes buscar proveedores de formación por países.

    ResponderEliminar
  2. Es verdad, te habías adelantado a mi necesidad, perfectamente explicado. Con esto se lo puedo explicar a mis compañeros, para como bien sabes concienciar a la gente que es necesario "alimentar" con datos para poder hacer nuestro trabajo.
    Un saludo

    Claudio Amnuel

    ResponderEliminar
  3. Estimado Diego,

    Antes de nada, felicitarte y agradecerte el estupendo trabajo que has realizado en el artículo "Seguimiento de proyectos con el Análisis del Valor Ganado".

    Lo estoy leyendo por segunda vez y ahora estoy chequeando todos los conceptos y valores con las hojas excels que también has publicado.

    Aprovecho para preguntarte si en programacion_ganada.xls, en la pestaña de Datos, donde indicas "Desviación en plazo (DPt)" debería ser "Desviación en programación", como explicas en la sección X de tu artículo.

    Un cordial saludo

    Rubén

    ResponderEliminar
  4. Estimado Diego,

    Antes de nada, felicitarte y agradecerte el estupendo trabajo que has realizado en el artículo "Seguimiento de proyectos con el Análisis del Valor Ganado".

    Lo estoy leyendo por segunda vez y ahora estoy chequeando todos los conceptos y valores con las hojas excels que también has publicado.

    Aprovecho para preguntarte si en programacion_ganada.xls, en la pestaña de Datos, donde indicas "Desviación en plazo (DPt)" debería ser "Desviación en programación", como explicas en la sección X de tu artículo.

    Un cordial saludo

    Rubén

    ResponderEliminar
  5. Efectivamente Rubén. En el Excel debe poner "Desviación en programación" y no "Desviación en plazo". Lo corregiré. Estoy entre los que intenta evitar la confusión existente en la traducción de "Schedule" al castellano dentro del contexto de la Dirección de Proyectos, o entre programación y plazo (ver esto), aunque los antiguos vicios y el subconsciente me siguen jugando malas pasadas.

    ResponderEliminar
  6. Estimado Diego.

    Toda la informacion me parece muy interesante, es un aporte muy importante para determinar el verdadero costo de nuestros proyectos. Solo me aguarda una duda, yo trabajo con ms project, quisiera saber como puedo registrar el valor ganado para luego construir la curva.

    Gracias por tus respuestas.

    Veronika

    ResponderEliminar
  7. Gracias Diego por tu pronta respuesta, lamentablemente los links que me recomiendas no me indica los pasos para construir el valor ganado con el ms project 2007.

    Te agradeceria me indicaras como es que tu lo haces, creo que me ayudaria tener un buen punto de partida.

    Gracias.

    Veronika

    ResponderEliminar
  8. Ok. En breve escribiré una entrada en el blog al respecto.

    ResponderEliminar
  9. Estimado Diego,

    Mi mas sincera enhorabuena por el Blog.

    Estoy empezando a moverme en este terreno y gracias a el estoy avanzando rápidamente en la comprensión de muchos conceptos, hasta hace 2 días completamente desconocidos para mi.

    Aún me queda mucho, lo sé, pero tengo algo de tiempo, paciencia y muchas ganas de avanzar, así q apenas me supone esfuerzo y con tu blog hasta me dan ataques de risa de vez en cuando ;-) (principalmente, pq parece reflejar de antemano algunos de los guantazos q me va a tocar darme en este terreno)

    He estado trabajando con la hoja excel de la programación ganada y he simplificado los cálculos para obtener la PG, de forma que ahora me es más util para trabajar con los pequeños proyectos con los que trasteo para aprender, pero no se como colgarla por si quieres echarle un vistazo y darme tu opinion crítica.

    En cualquier caso MUCHAS GRACIAS por compartir tus conocimientos!

    Un saludo. Celia,

    ResponderEliminar
  10. Excelente documento, realmente un aporte.
    Trabajo en proyectos de construcción de centrales eléctricas y además de conocer los conceptos, me siento identificado plenamente respecto a la recopilación de datos, lo difícil que es hacerlo y "vender" los datos.
    La expresión mas curiosa ha sido: "no es necesario tan complejo, déjalo cuando hagamos una termonuclear".
    Felicitaciones

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.