# Cambios y Actualizaciones - Fase 1 Ajustada **Fecha:** 2025-11-17 **Versión:** 2.0.0 **Estado:** ✅ Completo - Listo para revisión --- ## 📢 Resumen de Cambios Basado en el feedback del usuario sobre la importancia de **RRHH y asistencias** para obra, se realizaron los siguientes ajustes al roadmap inicial: ### Cambio Principal: RRHH Movido a Fase 1 **Antes:** - Fase 1: 6 épicas | 14 semanas | $150,000 MXN | 280 SP - RRHH estaba en Fase 2 **Después:** - Fase 1: **7 épicas** | **16 semanas** | **$175,000 MXN** | **330 SP** - RRHH incluido en Fase 1 como **épica MAI-006** (Prioridad P0) --- ## 🎯 Justificación del Cambio ### Por qué RRHH debe estar en Fase 1: 1. **Costeo de Mano de Obra es Crítico** - Necesario para calcular costos reales vs presupuesto - Sin RRHH, los reportes de costos están incompletos 2. **Cumplimiento Legal desde Día 1** - IMSS: Afiliación obligatoria desde el primer día de trabajo - INFONAVIT: Aportaciones patronales del 5% mensuales - Sanciones por incumplimiento son severas 3. **Control de Personal en Obra** - Asistencia biométrica evita "aviadores" (trabajadores fantasma) - GPS valida que el personal esté realmente en obra - Fundamental para productividad y seguridad 4. **Sinergia con App Móvil** - La app ya se usa para captura de avances (MAI-005) - Agregar asistencia biométrica aprovecha el mismo dispositivo - Residentes de obra usan 1 sola app para todo --- ## 📁 Documentación Generada (Nueva y Actualizada) ### Documentos Nuevos ⭐ | Archivo | Descripción | Tamaño | |---------|-------------|--------| | **[ROADMAP-DETALLADO.md](./ROADMAP-DETALLADO.md)** | Roadmap completo con 11 sprints detallados | ~30 KB | | **[MAI-007-rrhh-asistencias/_MAP.md](./MAI-007-rrhh-asistencias/_MAP.md)** | Épica completa de RRHH | ~15 KB | | **[CAMBIOS-Y-ACTUALIZACIONES.md](./CAMBIOS-Y-ACTUALIZACIONES.md)** | Este documento | ~8 KB | ### Documentos Actualizados 🔄 | Archivo | Cambios | |---------|---------| | **[README.md](./README.md)** | Actualizado a 7 épicas, presupuesto $175K, 16 semanas | | **[_MAP.md](./_MAP.md)** | Tabla de épicas actualizada, nuevo total de SP | | **[RESUMEN-EJECUTIVO.md](./RESUMEN-EJECUTIVO.md)** | Pendiente de actualización | --- ## 🗓️ Roadmap Ajustado - Fase 1 ### Sprints Overview | Sprint | Semanas | Épica | Entregable Principal | |--------|---------|-------|----------------------| | **Sprint 0** | 1 | Migración | Infraestructura base desde GAMILIT | | **Sprint 1** | 2-3 | MAI-001 | Autenticación + Multi-tenancy | | **Sprint 2** | 4-5 | MAI-002 | Gestión de proyectos | | **Sprint 3-4** | 6-8 | MAI-003 | Presupuestos y costos | | **Sprint 5-6** | 9-10.5 | MAI-004 | Compras e inventarios | | **Sprint 7-8** | 11-13 | MAI-005 | Control de obra + App móvil v1 | | **Sprint 9-10** | 13.5-16 | **MAI-006 ⭐** | **RRHH + Asistencia biométrica + IMSS/INFONAVIT** | | **Sprint 11** | 16-17 | MAI-007 | Reportes y analytics | **Total:** 16 semanas | 11 sprints | $175,000 MXN --- ## 📱 Especificaciones de App Móvil (MAI-006) ### Funcionalidades Principales #### 1. Asistencia con Biométrico ⭐⭐ **Métodos de registro:** - **Huella dactilar** (react-native-biometrics) - **Reconocimiento facial** (react-native-camera) - **QR Code** (react-native-qrcode-scanner) - **Lista manual** (fallback) **Validaciones automáticas:** - ✅ GPS: Empleado dentro del radio de la obra (100m) - ✅ Horario: Dentro de jornada laboral (6am-8pm) - ✅ Estado: Empleado activo y asignado a la obra - ✅ Duplicados: No permitir doble check-in #### 2. Modo Offline - Base de datos local (expo-sqlite) - Cola de hasta 500 registros - Sincronización automática al reconectar - Cache de empleados y templates biométricos #### 3. Flujo de Usuario ``` 1. Residente abre app 2. Selecciona obra activa 3. Modo "Check-in" o "Check-out" 4. Opciones: a) Escanear QR del empleado b) Buscar en lista c) Captura biométrica 5. Sistema valida (GPS, horario, estado) 6. Captura foto opcional 7. Registra asistencia (online o cola) 8. Confirmación con vibración/sonido ``` --- ## 🔌 Integraciones Externas ### 1. IMSS (Instituto Mexicano del Seguro Social) **API:** SOAP/REST **Autenticación:** Certificado digital (.cer + .key) **Funcionalidades:** - Alta/baja/modificación de trabajadores - Generación de archivos SUA (Sistema Único de Autodeterminación) - Consulta de vigencia de derechos - Cálculo de cuotas obrero-patronales **Endpoints implementados:** ``` POST /api/imss/afiliacion/alta POST /api/imss/afiliacion/baja POST /api/imss/afiliacion/modificacion POST /api/imss/sua/generar GET /api/imss/vigencia/:nss ``` --- ### 2. INFONAVIT **API:** REST **Autenticación:** OAuth 2.0 + API Key **Funcionalidades:** - Registro patronal - Cálculo de aportaciones (5% del salario base) - Generación de archivo de pago - Consulta de trabajadores acreditados (con crédito INFONAVIT) - Descuentos de crédito **Endpoints implementados:** ``` POST /api/infonavit/patron/registro POST /api/infonavit/aportaciones/calcular POST /api/infonavit/aportaciones/generar-archivo GET /api/infonavit/trabajadores/acreditados/:rfc POST /api/infonavit/descuentos/aplicar ``` **Cálculo de aportación:** ```javascript const aportacionMensual = salarioBaseCotizacion * diasTrabajados * 0.05; ``` --- ## 📊 Comparación Antes vs Después | Métrica | Versión 1.0 (Antes) | Versión 2.0 (Después) | Diferencia | |---------|---------------------|----------------------|------------| | **Épicas** | 6 | 7 | +1 (RRHH) | | **Presupuesto** | $150,000 | $175,000 | +$25,000 | | **Story Points** | 280 SP | 330 SP | +50 SP | | **Duración** | 14 semanas | 16 semanas | +2 semanas | | **Integraciones** | 0 | 2 (IMSS, INFONAVIT) | +2 | | **App móvil features** | Avances + Incidencias | + Asistencia biométrica | +1 módulo | --- ## 🎯 Épicas de Fase 1 (Final) | # | Épica | Nombre | SP | Presupuesto | Prioridad | |---|-------|--------|----|-----------:|-----------| | 1 | MAI-001 | Fundamentos | 50 | $25,000 | P0 - Crítico | | 2 | MAI-002 | Proyectos y Estructura | 45 | $25,000 | P0 - Crítico | | 3 | MAI-003 | Presupuestos y Costos | 50 | $25,000 | P1 - Alto | | 4 | MAI-004 | Compras e Inventarios | 50 | $25,000 | P1 - Alto | | 5 | MAI-005 | Control de Obra y Avances | 45 | $25,000 | P0 - Crítico | | 6 | **MAI-006 ⭐** | **RRHH, Asistencias y Nómina** | **50** | **$25,000** | **P0 - Crítico** | | 7 | MAI-007 | Reportes y Analytics | 40 | $25,000 | P1 - Alto | **Total:** 330 SP | $175,000 MXN | 16 semanas --- ## 🚀 Hitos Críticos (Actualizados) | Semana | Hito | Entregable | |--------|------|------------| | **Semana 1** | Sprint 0 completado | Infraestructura base migrada | | **Semana 3** | MAI-001 completado | Auth + Multi-tenancy | | **Semana 5** | MAI-002 completado | Gestión de proyectos | | **Semana 8** | MAI-003 completado | Presupuestos y costos | | **Semana 10.5** | MAI-004 completado | Compras e inventarios | | **Semana 13** | MAI-005 completado | Control de obra + App móvil v1 | | **Semana 16** | **MAI-006 completado ⭐** | **RRHH + Asistencia biométrica + IMSS/INFONAVIT** | | **Semana 17** | MAI-007 completado | Reportes y analytics | | **Semana 17** | **🎉 Fase 1 completa** | **Deploy a staging** | --- ## 📋 Stack Tecnológico de App Móvil ### Dependencias Principales ```json { "dependencies": { "react": "18.2.0", "react-native": "0.73.0", "expo": "~50.0.0", "expo-sqlite": "~13.0.0", "expo-camera": "~14.0.0", "@react-native-community/geolocation": "^3.1.0", "react-native-biometrics": "^3.0.0", "react-native-qrcode-scanner": "^1.5.5", "react-native-maps": "^1.10.0", "zustand": "^4.4.0", "axios": "^1.6.0", "@tanstack/react-query": "^5.0.0" } } ``` ### Features de la App | Feature | Biblioteca | Propósito | |---------|-----------|-----------| | **Biométrico (huella)** | react-native-biometrics | Autenticación y asistencia | | **Biométrico (facial)** | expo-camera + ML | Reconocimiento facial | | **QR Scanner** | react-native-qrcode-scanner | Escanear QR de empleados | | **GPS** | @react-native-community/geolocation | Validar ubicación en obra | | **Maps** | react-native-maps | Visualizar radio de obra | | **Database Local** | expo-sqlite | Modo offline | | **State Management** | Zustand | Estado global | | **API Calls** | axios + react-query | Comunicación con backend | --- ## 🎓 Capacitación Adicional Requerida ### Para Equipo de Desarrollo | Tema | Duración | Cuándo | Quién | |------|----------|--------|-------| | **React Native Fundamentals** | 8 horas | Sprint 7 | Mobile developer | | **Biometrics en React Native** | 4 horas | Sprint 9 | Mobile developer | | **Integración IMSS/INFONAVIT** | 4 horas | Sprint 9 | Backend lead | | **Generación de archivos SUA** | 2 horas | Sprint 9 | Backend team | | **Testing de app móvil** | 4 horas | Sprint 9 | QA engineer | --- ## 🚨 Riesgos Específicos de MAI-006 | Riesgo | Probabilidad | Impacto | Mitigación | |--------|-------------|---------|------------| | **Integración IMSS/INFONAVIT compleja** | Alta | Alto | Iniciar pruebas con sandbox desde Sprint 5 | | **Certificados IMSS difíciles de obtener** | Media | Alto | Solicitar certificados al inicio del proyecto | | **APIs gubernamentales inestables** | Media | Medio | Implementar retry logic y fallbacks | | **Biométrico no funciona en todos devices** | Media | Medio | Fallback a QR + foto | | **GPS impreciso en algunas obras** | Alta | Bajo | Radio amplio (100m), permitir override | | **Sincronización offline falla** | Media | Alto | Cola persistente con retry automático | --- ## ✅ Checklist de Implementación MAI-006 ### Backend - [ ] CRUD de empleados, cuadrillas, oficios - [ ] API de registro de asistencia - [ ] Validaciones (GPS, horario, estado) - [ ] Servicio de cálculo de costeo de mano de obra - [ ] Integración IMSS (sandbox → producción) - [ ] Integración INFONAVIT (sandbox → producción) - [ ] Generación de archivos SUA - [ ] Exportación de reportes ### App Móvil - [ ] Login y autenticación - [ ] Selector de obra - [ ] Scanner QR - [ ] Captura biométrica (huella) - [ ] Captura biométrica (facial) - opcional - [ ] GPS validation - [ ] Base de datos local (SQLite) - [ ] Cola de sincronización offline - [ ] UI/UX optimizada para campo ### Frontend Web - [ ] Gestión de empleados - [ ] Dashboard de asistencias - [ ] Reportes de costeo - [ ] Exportación IMSS/INFONAVIT - [ ] Logs de sincronización ### Database - [ ] Schemas: hr, attendance, payroll - [ ] Tablas de empleados, asistencia, costeo - [ ] Funciones de cálculo - [ ] Triggers de validación - [ ] Índices optimizados ### Testing - [ ] Unit tests >80% coverage - [ ] E2E tests de flujo completo - [ ] Integration tests con IMSS/INFONAVIT (sandbox) - [ ] Tests de app móvil (offline, GPS, biométrico) ### Deployment - [ ] Variables de entorno (API keys, certificados) - [ ] Secrets management (certificados IMSS encrypted) - [ ] Deploy de app a TestFlight (iOS) - [ ] Deploy de app a Google Play (Android) - [ ] Configuración de monitoreo - [ ] Documentación de integración --- ## 📞 Próximos Pasos Inmediatos ### Esta Semana - [ ] **Aprobar roadmap ajustado** (7 épicas, 16 semanas, $175K) - [ ] Confirmar que RRHH en Fase 1 es correcto - [ ] Validar presupuesto adicional de $25,000 MXN - [ ] Revisar especificaciones de app móvil ### Próxima Semana - [ ] Completar documentos RF, ET, US de MAI-006 - [ ] Iniciar gestión de certificados IMSS - [ ] Solicitar acceso a APIs sandbox de IMSS/INFONAVIT - [ ] Asignar mobile developer al equipo ### Sprint 0 (Semana 1) - [ ] Setup de repositorio - [ ] Migración de componentes GAMILIT - [ ] Configurar proyecto de app móvil (React Native + Expo) --- ## 💡 Recomendaciones Finales ### Priorizar Integraciones IMSS/INFONAVIT - **Iniciar gestión de certificados desde Sprint 1** - Proceso puede tomar 2-4 semanas - Solicitar acceso a sandboxes inmediatamente ### App Móvil Simplificada al Inicio - **Sprint 7-8:** App con avances + incidencias (básico) - **Sprint 9-10:** Agregar asistencia biométrica - No intentar todo en un solo sprint ### Testing Exhaustivo de Modo Offline - **Crítico:** La obra no siempre tiene buena conexión - Probar escenarios: - 100+ registros en cola - Conflictos de sincronización - Batería baja del dispositivo ### UX Simple para Residentes - **Target:** Residentes no son técnicos - UI debe ser intuitiva, con iconos grandes - Flujo de 3-4 taps máximo para registrar asistencia - Confirmaciones visuales y hápticas --- ## 📊 Métricas de Éxito (Actualizadas) | KPI | Target | Medición | |-----|--------|----------| | **Tiempo de desarrollo Fase 1** | ≤ 16 semanas | Tracking semanal | | **Presupuesto Fase 1** | $175,000 ±5% | Tracking financiero | | **Reducción vs desde cero** | ≥ 25% | Comparación post-mortem | | **Código reutilizado de GAMILIT** | ≥ 50% | Análisis de código | | **Coverage de tests** | ≥ 80% | CI/CD reports | | **Bugs críticos en staging** | 0 | Issue tracker | | **Integración IMSS funcionando** | ✅ | Tests de integración | | **Integración INFONAVIT funcionando** | ✅ | Tests de integración | | **App móvil en stores** | ✅ | TestFlight + Play Store | --- ## 📚 Documentos de Referencia ### Generados en esta sesión: 1. [ROADMAP-DETALLADO.md](./ROADMAP-DETALLADO.md) - Roadmap completo con 11 sprints 2. [MAI-007-rrhh-asistencias/_MAP.md](./MAI-007-rrhh-asistencias/_MAP.md) - Épica RRHH completa 3. [CAMBIOS-Y-ACTUALIZACIONES.md](./CAMBIOS-Y-ACTUALIZACIONES.md) - Este documento ### Actualizados: 1. [README.md](./README.md) - 7 épicas, $175K 2. [_MAP.md](./_MAP.md) - Tabla de épicas actualizada ### Pendientes de actualizar: 1. [RESUMEN-EJECUTIVO.md](./RESUMEN-EJECUTIVO.md) - Reflejar 7 épicas 2. [ANALISIS-REUTILIZACION-GAMILIT.md](./ANALISIS-REUTILIZACION-GAMILIT.md) - Agregar MAI-006 --- **Generado:** 2025-11-17 **Versión:** 2.0.0 **Autor:** Análisis Técnico **Estado:** ✅ Completo - Listo para aprobación **Próxima acción:** Aprobar roadmap y presupuesto ajustado