# Dirección estratégica — InQ ROI

> Documento de decisiones estratégicas del director (Marcos) que orientan el desarrollo del producto en sprints futuros. Se actualiza al cerrar cada sprint con reflexiones del director.
>
> NO es backlog (ver `BACKLOG.md`) ni deuda técnica (ver `TECH_DEBT.md`). Es **el "por qué" detrás de las decisiones de prioridad**.

---

## Versión actual: post-Sprint 1.5 (mayo 2026)

### Reorientación estratégica detectada al cerrar Sprint 1.5

Durante el Sprint 1.5, el director identificó que la inversión de tiempo en el producto estaba desbalanceada:

- **7 de 11 etapas del Sprint 1.5 fueron sobre PDF** (Etapas 4, 5, 6, 7, 8 + porción de 1 y 11)
- **3 de 11 etapas fueron sobre web app** (Etapas 1, 3, 9)
- **1 etapa fue mixta** (Etapa 2: helper compartido)

Esta proporción tuvo justificación válida en Sprint 1.5 porque se establecía identidad visual y sistema de diseño desde cero. Pero **replicar esa proporción en Sprint 2+ sería un error estratégico.**

### Decisión: rebalanceo de prioridades

**El producto es la herramienta web. El PDF es entregable final del producto.**

A partir de Sprint 2:

| Componente | Inversión esperada |
|---|---|
| Web app (workspace + reporte + features) | 60-70% del tiempo del sprint |
| PDF (refinamientos, nuevas secciones) | 15-25% |
| Infraestructura (deuda técnica, build, deploy) | 10-15% |
| Documentación / metodología | 5-10% |

**Razón:** el consultor de InQuality usa el web app **decenas de veces** mientras itera sobre un caso. Exporta el PDF **una vez** al final. Una mejora en el web app tiene 10× más impacto en la productividad del consultor que un refinamiento del PDF.

### Implicancia operativa para Sprint 2+

- No abrir sprints con foco principal en PDF
- Si un sprint requiere trabajo de PDF, que sea acotado a una etapa puntual, no transversal
- Los refinamientos del PDF se acumulan en `TECH_DEBT.md` para resolver en sprints periódicos de "polish", no continuamente
- Features nuevas del producto se construyen en el web app primero, exporte al PDF segundo

---

## Decisión: criterio de "wow" como parte del scope de cada feature

Detectado durante validación visual del Sprint 1.5 (Etapa 6). Se observó que la implementación "mínima" cumple la funcionalidad pero pierde el efecto de experiencia que diferencia un producto profesional de un funcional.

### Política a partir de Sprint 2

Cada `ETAPA_PROMPT.md` que defina una feature nueva debe incluir una sección explícita **"Criterio de wow"** con dos versiones del scope:

- **Versión mínima:** lo que cumple la funcionalidad
- **Versión con wow:** mismo objetivo + 1-2 detalles de experiencia que generen impacto positivo en el usuario

El director decide en cada feature si se implementa la mínima o la con wow. **Por defecto, la versión con wow es la recomendada** si el costo extra es menor al 40% del tiempo de la versión mínima.

### Ejemplo aplicado: feature "Recursos con costo por hora"

- **Mínimo:** input numérico, cálculo en backend, número en tabla
- **Con wow:** input con sugerencias de salario por rol (CEO, Analista, etc.), validación en tiempo real, cálculo actualiza mientras escribís, helper que dice "esta actividad cuesta el equivalente a X días de trabajo de Y persona"

Ambas resuelven el problema. La segunda es lo que diferencia InQ ROI de una calculadora Excel.

---

## Definiciones estables — no se reabren hasta nuevo aviso

### Identidad visual (estable hasta Sprint 4+)

- Paleta cromática: naranja InQ `#F59845`, magenta `#ED3E8F`, gradiente identidad
- Tipografía: system-ui stack
- Sistema de componentes (KPI cards, banners, tablas, botones)
- Reglas de marca no negociables: "InQ" siempre I-n-Q, "Powered by InQuality" en footer
- Tono: técnico-pragmático, profesional, sin marketing-speak

