erp-construccion/docs/02-definicion-modulos/MAI-006-calidad/_MAP.md

26 KiB
Raw Blame History

_MAP: MAI-006 - Calidad

Épica: MAI-006 Nombre: Calidad Fase: 1 - Alcance Inicial Presupuesto: $25,000 MXN Story Points: 45 SP Estado: 📝 A crear Sprint: Sprint 11-12 (Semanas 16.5-19) Prioridad: P1 Última actualización: 2025-12-06


📋 Propósito

Implementar sistema completo de gestión de calidad en obra con:

  • Inspecciones de calidad con checklists configurables
  • Reportes de no conformidad (RNC) con workflow de resolución
  • Pruebas de laboratorio (concreto, suelos, materiales)
  • Certificaciones y aprobaciones (clientes, supervisores externos)
  • Integración con apps móviles MOB-003 (Supervisor) y MOB-004 (Capataz)
  • Trazabilidad completa por vivienda/frente de obra

Justificación: El control de calidad es crítico para cumplimiento con normativas de construcción, certificación INFONAVIT, y garantía de entrega de viviendas sin defectos. Reduce costos de corrección y rework en postventa.

Reutilización GAMILIT: 10% (concepto básico de checklist, adaptado extensivamente)


📁 Contenido

Requerimientos Funcionales (5)

ID Archivo Título Estado
RF-QUA-001 RF-QUA-001-inspecciones-calidad.md Sistema de Inspecciones de Calidad 📝 A crear
RF-QUA-002 RF-QUA-002-no-conformidades.md Reportes de No Conformidad (RNC) 📝 A crear
RF-QUA-003 RF-QUA-003-pruebas-laboratorio.md Pruebas de Laboratorio 📝 A crear
RF-QUA-004 RF-QUA-004-certificaciones.md Certificaciones y Aprobaciones 📝 A crear
RF-QUA-005 RF-QUA-005-trazabilidad-vivienda.md Trazabilidad de Calidad por Vivienda 📝 A crear

Especificaciones Técnicas (5)

ID Archivo Título RF Estado
ET-QUA-001 ET-QUA-001-modelo-inspecciones.md Modelo de Datos de Inspecciones RF-QUA-001 📝 A crear
ET-QUA-002 ET-QUA-002-workflow-rnc.md Workflow de No Conformidades RF-QUA-002 📝 A crear
ET-QUA-003 ET-QUA-003-integracion-laboratorio.md Integración con Laboratorio RF-QUA-003 📝 A crear
ET-QUA-004 ET-QUA-004-sistema-certificaciones.md Sistema de Certificaciones RF-QUA-004 📝 A crear
ET-QUA-005 ET-QUA-005-integracion-apps-moviles.md Integración MOB-003 y MOB-004 RF-QUA-001, RF-QUA-002 📝 A crear

Historias de Usuario (9)

ID Archivo Título SP Estado
US-QUA-001 US-QUA-001-crear-checklist-inspeccion.md Crear Checklist de Inspección 5 📝 A crear
US-QUA-002 US-QUA-002-realizar-inspeccion-movil.md Realizar Inspección desde App Móvil 8 📝 A crear
US-QUA-003 US-QUA-003-registrar-no-conformidad.md Registrar Reporte de No Conformidad 5 📝 A crear
US-QUA-004 US-QUA-004-workflow-resolucion-rnc.md Workflow de Resolución de RNC 5 📝 A crear
US-QUA-005 US-QUA-005-solicitar-prueba-laboratorio.md Solicitar Prueba de Laboratorio 3 📝 A crear
US-QUA-006 US-QUA-006-registrar-resultados-laboratorio.md Registrar Resultados de Laboratorio 5 📝 A crear
US-QUA-007 US-QUA-007-generar-certificacion.md Generar Certificación de Calidad 5 📝 A crear
US-QUA-008 US-QUA-008-dashboard-calidad.md Dashboard de Calidad y KPIs 5 📝 A crear
US-QUA-009 US-QUA-009-historial-calidad-vivienda.md Historial de Calidad por Vivienda 4 📝 A crear

