Skip to content

12. Definition of Done (DoD)

CampoValor
CódigoSTD-DOD
Versión1.0
EstadoVigente
PropietarioTodo el equipo / Docente
Fecha2026-08-30

Definir de forma objetiva cuándo una historia/tarea está realmente terminada, evitando el “está listo” subjetivo.

2. Definition of Done — lista verificable

Section titled “2. Definition of Done — lista verificable”

Una tarea NO puede considerarse DONE si cualquiera de estas condiciones es falsa:

[ ] Cumple todos los criterios de aceptación definidos en el Issue/historia.
[ ] El código fue probado (tests automatizados donde aplica según Doc. 08, y prueba manual del flujo si es UI).
[ ] No tiene errores críticos conocidos (BLOCKER de Doc. 07).
[ ] El pipeline de CI pasó en verde (Doc. 11).
[ ] Tiene la documentación necesaria (README/API docs/ADR) si el cambio lo amerita (Doc. 10).
[ ] Fue revisado y aprobado por al menos un reviewer (Doc. 07).
[ ] Está fusionado a la rama principal correspondiente (main/develop), no solo "en mi rama local".
[ ] No introduce código muerto, `dd()`/`console.log` de depuración, ni TODOs sin Issue asociado.
[ ] Si tocó base de datos, la migración corre limpia desde cero en un entorno nuevo.
[ ] Si tocó la API, el contrato (request/response) quedó documentado y no rompe a otros equipos sin aviso.

Cada punto de la lista de la sección 2, para su referencia desde la Matriz de Cumplimiento (Doc. 14). Todas son condición necesaria de “Done a nivel código” (P0/P1):

IDCondición
STD-DOD-01Cumple todos los criterios de aceptación del Issue/historia.
STD-DOD-02El código fue probado (tests automatizados donde aplica según Doc. 08, y prueba manual del flujo si es UI).
STD-DOD-03No tiene errores críticos conocidos (BLOCKER de Doc. 07).
STD-DOD-04El pipeline de CI pasó en verde (Doc. 11).
STD-DOD-05Tiene la documentación necesaria (README/API docs/ADR) si el cambio lo amerita (Doc. 10).
STD-DOD-06Fue revisado y aprobado por al menos un reviewer distinto del autor (Doc. 07).
STD-DOD-07Está fusionado a la rama principal correspondiente.
STD-DOD-08No introduce código muerto, dd()/console.log de depuración, ni TODOs sin Issue asociado.
STD-DOD-09Si tocó base de datos, la migración corre limpia desde cero en un entorno nuevo.
STD-DOD-10Si tocó la API, el contrato quedó documentado y no rompe a otros equipos sin aviso.

3. Niveles de “Done” (para evitar ambigüedad de alcance)

Section titled “3. Niveles de “Done” (para evitar ambigüedad de alcance)”
NivelCuándo se usaQué exige
Done a nivel códigoEl PR está fusionadoTodo lo de la sección 2 salvo despliegue
Done a nivel funcionalLa historia de usuario completa está utilizableAdemás, validado en un entorno de staging/demo, con datos de prueba reales
Done a nivel entregaCorresponde a un avance formal del cursoAdemás, documentado en el CHANGELOG.md y comunicado al docente/equipo
  • El autor de la tarea se autoevalúa contra esta lista antes de pedir revisión.
  • El reviewer confirma el DoD como parte del Code Review (Doc. 07).
  • El Tech Lead de equipo verifica el DoD a nivel funcional antes de marcar la historia como cerrada en el tablero (Issues/Projects).

No se marca la tarea como cerrada; se reabre o se deja en progreso, y si hay razones de tiempo, se documenta como deuda técnica explícita (Issue etiquetado deuda-tecnica) en vez de cerrarla “a medias” sin dejar rastro.

ReglaVerificaciónHerramienta
Checklist de DoD aplicadoManualEvidencia en el PR/Issue (checklist marcado)
CI verde antes de marcar DoneAutomáticaPipeline (Doc. 11)
Deuda técnica registrada si aplicaManualIssue con etiqueta deuda-tecnica
  • Doc. 07 — Code Review.
  • Doc. 08 — Pruebas.
  • Doc. 13 — Checklist F (versión operativa de este DoD).

Fin del documento 12. Continúa en 13. Checklists Operativos.