411 lines
13 KiB
Markdown
411 lines
13 KiB
Markdown
# _MAP: MAI-018 - Preconstrucción y Licitaciones
|
||
|
||
**Épica:** MAI-018
|
||
**Nombre:** Preconstrucción y Licitaciones
|
||
**Fase:** 1 - Alcance Inicial
|
||
**Presupuesto:** $25,000 MXN
|
||
**Story Points:** 45 SP
|
||
**Estado:** 📝 A crear
|
||
**Sprint:** Sprint 1-2 (Semanas 1-4)
|
||
**Última actualización:** 2025-11-17
|
||
**Prioridad:** P0
|
||
|
||
---
|
||
|
||
## 📋 Propósito
|
||
|
||
Gestión completa del ciclo de oportunidades, licitaciones y conversión a proyectos adjudicados:
|
||
- Pipeline de oportunidades de licitaciones públicas y privadas
|
||
- Gestión de propuestas técnicas y económicas
|
||
- Conversión de licitaciones ganadas a proyectos en ejecución
|
||
- Análisis de tasa de éxito y competidores
|
||
- Transición suave de preventa a ejecución
|
||
|
||
**Integración clave:** Base del flujo de negocio. Se vincula con Proyectos (MAI-002), Presupuestos (MAI-003) y Contratos (MAI-012).
|
||
|
||
---
|
||
|
||
## 📁 Contenido
|
||
|
||
### Requerimientos Funcionales (Estimados: 5)
|
||
|
||
| ID | Título | Estado |
|
||
|----|--------|--------|
|
||
| RF-LIC-001 | Pipeline de oportunidades y licitaciones | 📝 A crear |
|
||
| RF-LIC-002 | Gestión de propuestas técnicas y económicas | 📝 A crear |
|
||
| RF-LIC-003 | Conversión de licitación ganada a proyecto | 📝 A crear |
|
||
| RF-LIC-004 | Calendario de fechas clave y alertas | 📝 A crear |
|
||
| RF-LIC-005 | Analytics de licitaciones (win rate, competidores) | 📝 A crear |
|
||
|
||
### Especificaciones Técnicas (Estimadas: 5)
|
||
|
||
| ID | Título | RF | Estado |
|
||
|----|--------|----|--------|
|
||
| ET-LIC-001 | Modelo de datos de licitaciones y oportunidades | RF-LIC-001 | 📝 A crear |
|
||
| ET-LIC-002 | Sistema de versionado de propuestas | RF-LIC-002 | 📝 A crear |
|
||
| ET-LIC-003 | Flujo de conversión licitación → proyecto | RF-LIC-003 | 📝 A crear |
|
||
| ET-LIC-004 | Sistema de notificaciones y alertas | RF-LIC-004 | 📝 A crear |
|
||
| ET-LIC-005 | Motor de analytics y reportes | RF-LIC-005 | 📝 A crear |
|
||
|
||
### Historias de Usuario (Estimadas: 9)
|
||
|
||
| ID | Título | SP | Estado |
|
||
|----|--------|----|--------|
|
||
| US-LIC-001 | Registrar oportunidad de licitación | 5 | 📝 A crear |
|
||
| US-LIC-002 | Evaluar viabilidad (go/no-go) de licitación | 5 | 📝 A crear |
|
||
| US-LIC-003 | Crear propuesta técnica y económica | 5 | 📝 A crear |
|
||
| US-LIC-004 | Gestionar calendario de fechas clave | 3 | 📝 A crear |
|
||
| US-LIC-005 | Convertir licitación ganada a proyecto | 7 | 📝 A crear |
|
||
| US-LIC-006 | Ajustar presupuesto ofertado vs contratado | 5 | 📝 A crear |
|
||
| US-LIC-007 | Analizar tasa de éxito y competidores | 5 | 📝 A crear |
|
||
| US-LIC-008 | Dashboard de pipeline y valor potencial | 5 | 📝 A crear |
|
||
| US-LIC-009 | Exportar documentos licitatorios | 5 | 📝 A crear |
|
||
|
||
**Total Story Points:** 45 SP
|
||
|
||
### Implementación
|
||
|
||
📊 **Inventarios de trazabilidad:**
|
||
- [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml) - Matriz completa de trazabilidad
|
||
- [DATABASE.yml](./implementacion/DATABASE.yml) - Objetos de base de datos
|
||
- [BACKEND.yml](./implementacion/BACKEND.yml) - Módulos backend
|
||
- [FRONTEND.yml](./implementacion/FRONTEND.yml) - Componentes frontend
|
||
|
||
### Pruebas
|
||
|
||
📋 Documentación de testing:
|
||
- [TEST-PLAN.md](./pruebas/TEST-PLAN.md) - Plan de pruebas
|
||
- [TEST-CASES.md](./pruebas/TEST-CASES.md) - Casos de prueba
|
||
|
||
---
|
||
|
||
## 🔗 Referencias
|
||
|
||
- **README:** [README.md](./README.md) - Descripción detallada de la épica
|
||
- **Fase 1:** [../README.md](../README.md) - Información de la fase completa
|
||
- **Módulo relacionado MVP:** Módulo 18 - Preconstrucción y Licitaciones (MVP-APP.md)
|
||
|
||
---
|
||
|
||
## 📊 Métricas
|
||
|
||
| Métrica | Valor |
|
||
|---------|-------|
|
||
| **Presupuesto estimado** | $25,000 MXN |
|
||
| **Story Points estimados** | 45 SP |
|
||
| **Duración estimada** | 9 días |
|
||
| **Reutilización GAMILIT** | 15% (funcionalidad nueva específica de construcción) |
|
||
| **RF a implementar** | 5/5 |
|
||
| **ET a implementar** | 5/5 |
|
||
| **US a completar** | 9/9 |
|
||
|
||
---
|
||
|
||
## 🎯 Módulos Afectados
|
||
|
||
### Base de Datos
|
||
- **Schema:** `bidding`
|
||
- **Tablas principales:**
|
||
* `opportunities` - Oportunidades de licitaciones
|
||
* `bids` - Licitaciones/propuestas
|
||
* `bid_documents` - Documentos de licitación
|
||
* `bid_calendar` - Fechas clave
|
||
* `bid_budget` - Presupuesto ofertado
|
||
* `bid_competitors` - Competidores identificados
|
||
* `bid_team` - Equipo asignado a propuesta
|
||
- **ENUMs:**
|
||
* `opportunity_source` (government_portal, private_client, referral, other)
|
||
* `bid_status` (evaluating, go_decision, no_go, preparing, submitted, awarded, lost, withdrawn)
|
||
* `bid_type` (public, private, invitation_only)
|
||
* `calendar_event_type` (site_visit, clarification_meeting, submission_deadline, award_date)
|
||
|
||
### Backend
|
||
- **Módulo:** `bidding`, `opportunities`
|
||
- **Path:** `apps/backend/src/modules/bidding/`
|
||
- **Services:** OpportunityService, BidService, BidBudgetService, BidAnalyticsService
|
||
- **Controllers:** OpportunityController, BidController, BidConversionController
|
||
- **Middlewares:** BidAccessGuard, DocumentUploadGuard
|
||
|
||
### Frontend
|
||
- **Features:** `bidding`, `opportunities`, `bid-management`
|
||
- **Path:** `apps/frontend/src/features/bidding/`
|
||
- **Componentes:**
|
||
* OpportunityPipeline
|
||
* OpportunityForm (create/edit)
|
||
* BidEvaluationForm (go/no-go)
|
||
* BidProposalBuilder
|
||
* BidCalendar
|
||
* BidConversionWizard
|
||
* BidAnalyticsDashboard
|
||
* CompetitorTracker
|
||
* BidDocumentManager
|
||
- **Stores:** opportunityStore, bidStore, bidAnalyticsStore
|
||
|
||
---
|
||
|
||
## 🔄 Flujo de Trabajo de Licitaciones
|
||
|
||
### 1. Identificación de Oportunidad
|
||
|
||
**Fuentes:**
|
||
- Portales gubernamentales (CompraNet, estatales, municipales)
|
||
- Clientes privados (INFONAVIT, desarrolladores)
|
||
- Referencias y contactos directos
|
||
- Suscripciones a alertas
|
||
|
||
**Información capturada:**
|
||
- Nombre de la licitación
|
||
- Cliente/convocante
|
||
- Tipo de proyecto (vivienda vertical/horizontal, urbanización)
|
||
- Ubicación (estado, municipio)
|
||
- Número estimado de viviendas
|
||
- Monto estimado
|
||
- Fechas clave iniciales
|
||
|
||
**Clasificación:**
|
||
- Tipo: Pública/Privada/Invitación
|
||
- Región: Norte, Centro, Sur, etc.
|
||
- Línea de negocio: Vivienda social, media, residencial
|
||
- Prioridad: Alta, Media, Baja
|
||
|
||
---
|
||
|
||
### 2. Evaluación Go/No-Go
|
||
|
||
**Criterios de evaluación:**
|
||
|
||
| Criterio | Peso | Evaluación |
|
||
|----------|------|------------|
|
||
| **Alineación estratégica** | 20% | ¿Está en nuestra zona geográfica? ¿Línea de negocio? |
|
||
| **Capacidad técnica** | 25% | ¿Tenemos experiencia en este tipo de proyecto? |
|
||
| **Capacidad financiera** | 20% | ¿Podemos financiar el anticipo y capital de trabajo? |
|
||
| **Relación con cliente** | 15% | ¿Conocemos al cliente? ¿Relación previa? |
|
||
| **Competencia esperada** | 10% | ¿Cuántos competidores? ¿Quiénes? |
|
||
| **Margen potencial** | 10% | ¿El margen esperado justifica el esfuerzo? |
|
||
|
||
**Decisión:**
|
||
- **GO:** Se procede a preparar propuesta
|
||
- **NO-GO:** Se archiva con razón documentada
|
||
- **EN EVALUACIÓN:** Se requiere más información
|
||
|
||
---
|
||
|
||
### 3. Preparación de Propuesta
|
||
|
||
**Actividades:**
|
||
|
||
1. **Revisión de bases:**
|
||
- Carga de bases de licitación
|
||
- Identificación de requisitos técnicos
|
||
- Identificación de requisitos legales/administrativos
|
||
- Checklist de cumplimiento
|
||
|
||
2. **Análisis técnico:**
|
||
- Visita al sitio (si aplica)
|
||
- Análisis de planos y especificaciones
|
||
- Definición de prototipos de vivienda
|
||
- Identificación de alcances especiales
|
||
|
||
3. **Presupuesto ofertado:**
|
||
- Creación de presupuesto base
|
||
- Cotización con proveedores clave
|
||
- Cálculo de indirectos y margen
|
||
- Análisis de sensibilidad
|
||
- Versión "ofertada" del presupuesto
|
||
|
||
4. **Propuesta técnica:**
|
||
- Metodología constructiva
|
||
- Programa de obra
|
||
- Personal clave
|
||
- Experiencia y referencias
|
||
- Cumplimiento de especificaciones
|
||
|
||
5. **Colaboración en equipo:**
|
||
- Asignación de responsables
|
||
- Tablero de tareas
|
||
- Versionado de documentos
|
||
- Checklist de entregables
|
||
|
||
---
|
||
|
||
### 4. Calendario de Fechas Clave
|
||
|
||
**Eventos típicos:**
|
||
|
||
| Evento | Descripción | Alerta |
|
||
|--------|-------------|--------|
|
||
| **Visita a sitio** | Recorrido por terreno/proyecto | 3 días antes |
|
||
| **Junta de aclaraciones** | Preguntas y respuestas | 2 días antes |
|
||
| **Entrega de propuesta** | Fecha límite de presentación | 5 días antes + 1 día antes |
|
||
| **Apertura técnica** | Revisión de propuestas técnicas | 1 día antes |
|
||
| **Apertura económica** | Revisión de propuestas económicas | 1 día antes |
|
||
| **Fallo** | Adjudicación del contrato | - |
|
||
|
||
**Sistema de alertas:**
|
||
- Email automático a equipo asignado
|
||
- Notificaciones push en app móvil
|
||
- Dashboard con semáforo de fechas
|
||
|
||
---
|
||
|
||
### 5. Conversión a Proyecto
|
||
|
||
**Proceso al ganar licitación:**
|
||
|
||
1. **Cambio de estatus:** `awarded` → `converting`
|
||
|
||
2. **Ajuste de presupuesto:**
|
||
- Comparación ofertado vs contratado
|
||
- Identificación de diferencias
|
||
- Ajuste de cantidades/precios
|
||
- Creación de presupuesto "contratado"
|
||
|
||
3. **Creación automática de proyecto:**
|
||
- Generación de estructura de proyecto
|
||
- Creación de etapas (según alcances)
|
||
- Creación de manzanas y lotes (si aplica)
|
||
- Asignación de prototipos de vivienda
|
||
|
||
4. **Transferencia de información:**
|
||
- Documentos licitatorios → Módulo Documental
|
||
- Presupuesto ofertado → Módulo Presupuestos
|
||
- Fechas clave → Calendario de obra
|
||
- Equipo propuesto → Asignación de personal
|
||
|
||
5. **Activación de módulos operativos:**
|
||
- Habilitación de compras
|
||
- Habilitación de control de obra
|
||
- Habilitación de RRHH
|
||
- Configuración de centros de costo
|
||
|
||
**Estado final:** `converted` → Proyecto activo en ejecución
|
||
|
||
---
|
||
|
||
## 📈 Analytics de Licitaciones
|
||
|
||
### KPIs Principales
|
||
|
||
| Métrica | Descripción | Cálculo |
|
||
|---------|-------------|---------|
|
||
| **Win Rate** | Tasa de éxito | Ganadas / (Ganadas + Perdidas) |
|
||
| **Pipeline Value** | Valor total en pipeline | Σ (Monto × Probabilidad) |
|
||
| **Avg. Bid Size** | Tamaño promedio de licitación | Σ Monto / # Licitaciones |
|
||
| **Time to Award** | Tiempo promedio hasta fallo | Avg(Fecha fallo - Fecha registro) |
|
||
| **Conversion Rate** | Tasa de conversión a proyecto | Convertidas / Ganadas |
|
||
| **Competitor Frequency** | Competidores más frecuentes | Top 10 competidores |
|
||
|
||
### Dashboards
|
||
|
||
1. **Pipeline Overview:**
|
||
- Total de oportunidades activas
|
||
- Valor potencial total
|
||
- Desglose por estatus
|
||
- Desglose por región
|
||
- Probabilidad ponderada
|
||
|
||
2. **Performance Histórico:**
|
||
- Win rate por año/trimestre
|
||
- Licitaciones ganadas vs perdidas
|
||
- Análisis de márgenes (ofertado vs real)
|
||
- Razones de pérdida más comunes
|
||
|
||
3. **Competencia:**
|
||
- Competidores recurrentes
|
||
- Win rate vs cada competidor
|
||
- Proyectos donde coincidimos
|
||
- Estrategias detectadas
|
||
|
||
---
|
||
|
||
## 💡 Casos de Uso Clave
|
||
|
||
### Licitación Pública INFONAVIT
|
||
|
||
**Contexto:**
|
||
- Cliente: INFONAVIT
|
||
- Tipo: Licitación pública nacional
|
||
- Proyecto: 200 viviendas verticales
|
||
- Ubicación: Querétaro
|
||
- Monto estimado: $80M MXN
|
||
|
||
**Flujo:**
|
||
|
||
1. **Día 0:** Se detecta licitación en CompraNet
|
||
- Registro de oportunidad
|
||
- Asignación a Director de Zona Centro
|
||
|
||
2. **Día 3:** Evaluación Go/No-Go
|
||
- Revisión de requisitos
|
||
- Análisis de capacidad
|
||
- **Decisión: GO**
|
||
|
||
3. **Día 5:** Inicio de preparación
|
||
- Descarga de bases
|
||
- Asignación de equipo (ingeniero, compras, finanzas)
|
||
- Creación de presupuesto base
|
||
|
||
4. **Día 10:** Visita al sitio
|
||
- Registro fotográfico
|
||
- Análisis de accesos y servicios
|
||
- Validación de cantidades
|
||
|
||
5. **Día 20:** Junta de aclaraciones
|
||
- Registro de preguntas/respuestas
|
||
- Ajuste de presupuesto
|
||
|
||
6. **Día 28:** Entrega de propuesta
|
||
- Generación de documentos
|
||
- Verificación de checklist
|
||
- Presentación física/digital
|
||
|
||
7. **Día 40:** Fallo
|
||
- **Resultado: GANADO**
|
||
- Registro de competidores (5 empresas)
|
||
|
||
8. **Día 42:** Conversión a proyecto
|
||
- Ajuste de presupuesto (ofertado: $78M, contratado: $80M)
|
||
- Creación de estructura de proyecto
|
||
- Activación de módulos operativos
|
||
|
||
---
|
||
|
||
### Licitación Privada Desarrollador
|
||
|
||
**Contexto:**
|
||
- Cliente: Desarrollador privado
|
||
- Tipo: Invitación directa
|
||
- Proyecto: 50 viviendas horizontales
|
||
- Ubicación: Mérida
|
||
- Monto estimado: $25M MXN
|
||
|
||
**Diferencias vs licitación pública:**
|
||
- Proceso más ágil (menos formalidades)
|
||
- Relación directa con cliente
|
||
- Negociación de alcances y precio
|
||
- Menos competidores (2-3 invitados)
|
||
- Mayor flexibilidad en propuesta
|
||
|
||
---
|
||
|
||
## 🚨 Puntos Críticos
|
||
|
||
1. **Alertas oportunas:** No perder fechas límite de entrega
|
||
2. **Versionado de presupuestos:** Diferenciar claramente ofertado vs contratado
|
||
3. **Trazabilidad:** Documentar razones de go/no-go y pérdidas
|
||
4. **Conversión limpia:** Evitar pérdida de información al convertir a proyecto
|
||
5. **Integración con módulos:** Activación automática de funcionalidades operativas
|
||
6. **Análisis competitivo:** Aprender de licitaciones perdidas
|
||
|
||
---
|
||
|
||
## 🎯 Siguiente Paso
|
||
|
||
Crear documentación de requerimientos y especificaciones técnicas del módulo.
|
||
|
||
---
|
||
|
||
**Generado:** 2025-11-17
|
||
**Mantenedores:** @tech-lead @backend-team @frontend-team @business-dev
|
||
**Estado:** 📝 A crear
|