Total Story Points: 45 SP

Implementación

📊 Inventarios de trazabilidad:

Pruebas

📋 Documentación de testing:


🔗 Referencias


📊 Métricas

Métrica Valor
Presupuesto estimado $25,000 MXN
Presupuesto target $25,000 MXN ±5%
Story Points estimados 45 SP
Duración estimada 2.5 semanas (12.5 días)
Reutilización GAMILIT 10%
Integraciones móviles 2 (MOB-003, MOB-004)
RF a implementar 5/5
ET a implementar 5/5
US a completar 9/9

🎯 Módulos Afectados

Base de Datos

  • Schema: quality
  • Tablas principales:
    • quality_checklists - Plantillas de checklist
    • quality_checklist_items - Items de checklist
    • quality_inspections - Inspecciones realizadas
    • quality_inspection_results - Resultados de inspección
    • quality_non_conformities - Reportes de No Conformidad (RNC)
    • quality_nc_actions - Acciones correctivas/preventivas
    • quality_lab_tests - Pruebas de laboratorio
    • quality_lab_results - Resultados de laboratorio
    • quality_certifications - Certificaciones emitidas
    • quality_approval_history - Historial de aprobaciones
  • Funciones: Cálculo de % cumplimiento, validaciones de inspección
  • ENUMs:
    • inspection_type (structural, finishing, electrical, plumbing, general)
    • inspection_status (pending, in_progress, passed, failed, conditional)
    • nc_severity (critical, major, minor, observation)
    • nc_status (open, in_progress, resolved, verified, closed, rejected)
    • lab_test_type (concrete_compression, soil_compaction, steel_tensile, moisture)
    • certification_type (infonavit, client, internal, regulatory)

Backend

  • Módulo: quality
  • Path: apps/backend/src/modules/quality/
  • Services:
    • ChecklistService - CRUD de checklists
    • InspectionService - Registro y gestión de inspecciones
    • NonConformityService - Gestión de RNC
    • LabTestService - Solicitud y registro de pruebas
    • CertificationService - Emisión de certificaciones
    • QualityAnalyticsService - KPIs y reportes
  • Controllers: QualityController, InspectionController, LabTestController
  • Middlewares: QualityAuthGuard, ProjectAccessGuard

Frontend Web

  • Features: quality, inspections, lab-tests, certifications
  • Path: apps/frontend/src/features/quality/
  • Componentes:
    • ChecklistBuilder - Constructor de checklists
    • InspectionForm - Formulario de inspección
    • NCReportForm - Reporte de no conformidad
    • NCWorkflow - Estado y workflow de RNC
    • LabTestRequest - Solicitud de prueba
    • LabResultsViewer - Visualizador de resultados
    • CertificationGenerator - Generador de certificaciones
    • QualityDashboard - Dashboard con KPIs
    • QualityHistory - Historial por vivienda
  • Stores: qualityStore, inspectionStore, ncStore, labTestStore

App Móvil (React Native)

  • Integración con MOB-003 (Supervisor de Obra):
    • Realizar inspecciones con checklist offline
    • Registrar RNC con fotos geoetiquetadas
    • Solicitar pruebas de laboratorio desde campo
    • Aprobar/rechazar avances con criterios de calidad
  • Integración con MOB-004 (Capataz):
    • Consultar checklists pendientes
    • Ver RNC de su cuadrilla
    • Marcar resolución de RNC
  • Features compartidas:
    • Scanner QR de elementos/viviendas
    • Captura de fotos con marcas de calidad
    • Modo offline con sincronización
    • Notificaciones de RNC urgentes

🔄 Flujo de Trabajo de Calidad

1. Inspección de Calidad

flowchart TD
    A[Ingeniero crea checklist] --> B[Asigna inspección a Supervisor]
    B --> C{Supervisor en campo}
    C -->|App MOB-003| D[Escanea QR de vivienda/área]
    D --> E[Completa checklist item por item]
    E --> F[Toma fotos de evidencia]
    F --> G{¿Todos items OK?}
    G -->|Sí| H[Marca inspección aprobada]
    G -->|No| I[Genera RNC automático]
    H --> J[Sincroniza a servidor]
    I --> J
    J --> K[Notifica a Residente/Ingeniero]

