Files
inq-roi-simulador-web/BACKLOG.md
2026-07-07 17:21:37 -03:00

7.5 KiB
Raw Permalink Blame History

BACKLOG — InQ ROI

Features de producto pendientes. Decisión del director (qué entra, cuándo). No incluye deuda técnica ni hallazgos de sprint actual (ver TECH_DEBT.md y OBSERVATIONS.md).


Convención de etiquetas

Cada ítem tiene una etiqueta de estado:

  • [SPRINT-2] — Comprometido para el próximo sprint
  • [BACKLOG] — Disponible para asignar en planning de sprint futuro
  • [FASE-2] — Versión 2.0 del producto, más allá del horizonte actual
  • [DEFERRED] — Pospuesto sin sprint asignado, requiere decisión

Al cerrar un sprint, los ítems [SPRINT-N] se promocionan a [SPRINT-(N+1)] o vuelven a [BACKLOG].


Features de alta prioridad

[RESOLVED] Ver procesos asociados a un recurso + navegar a ellos

Implementado en Sprint 5 Etapa 4. ResourceCatalogPage muestra columna "Procesos" con conteo. Click expande lista de procesos con links. resource-repo.ts provee getProcessCountsByResourceId() y getProcessesByResourceId(). Confirmado 2026-06-23.

[RESOLVED] Campo "empresa" en perfil de usuario

Implementado en Sprint 5 Etapa 4. Columna company en tabla users (Supabase), campo editable en ProfileSheet, visible en dropdown AppHeader. Confirmado 2026-06-23.

[RESOLVED] Indicador de simulación desactualizada

Implementado en Sprint 3. Confirmado funcionando en validación visual Sprint 4 (muestra "Hay cambios sin simular" junto al botón Simular). Cerrado Sprint 5 planning (2026-06-19).

[BACKLOG] Múltiples simulaciones por proceso

Historial de simulaciones con comparación de escenarios.

[BACKLOG] Recursos con costo por hora

Link actividad ↔ recurso (rol, persona, sistema) con cálculo automático del costo agregado.

[RESOLVED] Edición del nombre de proceso y cliente desde el workspace

Implementado en Sprint 2. Confirmado funcionando en validación visual Sprint 4. Cerrado Sprint 5 planning (2026-06-19).

[BACKLOG] Gateway OR inclusivo nativo

Actualmente se simula como XOR. Implementar propagación OR real con probabilidades independientes.

[BACKLOG] Distribuciones de probabilidad

Gamma/triangular por actividad en lugar de valores fijos. Permite análisis de sensibilidad.


Features de media prioridad

[BACKLOG] Export a Excel (.xlsx)

Múltiples hojas: resumen + por actividad + metodología. Útil para clientes que necesitan análisis adicional en planillas.

[BACKLOG] Modo oscuro

Dark mode para el web app.

[BACKLOG] i18n: inglés + español configurable

Necesario cuando InQuality empiece a vender fuera de LATAM.

[BACKLOG] PWA installable

Manifest + service worker para uso offline.

[BACKLOG] Zoom/pan del heatmap desde el reporte

Hoy es visualización estática. Permitir interacción.

[RESOLVED] Controles de zoom en canvas BPMN (fit-to-screen / zoom-in / zoom-out)

Implementado en Sprint 5 Etapa 2. fit-viewport con centering correcto, botones zoom-in/zoom-out/fit en esquina inferior izquierda (1.2x factor, límites 0.1x4x). OK formal del director 2026-06-19.

[BACKLOG] Detalle de recursos por actividad en el PDF

Tabla de costos por recurso asignado dentro de cada actividad.

[BACKLOG] Importación por URL

Cargar BPMN desde enlace directo (GitHub, Confluence, etc.).

[RESOLVED] Columna "Eficiencia de automatización" en ComparisonTable

Implementado en Sprint 5 Etapa 5. Dos columnas: "Ahorro esperado" (ahorro$ × executionProbability) y "Eficiencia" (ahorro$ × executionProbability / executionTimeMinutes en currency/min). Barras de progreso proporcionales, sort multi-columna, tooltips. A/B para focus group con clientes. OK formal del director 2026-06-23.

[BACKLOG] ComparisonTable — whitespace-nowrap en celda de Eficiencia

