Tengo 99 problemas, y eso es mejor que tener solo uno
June 14, 2020This essay is also available in English.
Desglosar problemas grandes en series de tareas independientes más pequeñas es una de las habilidades más valiosas en la gestión de proyectos. Esto es cierto en varios campos, pero gracias al poder la abstracción y la modularidad, es especialmente poderoso en la ingeniería de sistemas, donde pequeños componentes pueden ser producidos por separado y probados en partes para ser integrados en un conjunto más grande.
La semana pasada me tocó señalar el valor de desglosar tareas por adelantado a varios de mis compañeros de trabajo, por lo que decidí preparar una breve lista de pros y contras. Por un lado, organizar proyectos grandes con muchas partes móviles en secuencias de tareas intermedias…
- Nos mantiene enfocados, reduciendo la cantidad de cosas que nos toca malabarear a la vez. No tiene sentido mantener una tarea en mente hoy si sabemos que no podremos trabajar en ella hasta completar otra parte. Esto está relacionado con los conceptos básicos de Lean Manufacturing y Kanban, los cuales la mayoría de los ingenieros de software están familiarizados como precursores del desarrolo de software Ágil.
- Define un camino claro hacia la meta. Es mucho más fácil comprender un proyecto completo al entender cada una de sus sub-tareas. Esto está relacionado a un concepto de psicología llamado chunking, o fragmentación.
- Provee mejores estimaciones de esfuerzo. La ley de Hofstadter siempre está ahí, pero es más fácil identificar el tiempo que nos requerirá realizar tarea pequeñas, reduciendo la variación general de nuestras estimaciones totales.
- Nos da una sensación intrínsica de triunfo a medida que avanza el proyecto. Un gran quehacer permanece sobre nuestras cabeza sin terminar sin importar qué tan cerca estemos de completarlo. Es más fácil mantenernos motivados cuando podemos tachar artículos pequeños de una lista a medida que avanzamos.
- Nos permite mostrar progreso incremental externamente. En la próxima reunión, cuando el gerente del otro equipo nos pregunte si ya terminamos el proyecto, podemos señalar la lista de subtareas y en lugar de decir que no lo logramos a tiempo, le podemos decir que estamos a 70% del camino.
- Incentiva la colaboración. Si hemos hecho el trabajo inicial de dividir las tareas en piezas independientes, es más fácil repartir pedazos del proyecto a compañeros que tienen un par de horas de tiempo extra para ayudarnos.
Por otro lado:
- Toma tiempo y esfuerzo. Cada minuto que pasamos organizando nuestro proyecto en partes más pequeñas es tiempo gastado en gestión, no tiempo invertido en construir nuestro producto. Entre más pequeño sea el proyecto, y más pequeño sea el equipo trabajando en el mismo, se hace menor la necesidad de definir las secciones del proyecto a fondo. Es importante recordar que este tipo de trabajo se siente productivo, y fácilmente da paso a bikeshedding, así que es mejor errar del lado de un proceso de desglose más corto de la cuenta.
- Nos da una falsa sensación de certeza. La lista de tareas solo debería ser una guía. No sabemos lo que no sabemos, y puede que haya trabajo escondido que no veremos hasta encontrar un obstáculo. Algunas tareas que inicialmente pensábamos serían necesarias pueden terminar siendo irrelevantes, mientras que otras que pensábamos estarían completamente apartadas en realidad terminan estando acopladas. El equipo debe mantenerse flexible, estando preparado para cambiar las tareas del conjunto incial a medida que el proyecto se desenvuelve.
Identificar porciones independientes en cualquier proyecto es difícil, pero es una hablidad que vale la pena perfeccionar. A menudo se reduce a una cuestión de instinto y de reconocimiento de patrones, por lo que no estoy recomendando una forma específica de desglosar proyectos, si no abogando por el valor de hacerlo por adelantado. Las tareas son confusas, y frecuentemente se mezclan entre sí. Sin importar si dedicamos tiempo por adelantado en organizar un proyecto en tareas más pequeñas, o si en su lugar las definamos implicítamente de camino al trabajar poco a poco en el proyecto en su totalidad, todos los proyectos requieren fragmentación. Considerando que nos tocará desglosar el proyecto de todas formas, por que no hacerlo por adelantado y aprovechar los beneficios enumerados anteriormente?
Foto: Tablero de Catan, Bad Aussee, Austria, por mí. Anteriormente compartida en Europa III, Bad Aussee MMXX.
Want to see more articles like this? Sign up below: