Saltar al contenido
jesusprodriguez.com

azure-backlog-health

Azure Boards: salud del backlog

Auditoría del backlog con umbrales escritos: sin estimar, sin criterios, parados, bugs sin triar, épicas sin cerrar y zombis.

stack:
Azure DevOps
tarea:
Auditar
versión:
v1.0.0
actualizada:
tamaño:
3.4 KB
lectura:
2 min
licencia:
CC-BY-4.0

Cuándo se activa

Antes de un refinamiento o como revisión periódica del backlog.

description: Audita el backlog de Azure Boards y avisa de lo que se está pudriendo - items sin estimar, sin criterios de aceptación, parados, duplicados o bugs sin triar. Úsala antes de un refinamiento o como revisión periódica del backlog.

  • Siete avisos con umbral
  • Bugs sin triar
  • Duplicados candidatos
  • Aviso con techo

Cómo se le pide

> Audita el backlog del proyecto antes del refinamiento del martes y priorízame los avisos.

Escríbeselo tal cual al agente: la skill se carga sola por la descripción, no hay que nombrarla.

Requiere azure-devops-cli Instala también estas: dan por hecho el acceso que esta skill necesita.

Cómo se instala

/plugin marketplace add https://jesusprodriguez.com/skills/marketplace.json
/plugin install azure-devops@jprodriguez-toolkit

La vía nativa, y la única que se actualiza sola: el marketplace se añade una vez y `/plugin marketplace update` trae las versiones nuevas. Las skills quedan con espacio de nombres propio (`azure-devops:azure-pr-review`).

El fichero, entero

Esto es exactamente lo que descargas: sin resúmenes ni recortes.

Azure Boards: salud del backlog

Un backlog no se degrada de golpe. Se llena de items que nadie va a coger, y un día el refinamiento dura dos horas y no sale nada.

Los siete avisos

Cada uno es una consulta y un umbral. Ajusta los umbrales al ritmo del equipo, pero tenlos escritos: sin umbral no hay aviso, hay opinión.

1. Sin estimar y a punto de entrar Los N primeros del backlog ordenado sin StoryPoints o Effort. Entrar en sprint sin estimar es comprometerse a ciegas.

SELECT [System.Id], [System.Title]
FROM WorkItems
WHERE [System.TeamProject] = @project
  AND [System.WorkItemType] = 'Product Backlog Item'
  AND [System.State] IN ('New', 'Approved')
  AND [Microsoft.VSTS.Scheduling.Effort] = ''
ORDER BY [Microsoft.VSTS.Common.BacklogPriority] ASC

2. Sin criterios de aceptación Microsoft.VSTS.Common.AcceptanceCriteria vacío en cualquier PBI aprobado. Sin criterios, “terminado” lo decide quien lo mire, y siempre discrepan.

3. Parados [System.ChangedDate] < @today - 30 en estado activo. Un item que lleva un mes en “Committed” no está en curso: está olvidado.

4. Bugs sin triar Bugs en estado New con más de 3 días, o cualquier bug sin severidad y sin prioridad. Un bug sin triar es una decisión que nadie ha tomado.

5. Sin dueño en el sprint Work items en la iteración actual con System.AssignedTo vacío pasado el primer día. Los recoge todo el mundo, lo que significa nadie.

6. Zombis Creados hace más de 180 días, nunca priorizados, nunca tocados. No se arreglan: se cierran. Un backlog de 400 items donde 250 no se harán jamás hace imposible encontrar los 150 que sí.

7. Épicas sin cerrar con todos los hijos hechos Features y épicas cuyos hijos están todos en Done. Casi siempre es un cierre que se olvidó y distorsiona cualquier informe de avance.

Detección de duplicados

WIQL no la hace. Se descargan títulos y descripciones y se comparan por similitud (tokens en común normalizados, o embeddings si hay muchos). Se proponen como candidatos, nunca se fusionan solos: dos títulos parecidos son a menudo dos problemas distintos del mismo módulo.

El aviso

Agrupado por acción, no por tipo de item, y con techo:

BACKLOG · 214 items · 6 avisos

REFINAR YA (top 10 del backlog)
  #1240  Export de informes         sin estimar, sin criterios
  #1244  Filtro por cliente         sin criterios

TRIAR (bugs)
  #1251  Error 500 al guardar       New, 6d, sin severidad

CERRAR O REVIVIR
  17 items sin tocar desde hace más de 180 días  → lista adjunta

SIN CAMBIOS
  Estimación, dueños de sprint y jerarquía de épicas, correctos.
  • Máximo 10 líneas accionables por aviso. Más de eso no se lee y se convierte en ruido de fondo.
  • Si no hay nada urgente, se dice en una línea y se acabó. La credibilidad de un aviso periódico se gasta cada vez que interrumpe sin motivo.
  • El agente propone; mover, cerrar o reasignar lo confirma una persona. Cerrar 17 items zombis es correcto el 90% de las veces, y el 10% restante es el que te acuerdas.