erp-core/docs/02-definicion-modulos/DEPENDENCIAS-MODULOS.md

30 KiB

DEPENDENCIAS ENTRE MÓDULOS

Fecha: 2025-12-05 Versión: 1.1 Basado en: LISTA-MODULOS-ERP-GENERICO.md + ALCANCE-POR-MODULO.md + DDL-SPEC SaaS


Introducción

Este documento define las dependencias entre los 18 módulos del ERP Genérico (14 core + 4 SaaS) y establece el orden óptimo de implementación.

Objetivo:

  • Identificar qué módulos dependen de otros
  • Establecer orden de implementación que minimice bloqueos
  • Planificar sprints de desarrollo
  • Identificar riesgos de dependencias circulares

Metodología:

  • Dependencia fuerte: Módulo B NO puede funcionar sin Módulo A (bloquea implementación)
  • Dependencia débil: Módulo B puede funcionar sin Módulo A, pero con funcionalidad limitada
  • Dependencia opcional: Módulo B puede usar Módulo A si está disponible, pero no es necesario

Matriz de Dependencias

Tabla Completa de Dependencias

Módulo Código Depende de (Fuerte) Depende de (Débil) Requerido por (Fuerte) Nivel de Implementación
Fundamentos MGN-001 - - TODOS (MGN-002 a MGN-014) Nivel 0
Empresas MGN-002 MGN-001 - MGN-004, MGN-005, MGN-006, MGN-007, MGN-010 Nivel 1
Catálogos MGN-003 MGN-001, MGN-002 - MGN-004, MGN-005, MGN-006, MGN-007, MGN-009 Nivel 1
Mensajería MGN-014 MGN-001 - MGN-013 Nivel 1
Financiero MGN-004 MGN-001, MGN-002, MGN-003 - MGN-006, MGN-007, MGN-008, MGN-012 Nivel 2
Inventario MGN-005 MGN-001, MGN-002, MGN-003 - MGN-006, MGN-007 Nivel 2
RRHH MGN-010 MGN-001, MGN-002, MGN-003 - MGN-011 Nivel 2
Compras MGN-006 MGN-004, MGN-005 - MGN-008 Nivel 3
Ventas MGN-007 MGN-004, MGN-005 - MGN-008, MGN-009, MGN-013 Nivel 3
Analítica MGN-008 MGN-004, MGN-006, MGN-007 - MGN-011, MGN-012 Nivel 4
CRM MGN-009 MGN-003, MGN-007 MGN-014 - Nivel 4
Portal MGN-013 MGN-001, MGN-007, MGN-014 - - Nivel 4
Proyectos MGN-011 MGN-008 MGN-010 - Nivel 5
Reportes MGN-012 MGN-004, MGN-008 - - Nivel 5
Billing SaaS MGN-015 MGN-001, MGN-002 (Tenants) - MGN-016, MGN-017, MGN-018 Nivel 6
Payments POS MGN-016 MGN-001, MGN-004, MGN-015 - - Nivel 7
WhatsApp Business MGN-017 MGN-001, MGN-003, MGN-015 - MGN-018 Nivel 7
AI Agents MGN-018 MGN-001, MGN-003, MGN-017 - - Nivel 8

Visualización de Niveles de Implementación

Nivel 0 (Base):
┌─────────────┐
│  MGN-001    │ ← INICIO OBLIGATORIO
│ Fundamentos │
└─────────────┘

Nivel 1 (Core Base):
┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  MGN-002    │  │  MGN-003    │  │  MGN-014    │
│  Empresas   │  │  Catálogos  │  │ Mensajería  │
└─────────────┘  └─────────────┘  └─────────────┘

Nivel 2 (Módulos Transaccionales Base):
┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  MGN-004    │  │  MGN-005    │  │  MGN-010    │
│ Financiero  │  │ Inventario  │  │    RRHH     │
└─────────────┘  └─────────────┘  └─────────────┘

Nivel 3 (Compras y Ventas):
┌─────────────┐  ┌─────────────┐
│  MGN-006    │  │  MGN-007    │
│  Compras    │  │   Ventas    │
└─────────────┘  └─────────────┘