### Lo que NO está definido pero NO bloquea

- Logo SVG de InQuality (es texto por ahora, OK)
- Ícono ⚡ refinado (es emoji, OK)
- Color de tipos de recurso (se define cuando aparezca la feature)
- Manual de marca formal de InQuality (cuando exista, se incorpora)

### Cuándo reabrir identidad

Solo si InQuality consolida manual de marca formal con assets nuevos, o si feedback de uso real en talleres revela un problema específico.

---

## Definiciones por consolidar — requieren input externo

### Posicionamiento de mercado de InQ ROI

**Estado:** indefinido más allá de "herramienta interna de InQuality + consultoras LATAM".

**Preguntas abiertas:**
- ¿InQ ROI se vende a otras consultoras o se mantiene interno?
- Si se vende, ¿con qué pricing?
- ¿Qué pasa si una consultora competidora descubre el producto?
- ¿El nombre "InQ ROI" sobrevive cuando se venda fuera de InQuality?

**Decisión pendiente:** post-Sprint 2 con feedback de uso real en InQuality.

### Métricas de éxito del producto

**Estado:** no definidas formalmente.

**Sugerencia para definir:** post-Sprint 2 con datos reales de uso interno. Algunas candidatas:
- Cantidad de procesos costeados por consultor por semana
- Tiempo promedio de la primera simulación útil
- NPS interno del equipo InQuality
- Cantidad de propuestas pre-venta que incluyen output de InQ ROI

---

## Filosofía operativa que orienta las decisiones

### El equipo es héroe, el director es guía (Donald Miller)

El equipo de 5 técnicos de InQuality va a ser el operador del día a día. El director (Marcos) los guía con metodología, pero **no es el operador**. Las decisiones del producto y del método se documentan para que sean transferibles.

### Validación humana es ojo, no test

Los artefactos visibles requieren validación visual del director (o un miembro del equipo capacitado) antes del cierre de etapa. Tests verdes no equivalen a aprobación final. Este principio se aplicará en todos los sprints futuros.

### Iniciativa agéntica con consulta clasificada

Los agentes pueden proponer cambios proactivos, pero se clasifican por impacto:
- Nivel 1 (trivial): ejecutar
- Nivel 2 (visible reversible): ejecutar y reportar
- Nivel 3 (marca, arquitectura, datos): consultar antes

Esta política aplica indefinidamente. Documentada en `methodology/PRINCIPLES.md`.

### Anti-perfeccionismo prematuro

Refinamientos visuales finos se acumulan en `TECH_DEBT.md` y se resuelven en sprints periódicos de "polish", no continuamente. Esto evita gastar 3 horas refinando un componente que va a tener que tocarse otra vez al agregar features.

---

## Decisiones de método aprendidas durante Sprint 1.5

Estas son aprendizajes operativos validados con casos reales. Se documentan acá como guía estratégica, no como reglas dogmáticas.

### Briefs versionados son innegociables

Sin un brief en `sprints/sprint-N/BRIEF.md`, cualquier sesión con Claude Code es improvisación. Esta práctica aplica a todos los sprints futuros.

### Mockups son contratos visuales

Cuando un cambio es visual, el mockup interactivo aprobado por el director es el ground truth. El agente lo replica, no lo interpreta libremente.

### La metodología evoluciona caso por caso

Los patrones documentados en `methodology/` se validan en proyectos reales. No se inventan patrones especulativos. Cuando un problema operativo aparece, se registra como observación; cuando aparece dos veces, se promueve a patrón.

---

## Próxima revisión de este documento

**Fecha:** al cerrar Sprint 3.

**Qué actualizar:**
- Confirmar decisión sobre Modelo B (AS-IS/TO-BE con dos BPMNs)
- Evaluar catálogo global de recursos vs por proceso con datos de uso real
- Refinar posicionamiento y métricas con feedback de talleres InQuality

