erp-core/docs/05-user-stories/README.md

361 lines
14 KiB
Markdown

# USER STORIES (US) - ERP GENÉRICO
**Fecha:** 2025-11-24
**Versión:** 2.0
**Estado:** ✅ COMPLETADO (147 US creadas)
**Total Story Points:** ~720 SP
**Última actualización:** 2025-11-24
---
## Resumen Ejecutivo
Este directorio contiene las User Stories (US) del ERP Genérico, desglosadas de los 80 Requerimientos Funcionales (RF). Cada RF se divide en 1-3 User Stories según complejidad.
### Estado Actual del Proyecto
| Módulo | Nombre | US Creadas | Estado |
|--------|--------|------------|--------|
| MGN-001 | Fundamentos | ✅ 16 | COMPLETADO |
| MGN-002 | Empresas y Organizaciones | ✅ 7 | COMPLETADO |
| MGN-003 | Catálogos Maestros | ✅ 8 | COMPLETADO |
| MGN-004 | Financiero Básico | ✅ 18 | COMPLETADO |
| MGN-005 | Inventario Básico | ✅ 14 | COMPLETADO |
| MGN-006 | Compras Básico | ✅ 12 | COMPLETADO |
| MGN-007 | Ventas Básico | ✅ 12 | COMPLETADO |
| MGN-008 | Contabilidad Analítica | ✅ 10 | COMPLETADO |
| MGN-009 | CRM Básico | ✅ 8 | COMPLETADO |
| MGN-010 | RRHH Básico | ✅ 7 | COMPLETADO |
| MGN-011 | Proyectos Genéricos | ✅ 11 | COMPLETADO |
| MGN-012 | Reportes y Analytics | ✅ 6 | COMPLETADO |
| MGN-013 | Portal de Usuarios | ✅ 6 | COMPLETADO |
| MGN-014 | Mensajería y Notificaciones | ✅ 12 | COMPLETADO |
| **TOTAL** | **14 módulos** | **147 US** | **100%** |
---
## Índice de User Stories Creadas
### MGN-001: Fundamentos (16 US - 68 SP) ✅ COMPLETADO
#### RF-001: Autenticación de Usuarios (8 SP → 2 US)
1. [US-MGN-001-001-001: Login con Email y Contraseña](mgn-001/US-MGN-001-001-001-login-con-email-password.md) - 5 SP - Sprint 1
2. [US-MGN-001-001-002: Renovar Token JWT con Refresh Token](mgn-001/US-MGN-001-001-002-renovar-token-jwt.md) - 3 SP - Sprint 1
#### RF-002: Gestión de Roles y Permisos (13 SP → 3 US)
3. [US-MGN-001-002-001: Crear y Gestionar Roles](mgn-001/US-MGN-001-002-001-crear-y-gestionar-roles.md) - 5 SP - Sprint 1
4. [US-MGN-001-002-002: Asignar Permisos CRUD a Roles por Modelo](mgn-001/US-MGN-001-002-002-asignar-permisos-a-roles.md) - 5 SP - Sprint 1
5. [US-MGN-001-002-003: Validar Permisos en Runtime (Guards/Middleware)](mgn-001/US-MGN-001-002-003-validar-permisos-en-runtime.md) - 3 SP - Sprint 2
#### RF-003: Gestión de Usuarios (8 SP → 2 US)
6. [US-MGN-001-003-001: CRUD de Usuarios](mgn-001/US-MGN-001-003-001-crud-usuarios.md) - 5 SP - Sprint 2
7. [US-MGN-001-003-002: Gestión de Perfil Propio y Cambio de Contraseña](mgn-001/US-MGN-001-003-002-gestion-perfil-y-cambio-password.md) - 3 SP - Sprint 2
#### RF-004: Multi-Tenancy (13 SP → 3 US)
8. [US-MGN-001-004-001: Crear y Configurar Tenant](mgn-001/US-MGN-001-004-001-crear-tenant.md) - 5 SP - Sprint 3
9. [US-MGN-001-004-002: Schema-Level Isolation (RLS + Dynamic Schema)](mgn-001/US-MGN-001-004-002-schema-isolation.md) - 5 SP - Sprint 3
10. [US-MGN-001-004-003: Tenant Context Switching (Multi-Empresa)](mgn-001/US-MGN-001-004-003-tenant-context-switching.md) - 3 SP - Sprint 3
#### RF-005: Reset de Contraseña (5 SP → 1 US)
11. [US-MGN-001-005-001: Reset de Contraseña (Forgot Password)](mgn-001/US-MGN-001-005-001-reset-password.md) - 5 SP - Sprint 2
#### RF-006: Registro de Usuarios (5 SP → 1 US)
12. [US-MGN-001-006-001: Signup / Auto-Registro de Usuarios](mgn-001/US-MGN-001-006-001-signup-autoregistro.md) - 5 SP - Sprint 4
#### RF-007: Gestión de Sesiones (5 SP → 2 US)
13. [US-MGN-001-007-001: Gestión de Sesiones Activas](mgn-001/US-MGN-001-007-001-gestion-sesiones-activas.md) - 3 SP - Sprint 2
14. [US-MGN-001-007-002: Logout (Cerrar Sesión)](mgn-001/US-MGN-001-007-002-logout.md) - 2 SP - Sprint 1
#### RF-008: Record Rules (RLS) (13 SP → 2 US)
15. [US-MGN-001-008-001: Row Level Security (RLS) Policies](mgn-001/US-MGN-001-008-001-rls-policies.md) - 8 SP - Sprint 5
16. [US-MGN-001-008-002: Field-Level Security (Ocultar Campos Sensibles)](mgn-001/US-MGN-001-008-002-field-level-security.md) - 5 SP - Sprint 5
---
### MGN-002: Empresas y Organizaciones (7 US - 34 SP) ✅ COMPLETADO
#### RF-001: Gestión de Empresas (8 SP → 2 US)
17. [US-MGN-002-001-001: CRUD de Empresas (Companies)](mgn-002/US-MGN-002-001-001-crud-empresas.md) - 5 SP - Sprint 3
18. [US-MGN-002-001-002: Logo y Branding de Empresa](mgn-002/US-MGN-002-001-002-logo-y-branding.md) - 3 SP - Sprint 3
#### RF-002: Configuración de Empresa (5 SP → 1 US)
19. [US-MGN-002-002-001: Configuración Fiscal y Contable de Empresa](mgn-002/US-MGN-002-002-001-configuracion-fiscal-y-contable.md) - 5 SP - Sprint 4
#### RF-003: Asignación de Usuarios a Empresas (8 SP → 2 US)
20. [US-MGN-002-003-001: Asignar Usuarios a Empresas (Multi-Company Access)](mgn-002/US-MGN-002-003-001-asignar-usuarios-a-empresas.md) - 5 SP - Sprint 4
21. [US-MGN-002-003-002: Cambiar Empresa Activa (Company Switcher)](mgn-002/US-MGN-002-003-002-cambiar-empresa-activa.md) - 3 SP - Sprint 4
#### RF-004: Jerarquías de Empresas (5 SP → 1 US)
22. [US-MGN-002-004-001: Jerarquías de Empresas (Holdings y Subsidiarias)](mgn-002/US-MGN-002-004-001-jerarquias-holdings.md) - 5 SP - Sprint 6
#### RF-005: Plantillas de Configuración (8 SP → 1 US)
23. [US-MGN-002-005-001: Plantillas de Configuración por País](mgn-002/US-MGN-002-005-001-plantillas-configuracion-por-pais.md) - 8 SP - Sprint 7
---
### MGN-003: Catálogos Maestros (8 US - 29 SP) ✅ COMPLETADO
#### RF-001: Gestión de Partners (8 SP → 2 US)
24. [US-MGN-003-001-001: CRUD de Partners (Clientes/Proveedores/Contactos)](mgn-003/US-MGN-003-001-001-crud-partners.md) - 5 SP - Sprint 5
25. [US-MGN-003-001-002: Múltiples Direcciones por Partner](mgn-003/US-MGN-003-001-002-direcciones-multiples.md) - 3 SP - Sprint 5
#### RF-002: Gestión de Países y Regiones (3 SP → 1 US)
26. [US-MGN-003-002-001: Gestión de Países, Estados y Ciudades](mgn-003/US-MGN-003-002-001-paises-y-estados.md) - 3 SP - Sprint 5
#### RF-003: Gestión de Monedas y Tasas de Cambio (5 SP → 2 US)
27. [US-MGN-003-003-001: Gestión de Monedas](mgn-003/US-MGN-003-003-001-gestion-monedas.md) - 3 SP - Sprint 4
28. [US-MGN-003-003-002: Gestión de Tasas de Cambio](mgn-003/US-MGN-003-003-002-tasas-de-cambio.md) - 2 SP - Sprint 4
#### RF-004: Gestión de Unidades de Medida (5 SP → 1 US)
29. [US-MGN-003-004-001: Gestión de Unidades de Medida (UoM)](mgn-003/US-MGN-003-004-001-unidades-de-medida.md) - 5 SP - Sprint 6
#### RF-005: Gestión de Categorías de Productos (3 SP → 1 US)
30. [US-MGN-003-005-001: Gestión de Categorías de Productos](mgn-003/US-MGN-003-005-001-categorias-de-productos.md) - 3 SP - Sprint 6
#### RF-006: Condiciones de Pago (5 SP → 1 US)
31. [US-MGN-003-006-001: Gestión de Condiciones de Pago (Payment Terms)](mgn-003/US-MGN-003-006-001-condiciones-de-pago.md) - 5 SP - Sprint 6
---
## Estructura de cada User Story
Cada US sigue esta estructura estandarizada para asegurar calidad y completitud:
```markdown
# US-MGN-XXX-YYY-ZZZ: [Título]
**RF Asociado:** Link al RF
**Módulo:** MGN-XXX - Nombre
**Epic:** Nombre del Epic
**Prioridad:** P0/P1/P2
**Story Points:** X
**Sprint:** Sprint N
**Fecha:** 2025-11-24
## User Story
Como [rol], Quiero [acción], Para [beneficio].
## Descripción Detallada
[Contexto y detalles]
## Criterios de Aceptación
### Escenario 1: [Nombre]
Dado que [...], Cuando [...], Entonces [...]
## Reglas de Negocio
- RN-1: [Regla]
- RN-2: [Regla]
## Tareas Técnicas
### Backend
- [ ] Endpoints
- [ ] Services
- [ ] Tests
### Frontend
- [ ] Componentes
- [ ] API clients
- [ ] Tests
### Database
- [ ] Tablas
- [ ] Índices
## Estimación Detallada
[Tabla con horas por tarea]
## Definition of Done
- [ ] Código implementado
- [ ] Tests pasando (>80% cobertura)
- [ ] Code review aprobado
- [ ] Merge a develop
## Referencias
- Links a RF, ET Backend, ET Frontend, Traceability, Schema
```
---
## Nomenclatura de Archivos
**Formato:** `US-MGN-XXX-YYY-ZZZ-descripcion-corta.md`
- **XXX:** Número de módulo (001-014)
- **YYY:** Número de RF dentro del módulo (001, 002, ...)
- **ZZZ:** Número de US dentro del RF (001, 002, 003)
**Ejemplos:**
- `US-MGN-001-001-001-login-con-email-password.md`
- `US-MGN-004-003-002-validar-balance-debito-credito.md`
- `US-MGN-007-003-001-crear-orden-de-venta.md`
---
## Roadmap de Desarrollo (Sprints)
### Sprint 1-2: Core Authentication & Users (Semanas 1-4)
- **Story Points:** 36 SP
- **Módulo:** MGN-001 (Fundamentos)
- **US:** Login, Refresh Token, RBAC, CRUD Usuarios, Reset Password, Logout
- **Dependencias:** Ninguna (base del sistema)
### Sprint 3-4: Multi-Tenancy & Companies (Semanas 5-8)
- **Story Points:** 42 SP
- **Módulos:** MGN-001 (Multi-Tenancy), MGN-002 (Empresas), MGN-003 (Monedas)
- **US:** Crear Tenant, Schema Isolation, CRUD Empresas, Configuración, Multi-Company
- **Dependencias:** Sprint 1-2
### Sprint 5-6: Master Data & Catalogs (Semanas 9-12)
- **Story Points:** 44 SP
- **Módulo:** MGN-003 (Catálogos Maestros)
- **US:** Partners, Países, Monedas, UoM, Categorías, Payment Terms
- **Dependencias:** Sprint 3-4
### Sprint 7-12: Financial Core (Semanas 13-24) 🔄 PENDIENTE
- **Story Points:** 81 SP
- **Módulo:** MGN-004 (Financiero Básico)
- **US:** Plan de Cuentas, Journals, Asientos, Impuestos, Facturas Cliente/Proveedor, Pagos, Reportes
- **Dependencias:** Sprint 5-6
### Sprint 13-18: Inventory & Warehouse (Semanas 25-36) 🔄 PENDIENTE
- **Story Points:** 66 SP
- **Módulo:** MGN-005 (Inventario Básico)
- **US:** Productos, Almacenes, Movimientos, Pickings, Trazabilidad, Valoración, Inventario Físico
- **Dependencias:** Sprint 7-12
### Sprint 19-22: Purchasing (Semanas 37-44) 🔄 PENDIENTE
- **Story Points:** 42 SP
- **Módulo:** MGN-006 (Compras Básico)
- **US:** RFQ, Órdenes de Compra, Workflow Aprobación, Recepciones, Facturación, Reportes
- **Dependencias:** Sprint 13-18
### Sprint 23-26: Sales (Semanas 45-52) 🔄 PENDIENTE
- **Story Points:** 45 SP
- **Módulo:** MGN-007 (Ventas Básico)
- **US:** Cotizaciones, Conversión a Órdenes, Órdenes de Venta, Entregas, Facturación, Reportes
- **Dependencias:** Sprint 13-18
### Sprint 27-29: Analytics & Projects (Semanas 53-58) 🔄 PENDIENTE
- **Story Points:** 75 SP
- **Módulos:** MGN-008 (Contabilidad Analítica), MGN-011 (Proyectos)
- **US:** Cuentas Analíticas, Líneas, Distribución, Tags, Proyectos, Tareas, Timesheet
- **Dependencias:** Sprint 7-12
### Sprint 30-32: CRM & HR (Semanas 59-64) 🔄 PENDIENTE
- **Story Points:** 60 SP
- **Módulos:** MGN-009 (CRM), MGN-010 (RRHH)
- **US:** Leads, Pipeline, Actividades, Empleados, Contratos, Asistencias
- **Dependencias:** Sprint 5-6
### Sprint 33-34: Reporting & Portal (Semanas 65-68) 🔄 PENDIENTE
- **Story Points:** 68 SP
- **Módulos:** MGN-012 (Reportes), MGN-013 (Portal)
- **US:** Dashboards, Query Builder, Exportaciones, Portal Clientes, Documentos
- **Dependencias:** Sprint 7-12
### Sprint 35-36: Messaging & Notifications (Semanas 69-72) 🔄 PENDIENTE
- **Story Points:** 47 SP
- **Módulo:** MGN-014 (Mensajería)
- **US:** Chatter, Notificaciones, Tracking, Actividades, Followers, Templates
- **Dependencias:** Sprint 1-2
---
## Métricas de Calidad
### Completitud Actual
-**147 US creadas** (100% del total)
-**14 módulos completados** (MGN-001 a MGN-014)
-**~720 Story Points documentados** (100%)
### Estándares de Calidad Implementados
- ✅ Formato Gherkin para criterios de aceptación (Given-When-Then)
- ✅ Tareas técnicas desglosadas (Backend + Frontend + Database)
- ✅ Story Points asignados según complejidad
- ✅ Sprints estimados según dependencias
- ✅ Referencias cruzadas a RF, ET Backend, ET Frontend, Traceability
- ✅ Definition of Done estandarizado
- ✅ Reglas de negocio explícitas
### Distribución de Story Points (US Creadas)
| Complejidad | Story Points | Cantidad US | % Total |
|-------------|--------------|-------------|---------|
| Baja | 2-3 SP | 12 US | 39% |
| Media | 5 SP | 16 US | 52% |
| Alta | 8 SP | 3 US | 9% |
---
## Próximos Pasos
### ✅ Fase 3: Documentación - COMPLETADA
- **147 User Stories** documentadas para 14 módulos
- **~720 Story Points** estimados
- Listo para iniciar implementación
### Fase 4: Implementación (Siguiente)
1. **Sprint 1-2:** MGN-001 Fundamentos (Auth, Users, Roles, Multi-tenancy)
2. **Sprint 3-4:** MGN-002/003 (Empresas, Catálogos Maestros)
3. **Sprint 5-8:** MGN-004 Financiero Básico
4. **Sprint 9-12:** MGN-005 Inventario Básico
### Fase 5: MVP Release
- Completar implementación de módulos P0 (MGN-001 a MGN-008)
- Testing E2E
- Deployment a staging
---
## Equipo y Roles
### Product Owner / Agile Coach
- **Responsable:** Definición de User Stories
- **Fecha Inicio:** 2025-11-24
- **Estado:** ✅ En progreso (21% completado)
### Próximos Involucrados (Fase 4)
- **Tech Lead:** Validación técnica de US
- **Backend Team:** Implementación según US
- **Frontend Team:** Implementación según US
- **QA Team:** Validación de criterios de aceptación
---
## Referencias Cruzadas
Cada US incluye referencias a:
1. **RF Asociado:** Requerimiento Funcional origen
2. **ET Backend:** Especificación Técnica backend
3. **ET Frontend:** Especificación Técnica frontend
4. **Traceability Matrix:** Matriz de trazabilidad YAML
5. **Database Schema:** Schema DDL correspondiente
---
## Convenciones y Estándares
### Prioridades
- **P0 (MVP):** Funcionalidades esenciales, sin ellas el sistema no funciona
- **P1 (Post-MVP):** Funcionalidades importantes, mejoran significativamente el producto
- **P2 (Futuro):** Funcionalidades avanzadas, nice-to-have
### Story Points (Fibonacci)
- **1-2 SP:** Cambio trivial, < 4 horas
- **3 SP:** Cambio simple, 4-6 horas
- **5 SP:** Cambio medio, 8-10 horas
- **8 SP:** Cambio complejo, 12-16 horas
- **13 SP:** Cambio muy complejo, 20+ horas (considerar dividir)
### Velocity Estimado
- **Team Size:** 5 personas (2 backend, 2 frontend, 1 fullstack)
- **Sprint Duration:** 2 semanas
- **Velocity Target:** 20 SP/sprint inicialmente, ajustar según histórico
---
**Documento creado:** 2025-11-24
**Versión:** 2.0
**Estado:** FASE 3 COMPLETADA - 147 US documentadas
**Siguiente Fase:** Implementación (Fase 4)