Nivel 4 (Analítica y Complementarios):
┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  MGN-008    │  │  MGN-009    │  │  MGN-013    │
│  Analítica  │  │    CRM      │  │   Portal    │
└─────────────┘  └─────────────┘  └─────────────┘

Nivel 5 (Módulos Avanzados):
┌─────────────┐  ┌─────────────┐
│  MGN-011    │  │  MGN-012    │
│  Proyectos  │  │  Reportes   │
└─────────────┘  └─────────────┘

Nivel 6 (SaaS Platform - Base):
┌─────────────┐
│  MGN-015    │
│ Billing SaaS│
└─────────────┘

Nivel 7 (SaaS Platform - Integraciones):
┌─────────────┐  ┌─────────────┐
│  MGN-016    │  │  MGN-017    │
│ Payments POS│  │  WhatsApp   │
└─────────────┘  └─────────────┘

Nivel 8 (SaaS Platform - AI):
┌─────────────┐
│  MGN-018    │
│  AI Agents  │
└─────────────┘

Detalle de Dependencias por Módulo

MGN-001: Fundamentos

Nivel: 0 (Base)

Depende de:

  • Ninguno (es el módulo base)

Requerido por (Fuerte):

  • TODOS los módulos (MGN-002 a MGN-014)

Razón: Autenticación, autorización y multi-tenancy son fundamentales para cualquier funcionalidad del ERP.

Impacto de bloqueo:

  • CRÍTICO: Si MGN-001 no está completo, NO se puede iniciar ningún otro módulo.
  • Prioridad: P0 - MÁXIMA
  • Debe completarse en: Sprint 1-2

MGN-002: Empresas y Organizaciones

Nivel: 1 (Core Base)

Depende de:

  • MGN-001 (Fuerte): Requiere autenticación de usuarios

Requerido por (Fuerte):

  • MGN-004 (Financiero): Documentos contables deben tener company_id
  • MGN-005 (Inventario): Almacenes y productos por empresa
  • MGN-006 (Compras): Órdenes de compra por empresa
  • MGN-007 (Ventas): Órdenes de venta por empresa
  • MGN-010 (RRHH): Empleados por empresa

Razón: Multi-empresa es requerimiento fundamental. Todos los documentos transaccionales deben tener company_id.

Impacto de bloqueo:

  • ALTO: Bloquea módulos transaccionales (MGN-004 a MGN-007, MGN-010)
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 3

MGN-003: Catálogos Maestros

Nivel: 1 (Core Base)

Depende de:

  • MGN-001 (Fuerte): Requiere autenticación
  • MGN-002 (Fuerte): Empresa también es un partner

Requerido por (Fuerte):

  • MGN-004 (Financiero): Partners, monedas
  • MGN-005 (Inventario): Categorías de productos, UoM
  • MGN-006 (Compras): Proveedores (partners)
  • MGN-007 (Ventas): Clientes (partners)
  • MGN-009 (CRM): Leads, clientes potenciales

Razón: Datos maestros (partners, monedas, UoM) son usados por todos los módulos transaccionales.

Impacto de bloqueo:

  • ALTO: Bloquea módulos transaccionales
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 3-4

MGN-004: Financiero Básico

Nivel: 2 (Transaccional Base)

Depende de:

  • MGN-001 (Fuerte): Autenticación
  • MGN-002 (Fuerte): Company_id en documentos
  • MGN-003 (Fuerte): Partners, monedas

Requerido por (Fuerte):

  • MGN-006 (Compras): Facturas de proveedor
  • MGN-007 (Ventas): Facturas de cliente
  • MGN-008 (Analítica): Asientos con distribución analítica
  • MGN-012 (Reportes): Reportes financieros

Razón: Compras y ventas generan facturas (documentos contables). Analítica requiere plan de cuentas.

Impacto de bloqueo:

  • ALTO: Bloquea compras, ventas, analítica
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 5-8

MGN-005: Inventario Básico

Nivel: 2 (Transaccional Base)

Depende de:

  • MGN-001 (Fuerte): Autenticación
  • MGN-002 (Fuerte): Almacenes por empresa
  • MGN-003 (Fuerte): Categorías de productos, UoM