---

## Reflexiones del cierre de Sprint 1.5

> Agregado el 2026-05-18 al cerrar formalmente el sprint.

### Lo que funcionó bien

**El brief como ancla de coherencia.** Las 11 etapas mantuvieron consistencia de marca, paleta y arquitectura sin re-explicar el contexto en cada sesión. El `BRIEF.md` de ~850 líneas más `CLAUDE.md` con reglas no negociables resultaron suficientes para que el agente retomara contexto en sesiones nuevas incluso con compactación de contexto.

**La validación visual como capa de calidad independiente.** En dos casos los tests estaban 100% verdes pero el output visual tenía problemas reales: compactación de páginas (Etapa 5) y artefactos de esquinas en el KPI Hero (Etapa 11). La validación visual del director los cazó en ambos casos. Esta práctica se consolida como mandatoria en todos los sprints futuros.

**La documentación del método en tiempo real.** AP.8, el refinamiento de C.6 y D.4 surgieron de problemas reales durante el sprint y se documentaron en el momento. El material resultante para transmisión al equipo es concreto, no especulativo.

**Los PDFs como entregable de clase profesional.** Al cierre del sprint, los 3 PDFs tienen identidad visual coherente, son 100% reproducibles via E2E, y pasan inspección visual de nivel "presentable a cliente". Esto no era el caso al abrir el sprint.

### Lo que costó más de lo esperado

**Las esquinas redondeadas del KPI Hero.** 3 iteraciones para resolver un problema aparentemente simple: (1) overlay de rectángulos blancos + arcos naranja → colisión con el gradiente magenta en esquina derecha; (2) canvas clip con transparencia PNG → jsPDF no renderiza alpha correctamente; (3) canvas con fondo blanco opaco + clip → solución definitiva. El tiempo invertido fue desproporcionado al impacto visual.

**La proporción PDF/web.** 7 de 11 etapas fueron sobre PDF. El rebalanceo debió haberse decidido en el brief del sprint, no al cerrarlo. La decisión de "establecer identidad visual desde cero" fue correcta para Sprint 1.5, pero el método de trabajo no contempló explícitamente el límite de inversión en PDF antes de empezar.

**Los casos de mala clasificación de iniciativa.** Dos casos (Etapas 5 y 7-8) requirieron revisión retroactiva y discusión meta sobre el método. El costo no fue solo el tiempo de corrección, sino la incertidumbre sobre qué otros cambios podrían haberse aplicado sin consulta. Originaron el refinamiento más detallado del Patrón C.6.

### Decisiones arquitectónicas tomadas en el sprint

| Decisión | Estado al cierre |
|---|---|
| Gráfico de trayectoria SVG nativo en jsPDF (sin html2canvas) | Definitiva — aplicada en página 5 del PDF ROI |
| Fórmulas ASCII puro en notas metodológicas | Definitiva — alineada con terminología financiera de la audiencia |
| Portrait en todas las páginas del PDF ROI | Definitiva — consistencia con los otros PDFs |
| Canvas clip con fondo blanco para esquinas redondeadas | Definitiva — sin artefactos de color |
| `automatable` persiste solo al Guardar (no auto-save) | Provisional — revisar en Sprint 2 con feedback de uso real |

### Estado de definiciones del producto al cierre de Sprint 1.5

**Estables (no se reabren):**
- Identidad visual completa: paleta naranja, gradiente, reglas de marca
- Stack tecnológico: sin cambios respecto al MVP
- Modelo de escenarios: Modelo A (dos campos por actividad, un BPMN)
- ROI: cálculos nominales simples sin VPN ni Monte Carlo

**Pendientes de input externo:**
- Posicionamiento de mercado (¿herramienta interna o venta a otras consultoras?)
- Métricas de éxito del producto (post-Sprint 2 con datos reales de uso)
- Nombre comercial definitivo ("InQ ROI" es nombre de trabajo)
- Manual de marca formal de InQuality (cuando exista, se incorpora)

