7.8 KiB
7.8 KiB
EPICA: EPIC-MAI-003 - Presupuestos y Costos
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-MAI-003 |
| Nombre | Presupuestos y Control de Costos |
| Modulo | presupuestos-costos |
| Fase | Fase 1 - Alcance Inicial |
| Prioridad | P0 (Critico) |
| Estado | Backlog |
| Story Points | 55 |
| Sprint(s) | Sprint 3-5 |
Descripcion
Sistema de presupuestos de construccion con estructura jerarquica de conceptos, partidas, Analisis de Precios Unitarios (APU), explosionado automatico de materiales y comparativo presupuesto vs real. Soporta presupuestos base (por prototipo de vivienda) y presupuestos ejecutivos (por proyecto/fraccionamiento).
Objetivo de Negocio
Proveer control presupuestal que:
- Defina costos por concepto de obra con precision
- Permita analisis de precios unitarios (APU)
- Explosione materiales automaticamente para compras
- Compare presupuesto vs ejecutado en tiempo real
- Identifique desviaciones tempranas para toma de decisiones
- Soporte multiples versiones de presupuesto
- Facilite la elaboracion de estimaciones
Stakeholders
| Rol | Nombre/Equipo | Responsabilidad |
|---|---|---|
| Product Owner | Equipo Producto | Definicion de funcionalidades |
| Tech Lead | Equipo Backend | Arquitectura de calculos |
| Presupuestador | Construccion | Elaboracion de APU y presupuestos |
| Residente de Obra | Campo | Control de avance y costos |
| Director de Construccion | Gerencia | Aprobacion y seguimiento |
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-MAI003-001 | Como presupuestador, quiero crear presupuestos base por prototipo de vivienda para estandarizar costos | P0 | 8 | Backlog |
| US-MAI003-002 | Como presupuestador, quiero crear partidas y conceptos jerarquicos para organizar el presupuesto | P0 | 5 | Backlog |
| US-MAI003-003 | Como presupuestador, quiero elaborar APU para definir precios unitarios con detalle de insumos | P0 | 8 | Backlog |
| US-MAI003-004 | Como presupuestador, quiero explosionar materiales del presupuesto para planificar compras | P0 | 8 | Backlog |
| US-MAI003-005 | Como residente, quiero crear presupuesto ejecutivo desde base para aplicar a proyecto especifico | P0 | 5 | Backlog |
| US-MAI003-006 | Como residente, quiero comparar presupuesto vs real para detectar desviaciones | P0 | 8 | Backlog |
| US-MAI003-007 | Como presupuestador, quiero importar presupuesto desde Excel para migrar datos existentes | P1 | 5 | Backlog |
| US-MAI003-008 | Como presupuestador, quiero versionar presupuestos para mantener historial de cambios | P1 | 3 | Backlog |
| US-MAI003-009 | Como director, quiero ver dashboard de desviaciones para tomar decisiones oportunas | P1 | 5 | Backlog |
Total Story Points: 55 SP
Criterios de Aceptacion de la Epica
Funcionales:
- Estructura jerarquica: Partida -> Subpartida -> Concepto
- APU con insumos (materiales, mano de obra, equipo, herramienta)
- Explosionado automatico de materiales por cantidad de viviendas
- Presupuesto base (por prototipo) y ejecutivo (por proyecto)
- Comparativo presupuesto vs real con % desviacion
- Versionado de presupuestos con historial
- Import/Export Excel con formato estandar
- Calculo de indirectos y utilidad
No Funcionales:
- Performance: Calculo de explosionado < 5s para 1000 conceptos
- Precision: 4 decimales en precios unitarios
- Consistencia: Totales calculados automaticamente
Tecnicos:
- Cobertura de tests > 80%
- Funciones de calculo en PostgreSQL para performance
- Documentacion de formulas de APU
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-MAI-001 Fundamentos | Backlog | Si |
| EPIC-MAI-002 Proyectos | Backlog | Si |
| MGN-005 Catalogs (materiales) | Backlog | Si |
Esta epica bloquea:
| Epica/Modulo | Razon |
|---|---|
| EPIC-MAI-004 Compras | Explosion de materiales |
| EPIC-MAI-005 Control Obra | Avance por concepto |
| EPIC-MAI-008 Estimaciones | Base para facturacion |
| EPIC-MAE-014 Finanzas | Control de costos |
Desglose Tecnico
Database:
- Schema:
budget_management - Tablas: 12 (budgets, budget_versions, partidas, concepts, apu, apu_items, materials_explosion, budget_vs_actual, indirectos, rendimientos, etc.)
- Funciones: 5 (calcular_apu, explosionar_materiales, comparar_real, recalcular_totales, versionar_presupuesto)
- Triggers: Recalculo automatico de totales
- RLS Policies: Si (por tenant y proyecto)
Backend:
- Modulo:
budgets - Entities: 12 (Budget, BudgetVersion, Partida, Concept, APU, APUItem, MaterialExplosion, etc.)
- Services: BudgetService, APUService, ExplosionService, ComparisonService
- Endpoints: 30+ (CRUD budgets, partidas, conceptos, APU, explosion, comparison)
- Jobs: ExplosionCalculationJob
- Tests: 45+
Frontend:
- Paginas: 7 (Budgets, BudgetDetail, PartidaEditor, APUEditor, Explosion, Comparison, Dashboard)
- Componentes: 25+ (BudgetTree, APUForm, ExplosionTable, ComparisonChart, PartidaDragDrop)
- Stores: 1 (budgetsStore)
Estructura de Presupuesto
Presupuesto (Casa Tipo A - Fraccionamiento Las Palmas)
├── Partida 1: PRELIMINARES
│ ├── 1.1 Limpieza de terreno
│ │ └── APU: Peones + Herramienta
│ └── 1.2 Trazo y nivelacion
│ └── APU: Topografo + Equipo
├── Partida 2: CIMENTACION
│ ├── 2.1 Excavacion
│ │ └── APU: Retroexcavadora + Operador
│ └── 2.2 Zapatas aisladas
│ └── APU: Concreto fc=250 + Acero + MO
├── Partida 3: ESTRUCTURA
│ ├── 3.1 Columnas
│ ├── 3.2 Trabes
│ └── 3.3 Losa
├── ...
└── Partida N: LIMPIEZA FINAL
└── Total = Suma de conceptos + Indirectos + Utilidad
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Formulas de APU incorrectas | Media | Alto | Validacion con presupuestadores expertos |
| Performance en explosionado | Media | Alto | Calculo en DB, batch processing |
| Importacion Excel corrupta | Alta | Medio | Validacion estricta, preview antes de importar |
| Desviaciones no detectadas | Media | Alto | Alertas automaticas, dashboard |
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- Formato de APU estandar definido
- Catalogo de partidas SAT mapeado
- Template Excel de importacion definido
- Sin bloqueadores activos
Definition of Done (DoD)
- Codigo implementado y revisado
- Tests pasando (unit, integration, e2e)
- APU calculando correctamente
- Explosionado funcionando
- Comparativo mostrandose
- Documentacion actualizada
- Inventarios actualizados
- Trazas registradas
- Demo realizada con presupuestador
- Product Owner aprobo
Documentacion Relacionada
- Modulo:
docs/02-definicion-modulos/MAI-003-presupuestos-costos/ - User Stories:
docs/05-user-stories/mai-003/ - DDL Spec:
docs/04-modelado/database-design/schemas/budget_management.sql - Especificaciones:
docs/02-definicion-modulos/MAI-003-presupuestos-costos/especificaciones/
Historial
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-05 | Creacion de epica | Requirements-Analyst |
| 2025-12-05 | Agregado Stakeholders, Riesgos, DoR/DoD | Requirements-Analyst |
Creada por: Requirements-Analyst Fecha: 2025-12-05 Ultima actualizacion: 2025-12-05