Requerido por (Fuerte):

  • MGN-006 (Compras): Recepciones de productos
  • MGN-007 (Ventas): Entregas de productos

Razón: Compras y ventas generan movimientos de inventario (pickings).

Impacto de bloqueo:

  • ALTO: Bloquea compras y ventas
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 5-8

MGN-006: Compras Básico

Nivel: 3 (Compras y Ventas)

Depende de:

  • MGN-004 (Fuerte): Facturas de proveedor
  • MGN-005 (Fuerte): Recepciones de stock

Requerido por (Fuerte):

  • MGN-008 (Analítica): Costos por proyecto

Razón: Órdenes de compra generan facturas (MGN-004) y recepciones (MGN-005). Costos se distribuyen analíticamente (MGN-008).

Impacto de bloqueo:

  • MEDIO: Bloquea analítica
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 9-10

MGN-007: Ventas Básico

Nivel: 3 (Compras y Ventas)

Depende de:

  • MGN-004 (Fuerte): Facturas de cliente
  • MGN-005 (Fuerte): Entregas de stock

Requerido por (Fuerte):

  • MGN-008 (Analítica): Ingresos por proyecto
  • MGN-009 (CRM): Cotizaciones desde oportunidades
  • MGN-013 (Portal): Aprobación de cotizaciones

Razón: Órdenes de venta generan facturas (MGN-004) y entregas (MGN-005). Ingresos se distribuyen analíticamente (MGN-008). CRM convierte leads a cotizaciones. Portal permite aprobación online.

Impacto de bloqueo:

  • MEDIO: Bloquea analítica, CRM, portal
  • Prioridad: P0 - ALTA
  • Debe completarse en: Sprint 9-10

MGN-008: Contabilidad Analítica

Nivel: 4 (Analítica y Complementarios)

Depende de:

  • MGN-004 (Fuerte): Plan de cuentas, asientos
  • MGN-006 (Fuerte): Costos de compras
  • MGN-007 (Fuerte): Ingresos de ventas

Requerido por (Fuerte):

  • MGN-011 (Proyectos): Proyectos vinculados a cuentas analíticas
  • MGN-012 (Reportes): P&L por proyecto

Razón: Analítica consolida costos e ingresos de compras/ventas. Proyectos usan cuentas analíticas para tracking.

Impacto de bloqueo:

  • MEDIO: Bloquea proyectos y reportes avanzados
  • Prioridad: P0 - ALTA (CRÍTICO para construcción)
  • Debe completarse en: Sprint 11

MGN-009: CRM Básico

Nivel: 4 (Analítica y Complementarios)

Depende de:

  • MGN-003 (Fuerte): Partners (clientes potenciales)
  • MGN-007 (Fuerte): Conversión de oportunidad a cotización
  • 🔸 MGN-014 (Débil): Actividades y notificaciones

Requerido por:

  • Ninguno

Razón: CRM convierte leads a cotizaciones (MGN-007). Usa actividades de mensajería (MGN-014) pero puede funcionar sin ellas.

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P1 - ALTA
  • Puede completarse en: Sprint 12-13

MGN-010: RRHH Básico

Nivel: 2 (Transaccional Base)

Depende de:

  • MGN-001 (Fuerte): Empleados vinculados a users
  • MGN-002 (Fuerte): Empleados por empresa
  • MGN-003 (Fuerte): Empleados vinculados a partners

Requerido por (Fuerte):

  • MGN-011 (Proyectos): Timesheet de empleados

Razón: Proyectos requieren timesheet de empleados.

Impacto de bloqueo:

  • BAJO: Solo bloquea proyectos (timesheet es opcional)
  • Prioridad: P1 - ALTA
  • Puede completarse en: Sprint 14-15

MGN-011: Proyectos Genéricos

Nivel: 5 (Módulos Avanzados)

Depende de:

  • MGN-008 (Fuerte): Proyectos vinculados a cuentas analíticas
  • 🔸 MGN-010 (Débil): Timesheet de empleados (opcional)

Requerido por:

  • Ninguno

Razón: Proyectos usan analítica para tracking de costos/ingresos. Timesheet es opcional (puede registrarse sin RRHH).

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P1 - ALTA
  • Puede completarse en: Sprint 16-17

MGN-012: Reportes y Analytics

Nivel: 5 (Módulos Avanzados)

Depende de:

  • MGN-004 (Fuerte): Reportes financieros
  • MGN-008 (Fuerte): Reportes analíticos

Requerido por:

  • Ninguno

Razón: Reportes consumen datos de financiero y analítica.

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P2 - MEDIA
  • Puede completarse en: Sprint 18

MGN-013: Portal de Usuarios

Nivel: 4 (Analítica y Complementarios)

Depende de:

  • MGN-001 (Fuerte): Autenticación portal_user
  • MGN-007 (Fuerte): Cotizaciones para aprobación
  • MGN-014 (Fuerte): Mensajería en portal

Requerido por:

  • Ninguno

Razón: Portal permite aprobación de cotizaciones y comunicación con clientes.

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P1 - ALTA (CRÍTICO para INFONAVIT)
  • Puede completarse en: Sprint 14-15

MGN-014: Mensajería y Notificaciones

Nivel: 1 (Core Base)

Depende de:

  • MGN-001 (Fuerte): Usuarios para notificaciones

Requerido por (Fuerte):

  • MGN-013 (Portal): Mensajería en portal

Requerido por (Débil):

  • 🔸 Todos: Chatter, tracking, notificaciones (mejora experiencia)

Razón: Mensajería mejora colaboración en todos los módulos. Es crítico para portal.

Impacto de bloqueo:

  • MEDIO: Bloquea portal
  • Prioridad: P1 - ALTA
  • Debe completarse en: Sprint 12 (antes de portal)

MGN-015: Billing SaaS

Nivel: 6 (SaaS Platform - Base)

Depende de:

  • MGN-001 (Fuerte): Autenticación y tenants
  • MGN-002/Tenants (Fuerte): Suscripciones vinculadas a tenants

Requerido por (Fuerte):

  • MGN-016 (Payments POS): Facturación de transacciones
  • MGN-017 (WhatsApp): Feature flags y límites
  • MGN-018 (AI Agents): Feature flags y cuotas de uso

Razón: Sistema de facturación SaaS con modelo per-seat. Gestiona suscripciones, planes (Starter, Growth, Enterprise), feature flags y facturación automática.

Impacto de bloqueo:

  • ALTO: Bloquea todos los módulos SaaS dependientes
  • Prioridad: P0 para modelo SaaS
  • Debe completarse en: Fase 4 (post-core)

MGN-016: Payments POS

Nivel: 7 (SaaS Platform - Integraciones)

Depende de:

  • MGN-001 (Fuerte): Autenticación
  • MGN-004 (Fuerte): Módulo financiero para asientos contables
  • MGN-015 (Fuerte): Billing para facturación

Requerido por:

  • Ninguno

Razón: Integración con terminales de pago (MercadoPago, Clip). Procesa transacciones POS y genera asientos contables automáticos. Soporta OAuth (MercadoPago) y API Keys (Clip).

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P1 para verticales retail/POS
  • Puede completarse en: Paralelo con MGN-017

MGN-017: WhatsApp Business

Nivel: 7 (SaaS Platform - Integraciones)

Depende de:

  • MGN-001 (Fuerte): Autenticación
  • MGN-003 (Fuerte): Catálogos (contactos con whatsapp_number)
  • MGN-015 (Fuerte): Feature flags para límites de mensajes

Requerido por (Fuerte):

  • MGN-018 (AI Agents): Canal de comunicación para agentes

Razón: Integración con WhatsApp Business Cloud API. Permite envío/recepción de mensajes, templates HSM, chatbots con flujos visuales y campañas de marketing.

Impacto de bloqueo:

  • ALTO: Bloquea AI Agents que usan WhatsApp como canal
  • Prioridad: P0 para verticales con atención al cliente
  • Puede completarse en: Paralelo con MGN-016

MGN-018: AI Agents

Nivel: 8 (SaaS Platform - AI)

