Cuando a un programador le preguntas cuanto durará una tarea, se queda corto. Ya os lo dije, los programadores son miopes (y nosotros también). Pero lo más interesante es que esa miopía no se cura cuando se está dentro de la tarea. Se acentúa. Es un efecto muy curioso. Cuando un programador cree que está a punto de acabar, le suele queda mucho trabajo por hacer.
Seguro que os habéis encontrado con un proyecto en el que no se ha hecho una WBS en condiciones, o un desglose en historias de usuario correcto. Y que al preguntar al equipo “¿Cómo vais?” Te responden, al 90%. Tardaron dos semanas en llegar ahí, así que les quedan días. No, realmente no les quedan días. Les quedan semanas. Es la regla del 90-90, que aunque se enuncie a modo “gracioso” esconde mucha verdad detrás de ella.
Os copio un análisis de un caso real en un proyecto que llevé (en mi época de novato como gestor de proyectos) cuando trabajaba en Planeta Web. Era el desarrollo de una web mediana, y la hacían entre dos programadores. La estimación es que tardarían 3 semanas en acabar (sí, por supuesto que lo estimamos como un todo. O sea, mal). Cada semana les preguntaba: “¿Qué porcentaje habéis hecho?” y fui apuntando las respuestas:
- Primera semana: 40%
- Segunda semana: 70%
- Tercera semana: 90%
- Cuarta semana: 95%
- Quinta semana: 98%
- Sexta semana: 99,9% (sí os prometo que me dijeron eso).
- Acabamos a mitad de la séptima semana.
¿Cada vez iban más lentos? ¿Cómo era posible? La verdad es que miraba el portfolio de proyectos en marcha y la mayoría o no habían comenzado, o estaban sobre el 90%. Ese 10% final costaba lo que no estaba escrito. Es lo que en aquel momento llamé el síndrome de cerrar proyectos. Cuando miraba los motivos casi siempre salían los mismos sospechosos habituales:
- Es que al final esto costó más de lo que esperaba.
- Es que las pruebas han fallado y hemos tenido que rehacer tal cosa.
- Es que el cliente al verlo nos lo ha cambiado.
- Es que, es que, es que…
Muchos “es que”. La verdad es que si hago autocrítica, muchos “es que” no eran culpa de los programadores. Pero también hay que decir, que parte de culpa tienen.
Recuerdo que el director de Planeta Web (del que como de todos mis jefes he aprendido mucho) decía habitualmente una frase en referencia a los proyectos al 90%:
Un proyecto al 99% no está acabado. El cliente no nos pagará un 99%. Hay que acabarlo, sino no hay premio. Es como un corredor de maratones. No te dan medallas por hacer los 42 kilómetros el primero si te dejas los 195 metros restantes sin hacer.
Toni Pascual
Esta frase, la tengo ahora grabada a fuego. Una de las grandes lecciones que tengo de él.
Origen real del problema
El origen real no es que el último porcentaje nos cueste más. Es que hemos medido mal dónde estamos. Cuando decimos que estamos al 90%, estamos al 50%. Esa es la realidad. Todo lo demás es engañarse. Por lo tanto, no nos fijemos en los motivos por los que el último sprint nos cuesta más. Fijémonos en cómo estamos midiendo y en qué nos estamos fijando cuando pensamos en el trabajo restante.
Solución
La solución para medir correctamente la centraría en dos partes:
- Romper el trabajo en tareas manejables. No podemos tener tareas de varias semanas. Tienen que ser de días, o de horas. Así evitaremos dar porcentajes.
- Sólo contabilizar lo acabado. No preguntemos porcentajes, sólo contabilizaremos lo cerrado.
Aún así nos saldrán tareas de debajo de las piedras en los últimos pasos. Pero como las crearemos y documentaremos, para siguientes proyectos las tendremos en mente.
Solución parcial
Hay casos en los que romper una tarea hasta el día es muy complicado. A veces salen tareas de varios días y los desarrolladores no están cómodos con romperlas. En ese caso, suelen preguntarse porcentajes. ¿Cómo lo evitamos? Con la figura del “Casi Acabado”. Una tarea puede estar en estado “Casi Acabado”. Cuando está en ese estado contabiliza por el 50%. Esto lo he visto en equipos Scrum, que a veces le ponen a una tarea esa marca y consideran que la mitad de los puntos ya están quemados.
De esta manera una tarea puede estar en marcha (cuenta por 0%), casi acabada (cuenta por 50%) o acabada (cuenta por 100%). Mi experiencia es que esta manera de puntuar es mucho más exacta que pedirle a la persona que te diga “¿Qué porcentaje llevas?”.
Sin comentarios