31 de enero de 2013

¿Agile es no planificar?



¿Cuándo fue la última vez que le tocó gestionar un proyecto predictivo? Ya sabe, uno de esos en que se debe invertir mucho tiempo y esfuerzo en la fase de planificación, la mayor parte del trabajo empieza a quedar clara desde el principio, el cliente firma los requisitos, y su misión fundamental como Project Manager es minimizar las desviaciones de tiempo, coste, alcance y calidad.

No es que no vaya a haber cambios durante la ejecución, también habrá muchos problemas, pero los interesados esperan de usted que coordine todos los cambios de forma integrada, que les haga seguir un proceso de solicitud, evaluación, aprobación, etc. Todo el mundo es consciente de que los cambios tienen un alto coste, pocos se toman la molestia de defender la necesidad de alterar algo: no quieren ser los culpables de que el proyecto sufra retraso o sobrecoste.

Quizá en ciertos sectores (construcción, ingeniería, etc.) este tipo de proyectos siguen siendo la norma. Desde luego no es el caso de los proyectos de desarrollo de software, o en los proyectos de consultoría, donde al principio suele estar poco claro el producto del proyecto. ¿Podríamos generalizar a todo proyecto de los “trabajadores del conocimiento”, donde los entregables y el trabajo son de tipo “intelectual”?
 
Si nuestro proyecto fuera un viaje, usaríamos un enfoque de gestión predictivo cuando conocemos bien el destino, y la ruta a seguir ha sido muy transitada. Aquí tiene sentido usar mapas detallados para planificar distancias, velocidades, descansos, hoteles, restaurantes, destinos intermedios, etc. 



Durante el viaje, podemos usar navegadores GPS, medir el progreso real y compararlo con el planificado, tomar acciones correctoras para llegar a tiempo sin pasarnos del presupuesto. Probablemente ocurran problemas importantes que impliquen sobrecoste, o incluso la cancelación, pero esto no dejan de ser situaciones excepcionales.

¿Y si nuestro destino estuviera en una isla desierta? No hay mapas, ni tablas con distancias y velocidades medias. No hay señal GPS. Solo tenemos como guía algo parecido al mapa de la Isla del Tesoro. ¿Cómo se gestiona un proyecto así? El equipo discute los objetivos, acuerda una estrategia general y comienzan el viaje en la dirección que creen que es la más adecuada. Cuando se topan con algún acantilado, lago o montaña que no estaba en el mapa, en lugar de seguir ciegamente un plan, reconocen que el mapa era incorrecto y es necesario replanificar. Algo parecido ocurre en los proyectos del “knolwedge worker. La naturaleza única y sin precedentes del trabajo implica que encontraremos muchos problemas y tendremos una alta tasa de cambios.

Los proyecto predictivos se gestionan de forma diametralmente opuesta, suponen un cambio de paradigma. 

Esta imagen, que se popularizó en la metodología DSDM, una de las primeras metodologías ágiles, resume muy bien el cambio de enfoque:



Es decir, en un proyecto predictivo el alcance es una restricción (los requisitos son predeterminados) y hay que estimar cuánto tiempo y qué presupuesto supone el proyecto, siendo muy importante que se haga lo que se ha planificado (y solo eso) y cualquier cambio o corrección persigue hacer cumplir la predicción inicial sobre los objetivos de tiempo y coste.

Por el contrario, en un proyecto adaptativo, o ágil, en ventanas prefijadas de esfuerzo y tiempo (timebox, en inglés) se estima qué requisitos se pueden entregar, buscando el máximo valor para el cliente en cada iteración. Quizá en un proyecto de un año pueda haber 12 ó 15 iteraciones, 4 ó 6 releases. 

En un proyecto adaptativo no es que no planifiquemos (¡al contrario!) lo que ocurre es que concentramos el esfuerzo de planificación en las iteraciones más cercanas. La siguiente figura representa este enfoque de planificación gradual, o progresiva, que empleamos a lo largo del ciclo de vida de un proyecto adaptativo. El número de rayas es proporcional al esfuerzo progresivo que supone planificar cada iteración.
 
 Al principio hay una fase de planificación inicial (en un proyecto de un año, ¿esta fase podría durar un mes?), en la que se justifica la necesidad del proyecto, se aprueba formalmente, se estima un orden de magnitud para los objetivos de tiempo y coste, se consideran los grandes riesgos, restricciones, supuestos, recursos clave, enfoque de gestión, órganos de decisión, etc. En esta planificación inicial ya elaboramos un plan de entregas y un plan de iteraciones, y comenzamos a planificar el detalle de cada iteración, pero solo hasta donde conocemos. Se genera una lista inicial con las funcionalidades del producto, ordenadas por prioridad. Si se propone un cronograma de 12 iteraciones, como en el ejemplo, es probable que comencemos a planificar bien las 4 primeras. Cuando comienze la primera iteración, acabaremos de planificarla completamente.

