Saltar a contenido

Procesos Internos de Desarrollo

Workflows y procesos del equipo de desarrollo del Sistema A3 de A Terceros Inmobiliaria.

Ciclo de Desarrollo

1. Sprint Planning

Frecuencia: Cada 2 semanas (bi-semanal) Duración: 1-2 horas Participantes: Todo el equipo de desarrollo + Product Owner Responsable: Product Owner + Tech Lead

Agenda: 1. Review del sprint anterior 2. Presentación de nuevos tickets/features en backlog 3. Estimación de tareas (story points) 4. Asignación de tareas a desarrolladores 5. Definir goal del sprint

Herramienta: [Jira/Trello/etc.]


2. Development

Workflow: 1. Ticket asignado en planning o por Tech Lead 2. Desarrollador mueve ticket a "In Progress" 3. Crea branch desde master: feature/TICKET-123-descripcion 4. Implementa cambios siguiendo estándares 5. Escribe tests (guía de testing) 6. Ejecuta tests localmente 7. Commit y push a GitHub 8. Abre Pull Request

Prioridades: - P0 (Crítico): Sistema caído, afecta a todos los usuarios - SLA: 2 horas - P1 (Alto): Feature principal afectada - SLA: 1 día - P2 (Medio): Funcionalidad secundaria - SLA: 1 semana - P3 (Bajo): Nice-to-have, mejoras - SLA: Backlog


3. Code Review

Ver guía completa de PRs.

Proceso: 1. Desarrollador abre PR 2. Asigna reviewer según módulo (ver tabla de reviewers) 3. Reviewer revisa en max 24h hábiles 4. Feedback y cambios solicitados 5. Desarrollador implementa cambios 6. Re-review 7. Aprobación (mínimo 1 reviewer)

SLA: 24 horas hábiles para review inicial


4. QA y Testing

Ambientes: - Local: Desarrollo en máquina del desarrollador - Staging: [URL] - Para QA antes de producción - Producción: [URL] - Ambiente live

Proceso QA: 1. PR mergeado a master 2. Deploy automático a Staging 3. QA manual del equipo de QA (si existe) o desarrollador 4. Si pasa QA → Aprobado para producción 5. Si falla QA → Crear bug ticket, volver a desarrollo

Responsable de QA: [QA Lead o equipo] (si no existe, el mismo desarrollador valida)


5. Deployment

Ver detalles en guía de PRs - sección deployment.

Proceso: 1. PR aprobado y mergeado a master 2. CI/CD ejecuta tests (GitHub Actions) 3. Deploy automático a Staging 4. QA en staging 5. Deploy manual a Producción (ejecutado por DevOps)

Responsable: [DevOps Lead - nombre]

Horarios permitidos (Producción): - Lunes a Jueves: 10:00 AM - 4:00 PM - Viernes: Solo hotfixes críticos - Fines de semana: Solo emergencias

Notificaciones: - Deploys automáticos a staging aparecen en #sistema-a3-deploys - Deploys a producción requieren anuncio manual en #sistema-a3-deploys


Ceremonias del Equipo

Daily Standup

Frecuencia: Lunes, Miércoles, Viernes Hora: 9:00 AM Duración: 15 minutos máximo Formato: Presencial o por Slack/Zoom

Cada persona comparte: 1. ¿Qué hice desde el último standup? 2. ¿Qué voy a hacer hoy/hasta el próximo standup? 3. ¿Tengo algún blocker?

Reglas: - Máximo 2 minutos por persona - Solo blockers críticos se discuten (lo demás offline) - No es reunión de reporte a managers, es sync del equipo


Sprint Retrospectiva

Frecuencia: Cada 2 semanas (al final del sprint) Duración: 30-45 minutos Participantes: Todo el equipo de desarrollo

Agenda: 1. Qué salió bien en el sprint 2. Qué salió mal o puede mejorar 3. Acción items para el próximo sprint

Formato: Start/Stop/Continue

Nota: Es espacio seguro para feedback honesto. Lo que se dice en retro, se queda en retro (salvo action items acordados).


Tech Sync

Frecuencia: Semanal (Martes) Hora: 2:00 PM Duración: 30 minutos Participantes: Solo equipo técnico (sin PO)

Agenda: - Discusiones técnicas profundas - Decisiones de arquitectura - Tech debt - Tooling y mejoras de proceso - Compartir aprendizajes técnicos


Comunicación

Reportar Bugs

En Desarrollo (bugs nuevos encontrados durante desarrollo)

  1. Crear issue en GitHub con template "Bug Report"
  2. Etiquetar con bug y prioridad (P0-P3)
  3. Asignar a Tech Lead o dejar sin asignar para planning
  4. Mencionar en #dev-sistema-a3 si es urgente

En Producción (bugs reportados por usuarios)

  1. Crítico (P0 - Sistema caído o feature principal rota):
  2. Notificar inmediatamente en #sistema-a3-urgente
  3. Mencionar a @tech-lead y @devops
  4. Crear ticket en sistema de incidencias
  5. Iniciar hotfix inmediatamente

  6. No crítico (P1-P3):

  7. Crear ticket en GitHub
  8. Notificar en #dev-sistema-a3
  9. Se priorizará en siguiente planning

