Saltar al contenido
jesusprodriguez.com

azure-pbi-authoring

Azure Boards: escribir un PBI que se pueda hacer

PBIs que se pueden estimar y cerrar sin discusión: criterios verificables, fuera de alcance explícito y campos completos.

stack:
Azure DevOps
versión:
v1.0.0
actualizada:
tamaño:
3.9 KB
lectura:
3 min
licencia:
CC-BY-4.0

Cuándo se activa

Al crear un PBI, un bug o una feature, o al reescribir uno que llega vacío.

description: Escribe Product Backlog Items de Azure Boards que se puedan estimar y cerrar sin discusión - criterios de aceptación verificables, alcance acotado y campos completos. Úsala al crear un PBI, un bug o una feature, o al reescribir uno que llega vacío al refinamiento.

  • Criterios de aceptación
  • Plantilla de bug
  • Campos obligatorios
  • Cuándo trocear

Cómo se le pide

> Reescribe el PBI 3120: llega sin criterios de aceptación y sin alcance definido.

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: escribir un PBI que se pueda hacer

El coste de un PBI mal escrito no se paga al escribirlo. Se paga en el refinamiento, en la estimación que falla y en la discusión de si está terminado.

Estructura

Título — resultado observable, no tarea técnica. En imperativo y sin prefijos de módulo.

✗ Modificar OrderService y añadir columna
✓ Exportar el listado de pedidos a CSV desde la ficha de cliente

Descripción — tres bloques, nunca más:

**Contexto.** Quién lo necesita y qué hace hoy en su lugar.
**Cambio.** Qué hará el sistema después. Un párrafo.
**Fuera de alcance.** Lo que alguien va a asumir que entra y no entra.

El bloque de fuera de alcance es el que más discusiones evita y el que casi nadie escribe.

Criterios de aceptación — en Microsoft.VSTS.Common.AcceptanceCriteria, comprobables por alguien que no ha escrito el código:

- [ ] Con al menos un pedido, el botón "Exportar" descarga un CSV con
      cabecera y una fila por pedido visible según el filtro activo.
- [ ] Sin pedidos, el botón queda deshabilitado con el texto "Nada que exportar".
- [ ] Con más de 10.000 pedidos, la descarga empieza en menos de 3 s.
- [ ] Un usuario sin permiso de lectura de pedidos recibe 403 y no ve el botón.

Regla: si dos personas pueden discrepar sobre si un criterio se cumple, el criterio está mal escrito. “Rápido”, “usable”, “bien formateado” no son criterios.

Cubre siempre los cuatro: caso feliz, caso vacío, caso límite y permisos.

Campos que no son opcionales

CampoPor qué
Effort / StoryPointsSin él no entra en sprint
AcceptanceCriteriaSin él no se puede cerrar
AreaPath / IterationPathSin ellos no aparece en ningún informe
Priority o BacklogPrioritySin ella el orden lo decide el azar
Enlace Parent a Feature/ÉpicaSin él el avance de la épica miente

Bugs: otra plantilla

Un bug no lleva criterios de aceptación, lleva reproducción:

**Pasos.** 1. … 2. … 3. …
**Esperado.** …
**Obtenido.** … (mensaje literal, captura o ID de correlación)
**Entorno.** Versión, navegador o cliente, usuario y hora aproximada.
**Alcance.** ¿Le pasa a un usuario o a todos? ¿Hay workaround?

Severidad la marca el impacto en el usuario, no la dificultad del arreglo. Repro Steps va en Microsoft.VSTS.TCM.ReproSteps, que es campo HTML: el Markdown plano se ve literal.

Tamaño

Si al escribir los criterios de aceptación te salen más de seis, o aparece la palabra “y” separando dos resultados distintos, es más de un PBI. Trocea por valor entregable, no por capa técnica:

✗ #1  Backend del export      ✓ #1  Export a CSV del listado filtrado
  #2  Frontend del export       #2  Programar el export como envío diario

Un PBI que solo toca el backend no se puede demostrar en la review, y lo que no se demuestra no se cierra.

Crearlo

az boards work-item create \
  --title "Exportar el listado de pedidos a CSV" \
  --type "Product Backlog Item" \
  --area "Proyecto\\Pedidos" --iteration "Proyecto\\Sprint 43" \
  --fields "Microsoft.VSTS.Scheduling.Effort=5" \
           "Microsoft.VSTS.Common.AcceptanceCriteria=<ul><li>…</li></ul>"

Los campos de texto enriquecido (descripción, criterios, repro steps) son HTML. Enlazar con el padre después:

az boards work-item relation add --id <hijo> --relation-type parent --target-id <padre>

Revisa el borrador con la persona antes de crearlo. Un PBI mal creado se queda en el backlog para siempre.