Depende de:

  • MGN-001 (Fuerte): Autenticación
  • MGN-003 (Fuerte): Catálogos (contactos)
  • MGN-017 (Fuerte): WhatsApp como canal de comunicación

Requerido por:

  • Ninguno

Razón: Agentes inteligentes con RAG (Retrieval Augmented Generation) usando pgvector. Permite crear knowledge bases, tools personalizados y conversaciones asistidas por IA integradas con WhatsApp.

Impacto de bloqueo:

  • BAJO: No bloquea otros módulos
  • Prioridad: P1 para automatización de atención
  • Debe completarse en: Post WhatsApp

Orden de Implementación Recomendado

Sprint 1-2 (Fundamentos) - 50 SP

Objetivo: Establecer base de seguridad y multi-tenancy.

Módulos:

  1. MGN-001: Fundamentos (50 SP)
    • Database: Schema auth_management
    • Backend: Módulo auth (JWT, RBAC, RLS)
    • Frontend: Login, signup, forgot password

Entregables:

  • Usuarios pueden registrarse, autenticarse
  • Roles y permisos funcionando
  • Multi-tenancy operativo

Criterios de éxito:

  • Test coverage 80%+
  • Login funcional
  • RLS validado

Sprint 3-4 (Core Base) - 65 SP

Objetivo: Catálogos maestros y multi-empresa.

Módulos: 2. MGN-002: Empresas y Organizaciones (30 SP)

  • Database: core.companies
  • Backend: Módulo companies
  • Frontend: Selector de empresa, configuración
  1. MGN-003: Catálogos Maestros (35 SP)
    • Database: core.partners, core.currencies, core.countries, core.uom
    • Backend: Módulo catalogs
    • Frontend: Catálogos CRUD

Entregables:

  • Multi-empresa funcional
  • Catálogos de partners, monedas, países, UoM
  • Context switching de empresa

Criterios de éxito:

  • Usuario puede trabajar con múltiples empresas
  • Catálogos completos
  • Validación de RLS por empresa

Sprint 5-8 (Módulos Transaccionales Base) - 150 SP

Objetivo: Financiero e Inventario operativos.

Módulos: 4. MGN-004: Financiero Básico (80 SP)

  • Database: Schema financial_management
  • Backend: Módulo financial
  • Frontend: Plan de cuentas, asientos, facturas
  1. MGN-005: Inventario Básico (70 SP)
    • Database: Schema inventory_management
    • Backend: Módulo inventory
    • Frontend: Productos, almacenes, movimientos

Entregables:

  • Contabilidad general funcional
  • Inventario con movimientos
  • Facturas y pagos
  • Valoración de inventario

Criterios de éxito:

  • Asiento contable válido (débito = crédito)
  • Movimientos de stock correctos
  • Reportes financieros básicos (Balance, P&L)

Sprint 9-10 (Compras y Ventas) - 120 SP

Objetivo: Ciclo completo de compras y ventas.

Módulos: 6. MGN-006: Compras Básico (60 SP)

  • Database: Schema purchasing_management
  • Backend: Módulo purchasing
  • Frontend: Órdenes de compra, RFQ
  1. MGN-007: Ventas Básico (60 SP)
    • Database: Schema sales_management
    • Backend: Módulo sales
    • Frontend: Cotizaciones, órdenes de venta

Entregables:

  • Ciclo completo: RFQ → PO → Recepción → Factura
  • Ciclo completo: Cotización → SO → Entrega → Factura
  • Integración con inventario y financiero

Criterios de éxito:

  • 3-way match funcional (PO vs Recepción vs Factura)
  • Generación automática de pickings
  • Generación automática de asientos contables

Sprint 11 (Analítica) - 45 SP

Objetivo: Contabilidad analítica operativa (CRÍTICO para proyectos).

Módulos: 8. MGN-008: Contabilidad Analítica (45 SP)

  • Database: Schema analytics_management
  • Backend: Módulo analytics
  • Frontend: Cuentas analíticas, reportes por proyecto

Entregables:

  • Cuentas analíticas funcionales
  • Distribución analítica en transacciones
  • Reportes P&L por proyecto

