Skip to content
jesusprodriguez.com

azure-backlog-health

Azure Boards: salud del backlog

A backlog audit with written thresholds: unestimated, criteria-less, stalled items, untriaged bugs, unclosed epics and zombies.

stack:
Azure DevOps
task:
Audit
version:
v1.0.0
updated:
size:
3.4 KB
read:
2 min
license:
CC-BY-4.0

When it fires

Before a refinement session, or as a periodic backlog review.

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.

  • Seven threshold alerts
  • Untriaged bugs
  • Likely duplicates
  • Capped alerting

How you ask for it

> Audit the project backlog before Tuesday’s refinement and rank the alerts for me.

Say this to the agent as it is: the skill loads itself from its description, you do not have to name it.

Requires azure-devops-cli Install these too: this skill assumes the access they set up.

How to install one

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

The native route, and the only one that updates itself: add the marketplace once and `/plugin marketplace update` brings in new versions. Skills get their own namespace (`azure-devops:azure-pr-review`).

The whole file

This is exactly what you download: no summaries, nothing trimmed.

Heads-up: the skill file itself is written in Spanish. Agents read it fine and answer in your language, but the prose below is not translated.

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.