viernes, 3 de agosto de 2007

Planificación Detallada Atractiva e Inservible

Hace ya bastante tiempo que trabajo liderando proyectos de desarrollo de software, no desde una perspectiva técnica como en el pasado. Esa es la razón por la cual el contenido de este sitio girara en torno a temas como planificación, estimaciones, pero manteniendo mi interés en la importancia de las personas en nuestra actividad.

En esta ocasión la motivación de estas lineas se relaciona con situaciones que se repiten al querer planificar y realizar el seguimiento de proyectos medianamente complejos.
Considerando que estoy en el medio de mi preparación para el examen de certificación PMP y trabajando en una organización CMMI nivel 5 es difícil evitar algunas prácticas, como la planificación detallada y el uso de herramientas como los diagramas de Gantt.

En esencia, existe una idea generalizada que la manera correcta de planificar un proyecto es identificar paquetes de trabajo, identificar actividades, identificar las dependencias entre las actividades, estimar las actividades y armar una planificación detallada donde el camino crítico se verá nítido y radiante como el sol de una mañana despejada.

Completando estos pasos, periódicamente se puede revisar el avance en cada actividad y ver si existen retrasos o no, medir el impacto de retrasos en dependencias externas y conocer las fechas de fin. Es algo que todos esperan ver, mis gerentes, mis clientes, mis compañeros. No planificar así en mi empresa es como ir con un guardapolvo rosado el primer día de clases en una escuela nueva.

Es por eso que trabajo para que mis planes se vean bien: para evitar la condena social... bueno, y por otras razones. El punto es que con dedicación y empeño logró que la planificación de mis proyectos luzca así:

Actividad A. 3 días. Pepe
Actividad B. 1 día. Paco
Actividad C. 2 días. Paco

con una precendencia

A -> C
B ->

El plan es prolijo y ordenado, la vida es bella, mis compañeritos me van a aceptar...

Pero cuando me tengo que sentar a ver el avance, mi plan se desmorona. La realidad es que al primer día se ejecutan 3 actividades en paralelo, como una dependencia externa no se cumple se decide reasignar gente a una tarea B', se crea una nueva actividad para investigar formas de resolver los problemas que surgieron (actividad D), alguien decide partir su actividad en dos (actividad A1 y A2) y la tarea B ya no tiene sentido.

Esto me intranquiliza, mi plan está desordenado e inservible. En estos casos me siento y actualizo nuevamente las actividades, dependencias, asignaciones y estimaciones en mi sofisticada herramienta de gestión de proyectos. No es algo sencillo pero después de un poco de trabajo, mi diagrama de Gantt luce muy bien nuevamente. No puedo evitar que una sonrisa se me escape en ese momento. Me gustaría imprimirlo en colores y pegarlo en mi box. Pero lo triste es que lo mismo vuelve a suceder.

Con la investigación de la actividad D se descubrió una forma de hacer todo de manera más sencilla pero todas las actividades anteriores no sirven, además hay que sumar una persona adicional que necesita dos semanas de entrenamiento y Paco se enfermo un par de días por lo que hay que quitar un requerimiento del alcance predefinido.

Entonces actualizo la planificación otra vez... y una vez más. Pero cuando lo mismo se repite por cuarta vez, un destello de lucidez cruza mi cabeza como un rayo encantado:
"¿No estaré haciendo algo mal? ¿No será que esta planificación no sirve?"

Pienso que es momento de sacar de la biblioteca algunos libros y refrescar algunos conceptos: Scrum, Agile Project Management, burn-down charts, planificación en extreme programming, lean development.

¿De qué manera se puede cambiar la manera de gestionar proyectos en una organización algo "rígida" como la mía? Bueno, definitivamente no tengo la respuesta a esa pregunta, pero buscarla puede ser entretenido.