Documentación

Puentes de calidad

Cómo las políticas determinan qué se permite aprobar y dónde una puerta de control puede detener una tarea.

Una puerta de control de calidad es una comprobación que el trabajo debe superar para poder avanzar. Las puertas de control permiten que el criterio de "suficientemente bueno para lanzar" deje de ser una decisión subjetiva y se convierta en algo que el sistema aplica de la misma manera en todo momento.

Bloqueantes y orientativas

Cada puerta de control es de uno u otro tipo, y esa distinción constituye todo el diseño:

  • Bloqueante — si falla, la tarea se detiene. El trabajo no avanza hasta que se apruebe o un humano la autorice.
  • Orientativa — si falla, se registra como hallazgo y se adjunta al pull request, pero la tarea continúa.

Comienza con puertas de control orientativas. Observa qué señala realmente una puerta de control en el trabajo real durante una o dos semanas, y luego promueve a bloqueante aquellas que lo merezcan. Una puerta de control que bloquee desde el primer día, sin haber sido ajustada previamente, solo enseñará a los usuarios a sortearla.

Qué puede verificar una puerta de control

Las puertas de control se ubican encima de la fase de verificación y pueden abarcar:

  • el correcto funcionamiento de tu propia suite de pruebas
  • los umbrales de cobertura
  • la corrección de estilo y el análisis estático
  • el escaneo de seguridad
  • las pruebas en navegador sobre una vista previa en ejecución
  • las pruebas realizadas por proveedores externos y adjuntadas al pull request

La puerta de control más valiosa suele ser siempre tu suite de pruebas existente, ya que ya incorpora lo que tu equipo considera importante.

Dónde puede detener una puerta de control el trabajo

Las puertas de control se ejecutan durante la verificación, después de que el agente desarrollador haya finalizado y antes de la Revisión. Un fallo bloqueante devuelve la tarea como trabajo pendiente en lugar de generar un pull request que acabarías rechazando.

Ese orden es deliberado: es más económico fallar dentro del proceso que fallar ante tus ojos.

Políticas

Las puertas de control se agrupan en políticas, que son las que realmente se asocian a los proyectos. Una política es un conjunto nombrado de puertas de control con sus configuraciones de bloqueo/orientación, de modo que puedas tener una estándar para servicios de producción y otra más flexible para herramientas internas.

Las políticas tienen versión. Publicas un cambio y puedes volver a una versión anterior si una nueva puerta de control resulta ser demasiado estricta.

Sobrescrituras

Una puerta de control bloqueante puede ser sobrescrita por una persona con la autoridad necesaria. La sobrescritura se registra: quién, cuándo y en qué.

Ese registro es el objetivo. Una puerta de control que nadie pueda sobrescribir hará que la gente la sortee; una puerta de control que cualquiera pueda sobrescribir sin dejar rastro no es una puerta de control. Una sobrescritura que deja constancia es a la vez útil y responsable.

Qué no hacen las puertas de control

Las puertas de control verifican propiedades. No juzgan si el trabajo resuelve el problema correcto; eso es lo que determinan los criterios de aceptación en la especificación y lo que corresponde a la Revisión.

Un cambio puede superar todas las puertas de control y, aun así, ser el cambio equivocado.