Proponer Nuevas Features

Proceso:

  1. Discusión inicial con Product Owner [nombre]
  2. Explica el problema que resuelve
  3. Propón solución high-level
  4. Obtén feedback preliminar

  5. Si es cambio arquitectónico grande:

  6. Crear RFC (Request for Comments)
  7. Documento de diseño técnico
  8. Presentar en Tech Sync
  9. Obtener aprobación de Tech Lead

  10. Presentar en Sprint Planning:

  11. PO incluye en backlog
  12. Equipo estima complejidad
  13. Se prioriza vs otras features

  14. Aprobación y asignación:

  15. PO aprueba para development
  16. Se asigna en planning o por Tech Lead

No implementes features sin aprobación de PO, aunque creas que son buena idea.


Solicitar Ayuda

Dudas Técnicas

  1. Primero: Busca en docs, código existente, Google (max 30 min atascado)
  2. Segundo: Pregunta en #dev-sistema-a3
  3. Describe el problema claramente
  4. Qué has intentado
  5. Error específico (con logs/stack trace)
  6. Tercero: Si es muy urgente, DM a tu mentor o senior dev

Dudas de Negocio/Producto

  • Procesos del negocio: Contactar al stakeholder del departamento
  • Ventas: [contacto]
  • RH: [contacto]
  • Finanzas: [contacto]
  • Prioridades o requerimientos: Product Owner [nombre]

Problemas de Infraestructura

  • Accesos, permisos: IT Support [email/extensión]
  • Heroku, deployment: DevOps [contacto]
  • Base de datos: DBA o DevOps [contacto]

SLA de Resolución

Tiempos esperados de resolución según prioridad:

Prioridad Descripción SLA de Resolución Ejemplo
P0 Sistema caído, afecta a todos 2 horas Base de datos inaccesible
P1 Feature principal rota, afecta a muchos usuarios 1 día hábil Login no funciona
P2 Funcionalidad secundaria afectada 1 semana Reporte específico no se genera
P3 Nice-to-have, mejoras Backlog Mejorar UX de un formulario

Nota: SLA de resolución es tiempo desde que se detecta hasta que se despliega el fix a producción, no solo hasta que se abre el ticket.


Escalación de Problemas

Cuando Escalar

Escala a Tech Lead cuando: - Llevas >48h bloqueado sin solución - PR lleva >48h sin review - Hay conflicto técnico entre desarrolladores - Necesitas decisión arquitectónica importante - Problema de producción P0/P1

Cómo Escalar

  1. Slack: Mensaje en #dev-sistema-a3 mencionando @tech-lead
  2. Email: Si no hay respuesta en Slack en 2 horas (solo para urgentes)
  3. Llamada/WhatsApp: Solo para P0 críticos fuera de horario laboral

Roles y Responsabilidades

Tech Lead

  • Decisiones arquitectónicas
  • Mentorship de desarrolladores
  • Code reviews de cambios complejos
  • Manejo de escalaciones
  • Coordinación con DevOps y PO

Contacto: [nombre] - [email/slack]


Product Owner

  • Definir prioridades de features
  • Backlog management
  • Aceptar o rechazar features
  • Comunicación con stakeholders del negocio

Contacto: [nombre] - [email/slack]


DevOps Lead

  • Infraestructura (Heroku, AWS, BD)
  • Deployments a producción
  • Monitoring y alertas
  • Manejo de incidentes de infraestructura

Contacto: [nombre] - [email/slack]


Desarrolladores Senior

  • Desarrollo de features complejas
  • Code reviews
  • Mentorship de juniors
  • Decisiones técnicas dentro de su módulo

Desarrolladores Mid/Junior

  • Desarrollo de features asignadas
  • Code reviews (también!)
  • Aprender y crecer técnicamente
  • Pedir ayuda cuando sea necesario

Métricas del Equipo

Tracked en Planning/Retros

  • Velocity: Story points completados por sprint
  • Cycle time: Tiempo desde "In Progress" hasta "Deployed"
  • Lead time: Tiempo desde creación de ticket hasta deployed
  • Bug rate: Bugs encontrados en producción post-deploy

Objetivos (aprox)

  • Velocity estable entre sprints (± 20%)
  • Cycle time < 5 días para features normales
  • Bug rate < 10% de tickets deployados

Nota: Estas métricas son para mejorar el proceso, no para evaluar desarrolladores individuales.


Mejora Continua

Documentación

Cuando encuentres algo no documentado: 1. Documéntalo tú mismo (PR a /docs) 2. O crea ticket para que alguien más lo documente

Tech Debt

  • Dedicar ~20% del tiempo de sprint a tech debt
  • Proponer tech debt en Tech Sync
  • Tech Lead prioriza qué tech debt abordar

Postmortems

Para incidentes P0/P1 en producción: 1. Resolver el incidente primero 2. Escribir postmortem (template en GitHub) 3. Identificar root cause 4. Definir action items para prevenir recurrencia 5. Presentar en próxima retro


Ver también: - Guía de Desarrollo - Pull Requests - Estándares de Código