Criterios de éxito:

  • Campo analytic_account_id en todas las transacciones
  • Consolidación automática de líneas analíticas
  • Reporte P&L por proyecto correcto

Sprint 12-13 (Mensajería y CRM) - 95 SP

Objetivo: Colaboración y gestión comercial.

Módulos: 9. MGN-014: Mensajería y Notificaciones (45 SP)

  • Database: Schema notifications_management
  • Backend: Módulo notifications (WebSocket)
  • Frontend: Chatter, notificaciones in-app
  1. MGN-009: CRM Básico (50 SP)
    • Database: Schema crm_management
    • Backend: Módulo crm
    • Frontend: Pipeline kanban, leads

Entregables:

  • Chatter funcional en documentos
  • Tracking automático de cambios
  • Pipeline de ventas operativo
  • Conversión lead → cotización

Criterios de éxito:

  • Notificaciones en tiempo real (WebSocket)
  • Tracking automático sin código adicional
  • Pipeline kanban drag-and-drop

Sprint 14-15 (RRHH y Portal) - 105 SP

Objetivo: Recursos humanos y portal de clientes.

Módulos: 11. MGN-010: RRHH Básico (55 SP) - Database: Schema hr_management - Backend: Módulo hr - Frontend: Empleados, contratos, asistencias

  1. MGN-013: Portal de Usuarios (50 SP)
    • Database: Rol portal_user en auth
    • Backend: Módulo portal (RLS estricto)
    • Frontend: Portal separado

Entregables:

  • Gestión de empleados completa
  • Timesheet básico
  • Portal de clientes funcional
  • Firma electrónica de cotizaciones

Criterios de éxito:

  • Empleados vinculados a users y partners
  • Cliente puede aprobar cotización online
  • Firma electrónica válida legalmente

Sprint 16-17 (Proyectos) - 65 SP

Objetivo: Gestión de proyectos genéricos.

Módulos: 13. MGN-011: Proyectos Genéricos (65 SP) - Database: Schema projects_management - Backend: Módulo projects - Frontend: Kanban de tareas, Gantt

Entregables:

  • Proyectos vinculados a analítica
  • Tareas con kanban
  • Timesheet por tarea
  • Vista Gantt

Criterios de éxito:

  • Proyecto crea cuenta analítica automáticamente
  • Timesheet genera líneas analíticas
  • Portal de proyectos funcional

Sprint 18 (Reportes) - 40 SP

Objetivo: Reportes y dashboards avanzados.

Módulos: 14. MGN-012: Reportes y Analytics (40 SP) - Database: Schema reports_management - Backend: Módulo reports - Frontend: Dashboards, query builder

Entregables:

  • Dashboards configurables
  • Reportes financieros estándar
  • Exportación PDF/Excel

Criterios de éxito:

  • Reportes con filtros dinámicos
  • Exportación funcional
  • Dashboards por rol

Sprint 19 (Buffer y Testing) - Buffer

Objetivo: Testing exhaustivo, documentación, refinamiento.

Actividades:

  • Testing E2E de flujos completos
  • Corrección de bugs
  • Documentación final
  • Optimizaciones de performance
  • Preparación para migración de ERP Construcción

Criterios de éxito:

  • Test coverage 70%+
  • Todos los flujos críticos validados
  • Documentación completa

Riesgos de Dependencias

Riesgos Críticos (P0)

Riesgo Probabilidad Impacto Mitigación
MGN-001 se retrasa Baja CRÍTICO Prioridad MÁXIMA, equipo completo en Sprint 1-2, testing exhaustivo
MGN-004 (Financiero) muy complejo Media ALTO Seguir patrón Odoo, consultoría contable, validación temprana
MGN-008 (Analítica) mal diseñada Media ALTO Validar con ERP Construcción, seguir patrón Odoo, testing con datos reales
Dependencia circular no detectada Baja MEDIO Revisión de arquitectura en Sprint 0, validar con este documento

Riesgos Altos (P1)

