7 min lectura • Guide 46 of 877
Automatizando Procesos de Code Review
Los code reviews son esenciales para la calidad pero frecuentemente se convierten en cuellos de botella. Actualizaciones de estado manuales, ownership poco claro, y PRs olvidados ralentizan las entregas. GitScrum automatiza las partes tediosas del seguimiento de code review para que tu equipo pueda enfocarse en la revisión real.
Cuellos de Botella de Code Review
| Problema | Causa | Solución Automatizada |
|---|---|---|
| PRs esperando días | Sin visibilidad | Dashboard de cola de revisión |
| Actualizaciones manuales de estado | Overhead de desarrollador | Automatización con integración Git |
| Poco claro quién revisa | Sin asignación | Reglas de auto-asignación |
| PRs olvidados | Sin recordatorios | Notificaciones automatizadas |
| Contexto perdido | Desconexión de tareas | PRs y tareas enlazadas |
Configuración de Integración Git
Conectando Repositorios
CONFIGURACIÓN DE INTEGRACIÓN GIT
════════════════════════════════
Repositorio: github.com/empresa/producto
Conectado: ✓
Reglas de Automatización:
├── Branch contiene ID de tarea → Enlazar a tarea
├── PR abierto → Tarea mueve a "En Revisión"
├── PR aprobado → Tarea etiquetada "aprobada"
├── PR mergeado → Tarea mueve a "Hecho"
└── PR cerrado sin merge → Tarea vuelve a "En Progreso"
Formato de ID de Tarea: #123 o TASK-123
Automatización de Estados
FLUJO DE ESTADOS AUTOMÁTICO
═══════════════════════════
Desarrollador crea branch: feature/TASK-123-auth-usuario
│
▼
Tarea #123 → "En Progreso" (automático)
│
▼
Desarrollador abre PR mencionando #123
│
▼
Tarea #123 → "En Revisión" (automático)
PR enlazado a tarea (automático)
Revisor asignado (si hay reglas configuradas)
│
▼
Revisor aprueba PR
│
▼
Tarea #123 etiquetada "aprobada" (automático)
│
▼
PR mergeado a main
│
▼
Tarea #123 → "Hecho" (automático)
Asignación de Revisores
Reglas de Auto-Asignación
REGLAS DE ASIGNACIÓN DE REVISORES
═════════════════════════════════
REGLA 1: Round Robin
────────────────────
Revisores: [María, Carlos, Ana]
Método: Rotar a través de la lista
Saltar si: Revisor es autor del PR
REGLA 2: Code Ownership
───────────────────────
Path: /src/auth/*
Revisor: @equipo-seguridad
Path: /src/frontend/*
Revisor: @lead-frontend
Path: /src/api/*
Revisor: @equipo-backend
REGLA 3: Balance de Carga
─────────────────────────
Asignar a revisor con menos revisiones abiertas
Máximo revisiones por persona: 3
Si todos llenos → Notificar al lead
Configuración en GitHub (CODEOWNERS)
ARCHIVO CODEOWNERS
══════════════════
# .github/CODEOWNERS
# Propietarios por defecto
* @equipo-core
# Frontend
/src/frontend/ @lead-frontend @equipo-frontend
# Backend API
/src/api/ @equipo-backend
# Infraestructura
/terraform/ @equipo-devops
/.github/workflows/ @equipo-devops
# Seguridad (siempre revisar)
/src/auth/ @equipo-seguridad
*.secrets.* @equipo-seguridad
# Documentación
/docs/ @tech-writers
BENEFICIOS:
├── Revisores automáticos por área
├── Expertise garantizado
├── Sin olvidar dominios críticos
└── Escalable con equipo
Notificaciones Automatizadas
Configuración de Alertas
SISTEMA DE NOTIFICACIONES
═════════════════════════
PR ABIERTO:
├── Notificar revisor asignado
├── Canal: Slack + Email
└── Urgencia: Normal
PR SIN REVISIÓN > 4 HORAS:
├── Recordatorio a revisor
├── Canal: Slack DM
└── Urgencia: Media
PR SIN REVISIÓN > 24 HORAS:
├── Escalar a tech lead
├── Canal: Slack + Dashboard
└── Urgencia: Alta
PR APROBADO:
├── Notificar autor
├── Canal: Slack
└── Acción sugerida: "Listo para merge"
CONFLICTOS DETECTADOS:
├── Notificar autor
├── Canal: Email + Slack
└── Acción requerida: "Resolver conflictos"
Ejemplo de Integración Slack
MENSAJE AUTOMATIZADO EN SLACK
═════════════════════════════
┌─────────────────────────────────────────────────┐
│ 🔔 *PR Necesita Revisión* │
│ │
│ *PR:* #234 - Implementar login social │
│ *Autor:* @maria │
│ *Branch:* feature/TASK-123-login-social │
│ *Tarea:* TASK-123 │
│ │
│ *Revisor asignado:* @carlos │
│ *Tiempo esperando:* 2 horas │
│ │
│ <Ver PR> | <Ver Tarea> | <Asignar a mí> │
└─────────────────────────────────────────────────┘
Dashboard de Cola de Revisión
DASHBOARD DE CODE REVIEW
════════════════════════
COLA DE REVISIÓN (Ordenado por antigüedad)
┌─────────────────────────────────────────────────────────────┐
│ PR │ Autor │ Revisor │ Esperando │ Estado │
├──────────┼────────┼──────────┼───────────┼─────────────────┤
│ #234 │ María │ Carlos │ 26h │ 🔴 Atención │
│ #231 │ Ana │ Pedro │ 8h │ 🟡 Normal │
│ #229 │ Carlos │ María │ 4h │ 🟢 Reciente │
│ #228 │ Pedro │ Ana │ 2h │ 🟢 Reciente │
└─────────────────────────────────────────────────────────────┘
MÉTRICAS:
┌─────────────────────────────────────────┐
│ PRs abiertos: 4 │
│ Tiempo promedio de revisión: 12h │
│ PRs > 24h sin revisión: 1 │
│ Revisiones completadas hoy: 6 │
└─────────────────────────────────────────┘
CARGA POR REVISOR:
┌─────────────────────────────────────────┐
│ María: ██░░░ 2 PRs pendientes │
│ Carlos: ███░░ 3 PRs pendientes │
│ Ana: █░░░░ 1 PR pendiente │
│ Pedro: ██░░░ 2 PRs pendientes │
└─────────────────────────────────────────┘
Automatización de Calidad
Checks Automáticos Pre-Review
CHECKS AUTOMATIZADOS
════════════════════
ANTES DE ASIGNAR REVISOR:
├── ✓ Tests pasan
├── ✓ Linting sin errores
├── ✓ Coverage no disminuye
├── ✓ No hay conflictos
└── ✓ Descripción de PR completa
SI CHECKS FALLAN:
├── No asignar revisor
├── Notificar autor
├── Sugerir correcciones
└── Link a logs de CI
TEMPLATE DE PR REQUERIDO:
├── ¿Qué hace este cambio?
├── ¿Cómo probarlo?
├── ¿Screenshots/GIFs? (si aplica)
├── Checklist de autor
└── Tareas relacionadas
Comentarios Automáticos
BOT DE COMENTARIOS AUTOMÁTICOS
══════════════════════════════
EN ARCHIVOS GRANDES (>500 líneas):
"⚠️ Este PR tiene más de 500 líneas de cambios.
Considera dividirlo en PRs más pequeños para
facilitar la revisión."
EN ARCHIVOS SENSIBLES:
"🔐 Este PR modifica archivos de seguridad.
Se requiere revisión de @equipo-seguridad."
EN DEPENDENCIAS:
"📦 Este PR actualiza dependencias.
Verifica changelog y posibles breaking changes."
SIN TESTS:
"🧪 No se detectan nuevos tests.
¿Este cambio requiere cobertura de tests?"
Métricas de Code Review
MÉTRICAS DE CODE REVIEW
═══════════════════════
TIEMPO:
├── Tiempo promedio primera revisión: 4.2h
├── Tiempo promedio hasta merge: 18h
├── PRs resueltos mismo día: 67%
└── PRs > 48h: 8%
CALIDAD:
├── PRs aprobados primera revisión: 45%
├── Promedio iteraciones: 2.3
├── Comentarios promedio por PR: 6
└── PRs revertidos después de merge: 2%
PARTICIPACIÓN:
├── Revisiones por persona/semana: 8
├── Distribución más equilibrada: María (23%), Carlos (22%)...
└── Autor más activo: Pedro (15 PRs/semana)
Mejores Prácticas
MEJORES PRÁCTICAS
═════════════════
✓ PRs pequeños (<400 líneas)
└── Más fáciles de revisar = más rápido
✓ Descripciones claras
└── Contexto reduce preguntas
✓ Auto-asignación configurada
└── Sin esperar asignación manual
✓ SLA de revisión (ej: 24h)
└── Expectativas claras
✓ Checks automáticos antes de revisor
└── No desperdiciar tiempo de revisor
✓ Dashboard visible para el equipo
└── Accountability social
Anti-Patrones
ANTI-PATRONES A EVITAR
══════════════════════
✗ PRs gigantes (1000+ líneas)
└── Nadie los revisa bien
✗ Sin descripción de PR
└── "¿Qué hace esto?"
✗ Un solo revisor para todo
└── Cuello de botella garantizado
✗ Sin seguimiento de tiempo
└── PRs olvidados
✗ Aprobar sin revisar
└── "LGTM" sin mirar código
✗ Revisiones hostiles
└── Destruyen moral del equipo
Soluciones Relacionadas
- Automatizando Gestión de Branches - Flujos de Git
- Automatizando Estado con PR Merges - Sincronización
- Estrategias de Testing Automatizado - Quality gates
- Pipelines CI/CD - Integración continua