Conceptos de TUNE-UP Process
El siguiente diagrama muestra los conceptos y relaciones esenciales en las cuales se basa TUNE-UP Process.
Hagamos una primera lectura de este modelo conceptual. Toda Línea de trabajo tiene un Backlog que contiene las Unidades de trabajo (UT) que no se han terminado. Si una Línea de trabajo utiliza Sprints para agrupar las entregas de trabajo al cliente, entonces el Backlog contendrá las UT que se están preparando para ser posteriormente ejecutadas en un Sprint. Es decir, cuando se utilizan Sprints una UT está en el Backlog o en un Sprint. Además, si interesa realizar un seguimiento a mediano o largo plazo de un conjunto de UT, es conveniente que además las UT puedan estar asociadas a un Proyecto. De acuerdo con el proceso que necesitan las UT de una Línea de trabajo se definen y asocian workflows a la Línea de trabajo. Cada workflow es básicamente el diseño de un Tablero kanban donde las columnas representan a las actividades que deben aplicarse a unas UT hasta llegar a terminarlas. Así pues, en un momento dado una UT estará en alguna actividad de su workflow y esa actividad en podrá ser asignada a uno o más Colaboradores para que la finalicen y pasen la UT a la siguiente actividad de su workflow.
A continuación, se describen en más detalle cada uno de los conceptos mencionados. En Worki todos estos conceptos son gestionados en la opción de menú "Elementos del sitio".
- Línea de trabajo: Una Línea de trabajo es una clasificación de trabajo que debe realizar a un equipo (un conjunto de colaboradores). Una Línea de trabajo está asociada a un producto o servicio, de hecho podría ser directamente un producto o servicio, sin embargo, el concepto Línea de trabajo de TUNE-UP Process es más potente, permite reflejar una mayor diversidad de escenarios de organización del trabajo. Por ejemplo, en un producto de gran envergadura pueden establecerse Líneas de trabajo que corresponden a partes/aspectos de dicho Producto. Un mismo equipo podría estar encargado de varias Líneas de trabajo, cada una siendo abordada con estrategias específicas (en cuanto a planificación, seguimiento, pruebas, etc). Podrían existir Líneas de trabajo asociadas a diferentes clientes, distintos mercados, tecnologías, etc. Es decir, una buena organización del trabajo depende de una buena definición de Líneas de trabajo. La identificación de diferentes Líneas de trabajo permite gestionarlas acorde con sus necesidades y restricciones. Toda Línea de trabajo tiene por defecto un Backlog, debe tener al menos un workflow asociado y los Colaboradores que trabajan en ella.
- Unidad de Trabajo (UT): Una UT es una pieza trabajo solicitado por el Product Owner, el representante de la "parte cliente" (él o los interesados en el resultado de dicho trabajo). Las UT son definidas (idealmente) por el Product Owner. Desde la perspectiva del cliente cada UT terminada debería aportarle valor al negocio (el contexto donde se aprovecha el producto o servicio). Según esto una UT debería, en general, representar todo, o una parte de un resultado esperado y validable por la parte cliente. Por lo tanto, una UT no debería ser una actividad o tarea técnica intermedia anterior a la obtención del resultado. El trabajo técnico que se realiza sobre una UT ya estará incluido como actividad del workflow que sigue una UT.
- Workflow: El Flujo de trabajo es el encadenamiento de actividades que sigue ideal o normalmente una UT, desde que se introduce hasta que se da por terminada. A cada UT se le asigna uno de los workflows asociados a la Línea de trabajo. Un tablero kanban no es más que la representación de un workflow, el proceso que se aplica a ciertas UT desde su creación hasta su término.
- Actividad: Representa el trabajo que se está aplicando sobre una UT. Las actividades esenciales que suelen estar en un workflow (aunque no necesariamente con estos nombres) son: Definir (para establecer qué se espera de la UT), Ejecutar (representa el trabajo necesario para conseguir el resultado de la UT) y Probar (es donde se comprueba que el resultado de la UT es el esperado). En algunos casos las Actividades son más bien Estados, es decir, donde quizás no se realiza un trabajo sobre las UT sino más bien esperan allí a que se produzca algún evento o acción que las mueva a otra actividad.
- Backlog: Es un contenedor por defecto de UT, cada Línea de trabajo tiene su propio Backlog. El Backlog debería estar siempre ordenado. El orden expresa la prioridad de las UT pues se trabajará en ellas siguiendo dicho orden. El ordenamiento del Backlog se realiza combinando varios factores, pero por sobre todo debe orientarse a conseguir la satisfacción de la parte cliente (y del Product Owner).
- Sprint: Es un contenedor temporal de UT, y cuya duración no debería ser mayor que 4 semanas. El concepto de Sprint ayuda al seguimiento en el corto plazo e introduce una disciplina y ritmo de trabajo que incluye planificación, seguimiento, revisión y mejora continua, una sana rutina para el equipo y su relación con la parte cliente.
- Proyecto: Es un contenedor temporal de UT, que se realizarán durante un período de tiempo (normalmente de varios meses). El concepto de proyecto ayuda al seguimiento en el mediano o largo plazo. Así pues, un proyecto de varios meses puede descomponerse en varios Sprints. Pero si la duración del proyecto es de menos de 4 semanas, en cuanto a seguimiento sería indiferente usar Sprint o Proyecto, pero probablemente no sería útil usar ambos conceptos en este caso. Un proyecto en TUNE-UP Process tiene una característica adicional respecto de un Sprint; un proyecto puede estar asociado a varias líneas de trabajo y así contener UT de diferentes Líneas de trabajo. En cambio, en un Sprint todas las UT son de la misma Línea de trabajo.
Utilizar Sprints o Proyecto en una Línea de trabajo en principio conlleva planificar, acordando un cierto alcance y tiempo, y que la estimación de esfuerzo sea coherente respecto de la capacidad que tiene el equipo en dicho período. En Líneas de trabajo en las cuales no es posible prever el trabajo que se desarrollará (ni siquiera a corto plazo), por ejemplo, en incidencias de infraestructura (no sabemos cuántas nos reportarán el próximo mes), si se usa el concepto de Sprint o Proyecto, probablemente no serán regulares en frecuencia, y tampoco serían previsibles en cuanto a alcance (en TUNE-UP Process a estos Sprints se les califica como Sprints "flexibles"). En un caso como este en una Línea de trabajo podría optarse simplemente por no utilizar Sprints ni Proyecto, y desarrollar todo el trabajo basado exclusivamente en la gestión de su Backlog. Lectura recomendada “Sprints, welcome to the real world ...”
- Colaborador: Es una persona que participa en un equipo de trabajo.