Riesgo Probabilidad Impacto Mitigación
MGN-005 (Inventario) subestimado Media MEDIO Buffer en Sprint 8, validar complejidad con Odoo
Integración MGN-006/007 con MGN-005 falla Media ALTO Testing de integración en Sprint 10, casos de prueba reales
MGN-014 (WebSocket) problemas de infraestructura Alta MEDIO Validación técnica temprana, fallback a polling

Riesgos Medios (P2)

Riesgo Probabilidad Impacto Mitigación
Scope creep en módulos Alta MEDIO Validar con ALCANCE-POR-MODULO.md, rechazar funcionalidades no esenciales
Velocity sobrestimado Media MEDIO Buffer Sprint 19, priorizar P0 sobre P1

Dependencias Críticas (Bloquean Otros Módulos)

MGN-001 (Fundamentos)

  • Bloquea: TODOS los demás módulos (MGN-002 a MGN-014)
  • Razón: Autenticación, autorización, multi-tenancy son base para todo
  • Prioridad: P0 - MÁXIMA
  • Acción: Implementar PRIMERO en Sprint 1-2, equipo completo dedicado

MGN-002 (Empresas)

  • Bloquea: MGN-004, MGN-005, MGN-006, MGN-007, MGN-010
  • Razón: Documentos transaccionales requieren company_id
  • Prioridad: P0 - ALTA
  • Acción: Implementar en Sprint 3, validar RLS por empresa

MGN-003 (Catálogos)

  • Bloquea: MGN-004, MGN-005, MGN-006, MGN-007, MGN-009
  • Razón: Partners, monedas, UoM son datos maestros esenciales
  • Prioridad: P0 - ALTA
  • Acción: Implementar en Sprint 3-4, priorizar partners y UoM

MGN-004 (Financiero)

  • Bloquea: MGN-006, MGN-007, MGN-008, MGN-012
  • Razón: Compras y ventas generan facturas, analítica requiere plan de cuentas
  • Prioridad: P0 - ALTA
  • Acción: Implementar en Sprint 5-8, validar contabilidad con contador

MGN-005 (Inventario)

  • Bloquea: MGN-006, MGN-007
  • Razón: Compras y ventas generan movimientos de stock
  • Prioridad: P0 - ALTA
  • Acción: Implementar en Sprint 5-8, validar movimientos dobles

MGN-008 (Analítica)

  • Bloquea: MGN-011, MGN-012
  • Razón: Proyectos requieren cuentas analíticas, reportes usan datos analíticos
  • Prioridad: P0 - CRÍTICO (para construcción)
  • Acción: Implementar en Sprint 11, validar con ERP Construcción

Dependencias Opcionales (No Bloquean)

MGN-014 (Mensajería) → Módulos Transaccionales

  • Tipo: Débil (mejora experiencia, no bloquea)
  • Razón: Chatter y tracking son opcionales, módulos funcionan sin ellos
  • Recomendación: Implementar en Sprint 12 para mejorar UX

MGN-010 (RRHH) → MGN-011 (Proyectos)

  • Tipo: Débil (timesheet es opcional)
  • Razón: Proyectos pueden funcionar sin timesheet de empleados
  • Recomendación: Implementar RRHH antes de proyectos para timesheet completo

MGN-009 (CRM) → MGN-007 (Ventas)

  • Tipo: Débil (conversión lead → quotation es opcional)
  • Razón: Ventas puede funcionar sin CRM, cotizaciones se crean directamente
  • Recomendación: Implementar CRM después de ventas (Sprint 12-13)

Validación de No-Circularidad

Análisis de Grafos de Dependencias

Resultado: NO hay dependencias circulares.

Validación:

  • MGN-001 no depende de nadie
  • Todos los demás módulos forman un DAG (Directed Acyclic Graph)
  • Niveles de implementación (0 a 5) garantizan orden topológico

Posibles ciclos a evitar:

  • MGN-007 (Ventas) → MGN-009 (CRM) → MGN-007: NO EXISTE (CRM depende de Ventas, no al revés)
  • MGN-004 (Financiero) → MGN-008 (Analítica) → MGN-004: NO EXISTE (Analítica depende de Financiero, no al revés)

Timeline Consolidado

Resumen por Trimestre