El valor y la unidad ("1.02 USD/min") se cortan en dos líneas por ancho de celda. Fix: agregar whitespace-nowrap al <span> del número en MetricCell dentro de ComparisonTable.tsx. Una línea de cambio.


Features Fase 2 (versión 2.0 del producto)

[RESOLVED] Login y multi-tenant

Implementado en Sprint 4. Supabase + Google Workspace OAuth, PostgreSQL, RLS, catálogo de recursos global, identidad en UI. Ver sprints/sprint-4/BRIEF.md. Cerrado 2026-05-xx.

[FASE-2] Versionado de procesos

Historial de cambios con diff visual.

[FASE-2] Gobernanza / RACI

Asignación de responsables por actividad (Responsible, Accountable, Consulted, Informed).

[FASE-2] Jerarquía organizacional

Integración con orgchart para asignar costos por área de la empresa.

[FASE-2] IA / asistente

Sugerencias de optimización, benchmarking automático.

[FASE-2] Marketplace de procesos

Biblioteca de BPMNs precostos por industria.

[FASE-2] Elementos RPA y agentes

Soporte para costos de bots y workflows automatizados.

[FASE-2] Tutoriales interactivos

Onboarding guiado para usuarios nuevos.


Decisiones de producto pendientes

Mantener en web app o eliminar cuando InQuality venda a clientes internacionales no-LATAM.

A favor: identidad regional, toque humano, diferenciador. En contra: sesgo gringo en clientes corporativos.

Decisión pendiente para: Sprint 3-4 con feedback de uso real en talleres y demos.

[BACKLOG] Logo InQuality en header de PDFs

Los assets SÍ existen en assets/ (4 PNGs documentados en simulador-web/CLAUDE.md). La justificación original ("aún no existen") era incorrecta.

Assets disponibles:

  • MARCA FINAL 2023 AREA DE SEGURIDAD 1 COLOR.png — logo horizontal color (candidato principal)
  • MARCA FINAL 2023 AREA DE SEGURIDAD 1 BCO.png — logo horizontal blanco (para fondos oscuros)

Trabajo pendiente: cargar el PNG vía html2canvas o convertirlo a base64 e inyectarlo en el header de los 3 PDFs (Actual, Automatizado, ROI). Ya existe la regla en CLAUDE.md de usar el PNG en lugar de texto "InQ"/"InQuality".

Estimación: Sprint 6 o posterior. Baja prioridad — los PDFs ya tienen "Powered by InQuality" en footer.

[SPRINT-8] Consolidación modelo de cliente: organizations → areas → procesos

Refactorización de modelo de datos para unificar los tres conceptos paralelos de "cliente" (process_groups, clientName, org_id) en una jerarquía de dos niveles.

Scope:

  • Nueva tabla areas (id, org_id, name) — reemplaza process_groups
  • area_id en processes — reemplaza group_id
  • Eliminar campo clientName (texto libre) del dominio y la UI
  • LibraryPage: agrupa por org → área (en lugar de por clientName)
  • Workspace sidebar: org como contexto (read-only), área como selector normalizado
  • Admin UI: CRUD de áreas por org
  • RLS para areas
  • Migración: bulk-assign 154 procesos de prueba a InQuality, eliminar process_groups de prueba
  • Tests E2E del flujo completo

Referencia: STRATEGIC_DIRECTION.md → "Consolidación del modelo de cliente" (2026-07-07).


[BACKLOG] Ocultar Settings y ruta /settings para roles de cliente

El ícono de tuerca (⚙) en LibraryPage es visible y navegable para client_editor y client_viewer. La página de configuración ("Etiqueta de grupos") es una feature interna de InQuality — un cliente no debería ver ni editar esta preferencia.

Trabajo pendiente:

  • Ocultar el botón de Settings en LibraryPage para client_editor y client_viewer
  • Agregar guard en la ruta /settings (componente-level, mismo patrón que /admin/* y /import)
  • Verificar si /recursos también debe ser inaccesible para roles de cliente

No es riesgo de seguridad (es solo preferencia de UI local, sin datos sensibles). Estimación: 1h — agregar al sprint siguiente junto con otros ajustes de UX de cliente.