¿Qué es una Release?
Una release representa una versión de tu producto. Responde a: “¿qué estamos entregando y cuándo?”
En Sinra, una release se define por su alcance: el conjunto de capabilities que incluye. Esto se decide deliberadamente en el momento de la planificación, no se ensambla retroactivamente a partir de lo que estaba terminado antes del despliegue.
Release vs Ciclo
Estos dos conceptos se confunden con frecuencia. Son independientes:
| Release | Ciclo | |
|---|---|---|
| Qué es | Un alcance de entrega | Un período de trabajo |
| Responde a | ¿Qué estamos enviando? | ¿Cuándo trabajamos en ello? |
| Duración | Variable, ligada a funcionalidades | Fija, típicamente 1-4 semanas |
| Contiene | Capabilities e issues | Issues de cualquier release |
Un único ciclo puede contener issues de múltiples releases. Esto permite a los equipos trabajar en una corrección de mantenimiento para v1.2 al mismo tiempo que nuevas funcionalidades para v2.0, dentro del mismo ciclo.
Una Sola Regla: una Issue Toma la Release de su Capability
Una issue toma la release de su capability. Sin capability, eliges su release a mano.
Esta regla no tiene excepciones, sea cual sea el tipo de la issue (especificación, plan, tarea o bug). La release de una capability y la de sus issues nunca pueden divergir:
- En el formulario de una issue, la release y la release deseada son de solo lectura cuando la issue está en una capability. Nombran la capability de la que provienen. Elegir o cambiar la capability las actualiza antes de guardar.
- Mover una capability a otra release mueve todas sus issues, en una sola operación que se completa o falla en bloque.
- Una issue sin capability, de cualquier tipo, elige su release libremente. Desvincular una issue de su capability conserva la release que tenía, y el campo vuelve a ser editable.
- La release deseada sigue la misma regla.
- El formulario muestra la release heredada como texto, con un enlace a la capability de la que proviene. Cualquier petición que cambie la release de una issue que permanece en su capability, desde la interfaz o la API, se rechaza con un mensaje (422 para la API).
- La API rechaza una issue que está en una capability con una release distinta, y la acepta cuando no se envía release: la issue toma entonces la release de la capability. Las importaciones CSV y de repositorio nunca fallan por esta regla, la release se toma simplemente de la capability.
En la página de una release, las issues que están en una capability aparecen bajo su capability. El grupo Outside capability contiene solo issues sin capability, y los grupos siempre suman el número de issues de la release. Solo puedes añadir una issue a la release o quitarla directamente si no tiene capability: para las demás, la página te indica que muevas la capability. Las ediciones masivas que establecen una release omiten las issues que siguen a su capability y te dicen cuántas.
Definir una Release
Cuando creas una release, estableces:
- Nombre y número de versión: tu esquema de versioning (semántico o basado en calendario)
- Fecha de entrega objetivo: cuándo planeas lanzar
- Capacidad objetivo: días de trabajo presupuestados para esta release
Luego, usando la vista Backlog, asignas capabilities a la release. Cada capability trae sus issues consigo. Aquí es donde ocurren las decisiones de alcance.
Planificación de la Capacidad
Sinra calcula si tu release es alcanzable basándose en:
- Tiempo total estimado de las tareas y los bugs de la release, incluidas las issues sin capability (la carga de desarrollo)
- Capacidad del equipo disponible en los ciclos que entregarán esas issues
Si la release está sobre capacidad, Sinra lo hace visible antes de que te comprometas. Este es el cambio fundamental que hace Sinra: confrontar la ambición con la realidad en el momento de la planificación, no en el momento de la entrega.
Leer la Carga de una Release
La página de una release tiene un bloque Carga: el desarrollo frente al objetivo («39 / 40 d (98 %)»), el tiempo de especificaciones y planes aparte («Spec/plan 27,5 d, fuera de capacidad»), el número de tareas y bugs sin estimar y la comparación entre el objetivo y la capacidad de los ciclos. La tarjeta del Backlog y el panel de producto muestran el mismo desarrollo.
Los indicadores de avance llevan el nombre de lo que miden:
- Avance del desarrollo: el avance de tareas y bugs ponderado por su estimación, Σ(estimación × % del estado) / Σ estimaciones. Una especificación terminada no lo cambia; una especificación muestra aparte su redacción y la realización de sus tareas.
- Tiempo dedicado / estimado: tiempo dedicado dividido por tiempo estimado, solo tareas y bugs. No es el calendario.
Pase el cursor sobre una etiqueta para leer su fórmula.
Estados de las Releases
| Estado | Significado |
|---|---|
| Próxima | Planificada, no iniciada |
| Activa | Actualmente en trabajo |
| Entregada | Enviada |
Cuando una release se marca como entregada, Sinra crea automáticamente su retrospectiva.
Comunicar una Release
Un alcance de release definido en capabilities se traduce directamente en comunicación a stakeholders:
“v2.4 se lanza en julio. Incluye: notificaciones por email, exportación CSV y gestión de roles.”
Esto es algo que tu equipo de ventas, tus usuarios y tu soporte pueden entender sin abrir el backlog.
Retrospectivas
Cada release genera una retrospectiva automáticamente cuando se cierra. El equipo rellena cuatro categorías:
- Bien: qué funcionó bien
- Mal: qué no funcionó
- Mejoras: cambios de proceso a intentar la próxima vez
- General: cualquier otra cosa
Las retrospectivas están vinculadas a releases, no a ciclos, porque lo que aprendes es sobre lo que entregaste, no sobre cuánto tiempo trabajaste.
Leer las cifras de carga
Pasa el cursor sobre cada cifra del bloque Carga para ver su definición. Desarrollo son los días estimados de las tareas y bugs de la release frente a la capacidad objetivo. Los días de spec/plan se cuentan aparte y nunca se toman de la capacidad. El objetivo es la capacidad con la que se planificó la release, la capacidad de los ciclos es la suma de la capacidad de los ciclos que la llevan (un ciclo compartido con otra release cuenta completo en cada una) y la diferencia es la capacidad de los ciclos menos el objetivo: positivo = margen.