Q1 2026 (Meses 1-3) - Fundamentos y Core:

  • Sprint 1-2: MGN-001 (Fundamentos) - 50 SP
  • Sprint 3-4: MGN-002 (Empresas) + MGN-003 (Catálogos) - 65 SP
  • Sprint 5-6: MGN-004 (Financiero) Parte 1 - 40 SP
  • Total Q1: 155 SP

Q2 2026 (Meses 4-6) - Módulos Transaccionales:

  • Sprint 7-8: MGN-004 (Financiero) Parte 2 + MGN-005 (Inventario) - 110 SP
  • Sprint 9-10: MGN-006 (Compras) + MGN-007 (Ventas) - 120 SP
  • Sprint 11: MGN-008 (Analítica) - 45 SP
  • Total Q2: 275 SP

Q3 2026 (Meses 7-9) - Módulos Complementarios:

  • Sprint 12-13: MGN-014 (Mensajería) + MGN-009 (CRM) - 95 SP
  • Sprint 14-15: MGN-010 (RRHH) + MGN-013 (Portal) - 105 SP
  • Sprint 16-17: MGN-011 (Proyectos) - 65 SP
  • Total Q3: 265 SP

Q4 2026 (Mes 10) - Reportes y Buffer:

  • Sprint 18: MGN-012 (Reportes) - 40 SP
  • Sprint 19: Buffer, testing, documentación
  • Total Q4: 40 SP

TOTAL: 735 SP en 19 sprints (38 semanas / 9.5 meses)


Métricas de Dependencias

Métrica Valor
Total módulos 18 (14 core + 4 SaaS)
Módulos sin dependencias 1 (MGN-001)
Módulos con 1 dependencia 1 (MGN-002)
Módulos con 2 dependencias 4 (MGN-003, MGN-014, MGN-009, MGN-015)
Módulos con 3 dependencias 9 (MGN-004, MGN-005, MGN-006, MGN-007, MGN-010, MGN-013, MGN-016, MGN-017, MGN-018)
Módulos con 4+ dependencias 3 (MGN-008, MGN-011, MGN-012)
Dependencias totales (aristas) 42
Profundidad máxima (niveles) 8 niveles (0 a 8)
Módulos críticos (bloquean 3+ módulos) 7 (MGN-001, MGN-002, MGN-003, MGN-004, MGN-005, MGN-008, MGN-015)

Recomendaciones Finales

Para el Equipo de Desarrollo

  1. Respetar el orden de implementación: NO saltar niveles sin completar dependencias
  2. Testing de integración temprano: Validar integraciones entre módulos en cada sprint
  3. Documentar APIs claramente: Facilitar integración entre módulos
  4. Validar con datos reales: Usar datos de ERP Construcción para validar

Para el Product Owner

  1. Priorizar P0 estrictamente: NO agregar funcionalidades P1/P2 hasta completar P0
  2. Validar alcance con ALCANCE-POR-MODULO.md: Rechazar scope creep
  3. Aceptar incrementos por módulo: Cada sprint debe entregar módulo funcional
  4. Planificar migración: Desde Sprint 11 (post-analítica), planear migración de Construcción

Para el Arquitecto

  1. Validar dependencias en cada sprint: Verificar que no se crean dependencias circulares
  2. Revisar integraciones: Asegurar que límites entre módulos están claros
  3. Actualizar este documento: Si cambian dependencias, actualizar inmediatamente
  4. Comunicar bloqueos: Si un módulo se retrasa, comunicar impacto en dependientes

Conclusión

Las dependencias entre módulos están claramente definidas y validadas. El orden de implementación propuesto minimiza bloqueos y permite entregas incrementales.

Próximos pasos:

  1. Validar este orden con el equipo técnico
  2. Iniciar Sprint 1 (MGN-001 Fundamentos)
  3. Crear backlog detallado por módulo (Fase 2)
  4. Planificar Fase 4 SaaS (MGN-015 a MGN-018) post-core

Documento creado: 2025-11-23 Última actualización: 2025-12-05 Versión: 1.1 Autor: Architecture-Analyst Estado: Completado Próxima Fase: Fase 2 - Diseño Técnico Detallado