2. Reporte de No Conformidad (RNC)

flowchart TD
    A[Detección de NC] --> B[Registro de RNC]
    B --> C[Clasificación de severidad]
    C --> D{Severidad}
    D -->|Crítica| E[Notificación inmediata]
    D -->|Mayor/Menor| F[Workflow normal]
    E --> G[Asignación a responsable]
    F --> G
    G --> H[Análisis de causa raíz]
    H --> I[Plan de acción correctiva]
    I --> J[Ejecución de corrección]
    J --> K[Verificación de resolución]
    K --> L{¿Aceptada?}
    L -->|Sí| M[Cierre de RNC]
    L -->|No| N[Re-trabajo]
    N --> J
    M --> O[Actualización de KPIs]

3. Pruebas de Laboratorio

flowchart TD
    A[Solicitud de prueba] --> B[Toma de muestra en campo]
    B --> C{¿Laboratorio interno?}
    C -->|Sí| D[Registro en sistema]
    C -->|No| E[Envío a laboratorio externo]
    D --> F[Ejecución de prueba]
    E --> G[Espera de resultados]
    F --> H[Captura de resultados]
    G --> H
    H --> I{¿Cumple especificación?}
    I -->|Sí| J[Aprobación de material/proceso]
    I -->|No| K[Generación de RNC]
    J --> L[Actualización de trazabilidad]
    K --> M[Workflow de corrección]

📱 Funcionalidades en Apps Móviles

MOB-003: App Supervisor de Obra

Funcionalidades de Calidad:

  1. Inspecciones Digitales

    • Lista de inspecciones pendientes
    • Checklist interactivo con checkbox/radio/texto
    • Captura de fotos con anotaciones
    • Geolocalización automática
    • Modo offline completo
  2. Registro de RNC

    • Formulario rápido de RNC
    • Clasificación de severidad con colores
    • Asignación de responsable
    • Adjuntar fotos/videos
    • Estado en tiempo real
  3. Validación de Avances

    • Criterios de calidad antes de aprobar avance
    • Checklist de pre-entrega
    • Bloqueo de avance si hay RNC críticas

MOB-004: App Capataz

Funcionalidades de Calidad:

  1. Consulta de Estándares

    • Ver checklists de calidad por actividad
    • Especificaciones técnicas
    • Fotos de referencia (buenas prácticas)
  2. Gestión de RNC de Cuadrilla

    • Ver RNC asignadas a su cuadrilla
    • Marcar acciones completadas
    • Solicitar re-inspección
    • Comunicación con Supervisor
  3. Auto-inspección

    • Checklist simplificado antes de solicitar inspección oficial
    • Reducir rechazo por errores obvios

📋 Tipos de Inspecciones

Inspecciones Estructurales

Tipo Frecuencia Checklist Típico
Cimentación Por vivienda - Profundidad excavación
- Nivel de desplante
- Resistencia concreto
- Armado de acero
Estructura Por nivel - Verticalidad muros
- Niveles y plomadas
- Resistencia elementos
- Juntas constructivas
Losa Por losa - Espesor
- Armado
- Resistencia concreto
- Nivelación

Inspecciones de Acabados

Tipo Frecuencia Checklist Típico
Instalaciones Por vivienda - Instalación eléctrica certificada
- Instalación hidráulica sin fugas
- Gas con dictamen
- Drenaje funcional
Acabados Por vivienda - Aplanados sin fisuras
- Pisos nivelados
- Pintura uniforme
- Cancelería funcional
Pre-entrega Por vivienda - Limpieza general
- Servicios funcionando
- Llaves y protecciones
- Manual de usuario

Inspecciones de Cumplimiento

Tipo Frecuencia Responsable
INFONAVIT Por proyecto Verificador externo
Protección Civil Por etapa Autoridad municipal
Desarrollos Urbanos Al finalizar Municipio
Cliente Final Pre-escritura Derechohabiente + Notario