**Nueva prioridad para Sprint 2:**
- Rebalanceo web/PDF: 60-70% features de web app, 15-25% PDF
- Criterio de wow obligatorio en cada ETAPA_PROMPT.md
- Feedback de uso real en talleres InQuality como insumo para decisiones de UX

---

## Reflexiones del cierre de Sprint 2

> Agregado el 2026-05-20 al cerrar formalmente el sprint.

### Rebalanceo web/PDF — cumplido

Sprint 2 tuvo 4 etapas de web app (1, 2, 3, 4), 2 de PDF (5, 6) y 0 de infraestructura pura. Proporción aproximada: 65% web, 30% PDF, 5% tests/fixes. Dentro del rango comprometido. El criterio de wow se aplicó en ActivityPanel (Etapa 2) y en la tabla expandible del reporte (Etapa 3).

### Decisiones arquitectónicas tomadas en el sprint

| Decisión | Estado al cierre |
|---|---|
| Modelo de recursos: `utilizationMinutes + units` reemplaza `utilizationPercent` | Definitiva — migración Dexie v3 aplicada |
| Catálogo de recursos por proceso (no global) | Provisional — revisar en Sprint 3 con uso real |
| Recursos solo en AS-IS en Sprint 2 | Provisional — TO-BE con Modelo B en Sprint 3 |
| Modelo A mantenido (un BPMN, dos sets de campos) | Provisional — Modelo B evaluado en Sprint 3 |
| Badge ⚡ en 20×20px | Definitiva — validado visualmente |
| Tabla de recursos en PDF como página condicional (4 o 5) | Definitiva |

### Lo que funcionó bien

**El control preventivo `git diff`** agregado a partir de Etapa 2 eliminó completamente las sorpresas de scope en Etapas 3-6. Ningún archivo no autorizado apareció en el diff sin explicación. El aprendizaje de Etapa 1 (AP.9) se capturó en tiempo real y se aplicó inmediatamente.

**El modelo de recursos `utilizationMinutes + units`** resultó más natural para documentar en talleres que el `utilizationPercent` anterior. La pregunta "¿cuántos minutos dedica el analista a esta actividad?" es verificable en una entrevista; "¿qué porcentaje de utilización tiene?" no lo es.

**La separación de CLAUDE.md en dos archivos** (implementación vs. estrategia) funcionó bien operativamente. Claude Code lee su propio archivo sin contexto innecesario; el asesor en Cowork lee el estratégico.

### Lo que costó más de lo esperado

**El bug del slider en Etapa 1.** La restricción contradictoria en el prompt (`❌ ActivityPanel.tsx` + `build sin errores TypeScript`) generó una decisión unilateral del agente que requirió una etapa completa para corregir. Originó AP.9 y C.7 — dos adiciones al método que valen más que el tiempo perdido.

**rowSpan en jsPDF-autotable.** No está soportado en body cells. El prompt lo advirtió y dio la salida de emergencia correcta, pero fue tiempo de investigación que podría haberse ahorrado con ese conocimiento documentado. Va a `TECH_DEBT.md` como anotación para futuros prompts de PDF con tablas agrupadas.

### Decisiones de producto pendientes para Sprint 3

- **Modelo B (AS-IS / TO-BE):** ¿abrimos esa puerta o seguimos con Modelo A y mejoramos la experiencia del modelo actual?
- **Catálogo global de recursos:** ¿el valor de compartir recursos entre procesos justifica la complejidad en Sprint 3, o esperar a Sprint 4 con más procesos cargados?
- **Indicador de simulación desactualizada:** alto impacto en talleres, bajo esfuerzo. Candidato a entrar en Sprint 3.
- **Posicionamiento:** post-Sprint 2 es el momento comprometido para una primera conversación sobre herramienta interna vs. venta externa.