Si tomamos una foto del mismo proyecto en una fecha más avanzada, y medimos el esfuerzo de planificación realizado hasta la fecha, tendríamos otra imagen:
 

En este momento, ya se han planificado completamente las iteraciones pasadas y comenzamos a planificar las siguientes con mayor detalle, pero todavía no sabemos en profundidad qué tendremos que hacer en las últimas iteraciones. En un proyecto adaptativo, no dejamos de planificar hasta que termina el proyecto.

Ahora imaginemos que el proyecto ha se ha cerrado hace tiempo, satisfactoriamente para todas las partes. Viene un auditor y nos pide los documentos de planificación del proyecto. Tenemos un problema: sólo hemos dejado por escrito algunas actas con las decisiones que se tomaron en las retrospectivas. No hemos guardado los post-its que describían las funcionalidades, los riesgos, las tareas, los story points. El product backlog ahora está vacío. Él quiere pide evidencias que demuestren que hemos dedicado tiempo a planificar. 


Solo le podemos enseñar algunas fotos de la pared que el equipo usaba como tablero, también tenemos algunas fotos del story map”. 



De paso, le enseñamos una foto del equipo, celebrando el éxito del proyecto, donde le podemos señalar al cliente, al fondo a la izquierda, el más contento de todos. 

Nle vemos muy convencido.

¿Cómo podemos convencerle de que hemos dedicado mucho tiempo a planificar, incluso más que en un proyecto predictivo?

8 comentarios:

  1. En los casos en que debe quedar evidencia de la planificacion (nosotros tenemos que darle al equipo de ventas un roadmap tentativo del producto y la evolucion en el tiempo), lo mejor es documentar al final de cada sesion de planificacione el contenido de todas las iteraciones que se hayan definido.

    ResponderEliminar
  2. Interesante... Creo que es la primera vez que leo algo sobre Agile, que me puede convencer de que es un método serio, no una improvisación.
    En cuanto a tu pregunta, supongo que será un anuncio del "¿Agile es no planificar? 2ª parte". En cualquier caso, doy por supuesto que cada reunión, decisión o actividad relacionada con la planificación, en cada iteración, queda documentada. La diferencia es que no se programa anticipadamente, sino que se documenta con posterioridad y estos documentos son los que prueban el esfuerzo dedicado a la planificación ¿no?

    ResponderEliminar
    Respuestas
    1. Muchas gracias.

      Efectivamente, mi propuesta la puedes ver en el siguiente post: http://goo.gl/WOSTJ

      Es decir: la documentación de la planificación podría ir quedando en las notas sobre cada iteración en la carpeta "Process"

      Eliminar
    2. En ello estoy. Gracias.

      Eliminar
  3. Como ya ha dicho Anonimo el 2/2 es la primera vez que me detengo a leer sobre agile, y a priori parce que es mas o menos como sistematizar la no planificación, mientras leía me imaginaba contratando un pintor para que pinte mi casa, diciéndole "empezad, y al final de cada día vamos viendo", admito haberlo hecho una vez y no lo hice nunca mas, el tío ya era parte de mi familia, ja, ja; esta metodología es un gran negocio para las empresas de software y consultoras que le venden sus proyectos a los directores de ventas y de sistemas, donde "la guita" sobra.
    Me gustaría saber cuales son los desvíos de costo reales respecto de las predicciones, pero claro la respuesta sera, no hubo predicción de costos, aja, seria como tener un empleo fijo sabiendo que al final de cada día (iteraccion) cobrare mi jornada de todos modos, cómodo verdad?, eso se parece mas a una operación constante que a un proyecto.

    Sorry si fui muy directo, pero asi lo veo yo.

    ResponderEliminar
    Respuestas
    1. Muchas gracias por tu opinión, te agradezco que seas directo, no te disculpes, por favor.
      Yo no creo que estas metodologías traten de sistematizar la no planificación. En proyectos de naturaleza adaptativa creo que el futuro va por ahí, es mi opinión.
      Hace poco vi una estadística de 2010 publicada aquí:
      http://goo.gl/Zd5Zb

      Supongo que tiene sesgo porque la hizo una empresa dedicada a este negocio, pero da qué pensar ¿no?

      Eliminar
  4. Tu lo has dicho Jose, creo que hay mucho marketing sobre el asunto, los proyectos adaptativos no son novedad, ni invento de los IT (sin ser peyorativo ), la biotecnologia, la farmaceutica, los desarrollos espaciales fueron y seran adaptativos, Colon fue adaptativo? , entonces no estamos descubriendo nada nuevo (creo!), quisiera saber que hacen hoy NASA, Dupont, o Monsanto con sus proyectos de I+D, estan adoptando agile?

    ResponderEliminar