🧪 Pruebas de Laboratorio

Pruebas de Concreto

Prueba Norma Frecuencia Especificación
Resistencia a compresión NMX-C-083 1 cilindro/10m³ f'c ≥ especificado (150, 200, 250 kg/cm²)
Revenimiento NMX-C-156 Por revoltura 10±2 cm típico
Temperatura NMX-C-435 Por colado ≤ 32°C

Pruebas de Suelos

Prueba Norma Frecuencia Especificación
Compactación Proctor ASTM D698 Por capa 95% PM mínimo
Capacidad de carga ASTM D1194 Por lote Según proyecto estructural
Granulometría ASTM C136 Por banco Según especificación

Pruebas de Acero

Prueba Norma Frecuencia Especificación
Tensión NMX-B-172 Por lote fy ≥ 4200 kg/cm²
Doblado NMX-B-172 Por lote Sin fisuras

📈 KPIs de Calidad

Indicadores Principales

KPI Fórmula Meta Frecuencia
% Cumplimiento Inspecciones (Inspecciones aprobadas / Total inspecciones) × 100 ≥ 90% Semanal
Índice de No Conformidad RNC / Viviendas inspeccionadas ≤ 2.0 Mensual
Tiempo Resolución RNC Promedio días (apertura → cierre) ≤ 7 días Mensual
% RNC Críticas RNC críticas / Total RNC × 100 ≤ 10% Mensual
% Pruebas Aprobadas Pruebas aprobadas / Total pruebas × 100 ≥ 95% Mensual
Tasa de Re-trabajo Viviendas con correcciones / Total viviendas × 100 ≤ 15% Mensual

Dashboard de Calidad

Vista Director/Ingeniero:

┌─────────────────────────────────────────────────────────┐
│  DASHBOARD DE CALIDAD - Fraccionamiento Los Pinos       │
│  Periodo: Noviembre 2025                                │
├─────────────────────────────────────────────────────────┤
│                                                          │
│  📊 KPIs Principales                                    │
│  ┌──────────────┬──────────────┬──────────────┐        │
│  │ Cumplimiento │ RNC Abiertas │ Tiempo Resol │        │
│  │    92.5%     │      18      │   5.2 días   │        │
│  │    ✅ Meta   │    ⚠️ Alto   │   ✅ Meta    │        │
│  └──────────────┴──────────────┴──────────────┘        │
│                                                          │
│  📋 Inspecciones (Última semana)                        │
│  • Realizadas: 45 / 50 programadas (90%)                │
│  • Aprobadas: 38 (84%)                                  │
│  • Rechazadas: 7 (16%)                                  │
│  • Pendientes: 5                                        │
│                                                          │
│  🚨 RNC por Severidad                                   │
│  • Críticas: 2 (URGENTE)                                │
│  • Mayores: 8                                           │
│  • Menores: 8                                           │
│                                                          │
│  🧪 Pruebas de Laboratorio                              │
│  • Pendientes: 3                                        │
│  • En proceso: 5                                        │
│  • Aprobadas: 28 (93%)                                  │
│  • Rechazadas: 2 (7%)                                   │
│                                                          │
│  📈 Tendencia Mensual                                   │
│  • RNC: ↓ -15% vs mes anterior                         │
│  • Cumplimiento: ↑ +3% vs mes anterior                 │
│                                                          │
└─────────────────────────────────────────────────────────┘

🔌 Integraciones

Con Módulo MAI-005 (Control de Obra)

Integración: Bloqueo de avances si hay RNC críticas pendientes

// Validación al registrar avance
async validateProgressQuality(conceptId: string, unitId: string) {
  const criticalNCs = await this.ncService.findCriticalNCsByUnit(unitId, conceptId);

  if (criticalNCs.length > 0) {
    throw new QualityBlockException(
      `No se puede registrar avance. Existen ${criticalNCs.length} RNC críticas pendientes.`,
      criticalNCs
    );
  }

  const requiredInspection = await this.inspectionService.isInspectionRequired(conceptId);

  if (requiredInspection && !requiredInspection.passed) {
    throw new QualityBlockException(
      `Se requiere inspección de calidad aprobada antes de registrar avance.`
    );
  }

  return { valid: true };
}

Con Módulo MAI-009 (Postventa)

Integración: Historial de calidad de vivienda pasa a postventa

  • Todas las inspecciones realizadas
  • RNC generadas y resueltas
  • Pruebas de laboratorio
  • Certificaciones emitidas
  • Checklist de pre-entrega

Con Apps Móviles (MOB-003, MOB-004)

APIs Clave:

// Endpoints para app móvil
GET    /api/mobile/quality/inspections/pending       // Inspecciones pendientes
GET    /api/mobile/quality/checklists/:id            // Detalle de checklist
POST   /api/mobile/quality/inspections/:id/complete  // Completar inspección
POST   /api/mobile/quality/nc/create                 // Crear RNC
PATCH  /api/mobile/quality/nc/:id/resolve            // Marcar resolución
GET    /api/mobile/quality/nc/assigned               // RNC asignadas (MOB-004)
POST   /api/mobile/quality/photos/upload             // Upload fotos

Sincronización Offline:

  • Cache de checklists asignados (actualizado diariamente)
  • Queue de inspecciones completadas
  • Queue de RNC registradas
  • Compresión de fotos antes de sincronizar
  • Retry automático con backoff exponencial

🚨 Casos de Uso Críticos

Caso 1: Inspección de Cimentación con RNC Crítica

Escenario:

  1. Supervisor en campo para inspección de cimentación de lote 45
  2. Detecta que profundidad de desplante es 20cm menor a especificación
  3. Genera RNC crítica desde app MOB-003
  4. Sistema notifica inmediatamente a Ingeniero y Residente
  5. Se bloquea automáticamente siguiente actividad (armado) en ese lote
  6. Ingeniero analiza y determina acción: profundizar excavación
  7. Capataz ejecuta corrección
  8. Supervisor re-inspecciona y aprueba
  9. Se desbloquea actividad de armado

Flujo en Sistema:

MOB-003 → [RNC Crítica] → Backend → [Notificación Push] → Ingeniero
                       → [Bloqueo Avance] → MAI-005
Ingeniero → [Plan Acción] → RNC → Capataz (MOB-004)
Capataz → [Marcar Resuelto] → RNC
Supervisor → [Re-inspección] → [Aprobar] → [Desbloqueo] → MAI-005

Caso 2: Prueba de Resistencia de Concreto Rechazada

Escenario:

  1. Se colaron 20 viviendas con concreto del mismo proveedor
  2. Prueba de cilindro a 28 días: 180 kg/cm² (especificación: 200 kg/cm²)
  3. Sistema genera RNC automática
  4. Se bloquean avances de las 20 viviendas afectadas
  5. Se solicita estudio estructural
  6. Ingeniero determina: refuerzo adicional en elementos
  7. Se ejecuta refuerzo
  8. Se solicita nueva prueba de concreto de refuerzo
  9. Nueva prueba: 220 kg/cm² - APROBADA
  10. Se cierran RNC y se desbloquean avances

Caso 3: Pre-entrega a INFONAVIT

Escenario:

  1. 50 viviendas listas para entrega
  2. Sistema genera checklist de pre-entrega por vivienda
  3. Supervisor realiza inspección final con MOB-003
  4. De 50 viviendas:
    • 45 aprobadas
    • 5 con observaciones menores (detalles de pintura)
  5. Se generan 5 RNC menores
  6. Capataz ejecuta correcciones en 2 días
  7. Supervisor re-inspecciona y aprueba
  8. Sistema genera certificación de calidad por vivienda
  9. Certificaciones se adjuntan a expediente de escrituración

🧪 Testing

Unit Tests (Backend)

describe('InspectionService', () => {
  it('should create inspection from checklist template')
  it('should calculate pass/fail based on critical items')
  it('should block progress when critical NC exists')
  it('should notify stakeholders on NC creation')
})

describe('NonConformityService', () => {
  it('should classify NC by severity automatically')
  it('should create workflow states correctly')
  it('should calculate resolution time SLA')
  it('should prevent closure without verification')
})

describe('LabTestService', () => {
  it('should validate test results against specifications')
  it('should generate NC when test fails')
  it('should link test to affected units')
})

E2E Tests (App Móvil)

describe('Quality Inspection E2E', () => {
  it('should complete full inspection flow offline')
  it('should create NC with photos from field')
  it('should sync inspection results when online')
  it('should show pending inspections by priority')
})

Integration Tests

describe('Quality-Progress Integration', () => {
  it('should block progress when critical NC exists')
  it('should require inspection before progress')
  it('should unlock progress after NC resolution')
})

🚨 Riesgos Específicos

Riesgo Probabilidad Impacto Mitigación
Usuarios omiten inspecciones Alta Alto Validación automática, bloqueos de avance
RNC no se resuelven a tiempo Media Alto SLA automáticos, alertas escalonadas
Pruebas de laboratorio tardadas Alta Medio Buffer de tiempo, laboratorio interno
Rechazo masivo en inspección final Media Muy Alto Inspecciones intermedias, auto-inspección
Pérdida de trazabilidad Baja Alto Blockchain de inspecciones (futuro)

📋 Checklist de Implementación

Backend

  • Modelo de datos de checklists configurables
  • CRUD de inspecciones con validaciones
  • Workflow de estados de RNC
  • Servicio de notificaciones por severidad
  • Integración con MAI-005 (bloqueos de avance)
  • API para apps móviles (MOB-003, MOB-004)
  • Sistema de pruebas de laboratorio
  • Generación de certificaciones PDF
  • Dashboard con KPIs de calidad

App Móvil (MOB-003, MOB-004)

  • Sincronización de checklists offline
  • Formulario de inspección con checklist interactivo
  • Captura de fotos con anotaciones
  • Registro rápido de RNC
  • Scanner QR de viviendas/elementos
  • Modo offline completo
  • Sincronización de inspecciones y RNC
  • Notificaciones push de RNC urgentes

Frontend Web

  • Constructor de checklists (drag & drop)
  • Vista de inspecciones con filtros
  • Dashboard de calidad con gráficos
  • Workflow visual de RNC (Kanban)
  • Gestión de pruebas de laboratorio
  • Generador de certificaciones
  • Historial de calidad por vivienda
  • Reportes exportables (PDF/Excel)

Database

  • Schemas y tablas
  • Funciones de validación y cálculo
  • Triggers de notificación
  • Índices optimizados
  • Views de reportes

Testing

  • Unit tests >80% coverage
  • E2E tests de flujos completos
  • Integration tests con MAI-005
  • Tests de app móvil (offline, sync)
  • Load tests (1000 inspecciones/día)

Despliegue

  • Variables de entorno
  • Configuración de notificaciones
  • Integración con storage de fotos
  • Monitoreo de SLA de RNC
  • Documentación de uso

💡 Lessons Learned (a documentar post-implementación)

  1. Checklists deben ser flexibles: No todas las obras tienen los mismos criterios
  2. Notificaciones críticas no deben saturar: Solo lo urgente es urgente
  3. Modo offline es obligatorio: Campo rara vez tiene buena conexión
  4. Fotos son evidencia legal: Almacenar con metadatos completos (GPS, timestamp, hash)

🎯 Siguiente Paso

Crear documentación de requerimientos funcionales (RF-QUA-001 a RF-QUA-005) y especificaciones técnicas (ET-QUA-001 a ET-QUA-005).

Prioridad de documentación:

  1. RF-QUA-001: Sistema de Inspecciones (core del módulo)
  2. RF-QUA-002: Reportes de No Conformidad (crítico para workflow)
  3. ET-QUA-005: Integración con apps móviles (alta dependencia)

Generado: 2025-12-06 Mantenedores: @tech-lead @backend-team @mobile-team @quality-team Estado: 📝 A crear Prioridad: P1 - Crítico para certificación y cumplimiento