Autoevaluación Supervisión Efectiva
Documento de discusión — de plantilla Excel a plataforma de tests automatizados de CGM Consulting Group
Cliente piloto: Pintulac · Test piloto: Autoevaluación - Supervisión Efectiva (modelo "Las Tres Ces")
Tabla de contenidos
- Qué revisamos
- Decisiones tomadas
- Anatomía del test
- Cómo se calculan los resultados hoy
- Estado actual: Pintulac
- Hallazgos en los archivos actuales
- Lo que esto nos dice sobre el producto a construir
- Modelo de datos propuesto
- Roles y permisos
- Arquitectura y stack
- Preguntas abiertas para discutir
- Próximos pasos propuestos
🧭 Qué revisamos
Dos archivos, punto de partida de todo lo demás:
| Archivo | Qué es |
|---|---|
Plantilla test Claridad Contagio Contro.xlsx |
La plantilla maestra en blanco: 1 hoja, 70 filas, define la estructura del test. |
Autoevaluación Super Pintulac.xlsx |
La plantilla ya usada por Pintulac: 5 hojas, una por colaborador (Daniel Solano, Elvis Zambrano, Sandra Vega, Mónica de la Cruz, Diana F.), cada una con la plantilla copiada + respuestas + fórmulas de cálculo + gráficos. |
Es decir: hoy "automatizar el test" = copiar la hoja de la plantilla una vez por persona y llenarla a mano. Eso es exactamente el proceso que este proyecto busca reemplazar.
✅ Decisiones tomadas
Primera ronda de discusión, resuelta:
| Tema | Decisión |
|---|---|
| Dueño del sistema | Lo construye CGM Consulting Group como plataforma propia, no solo para Pintulac. |
| Clientes | Pintulac es el único cliente activo hoy, pero hay otros en el radar → el sistema es multi-cliente desde el día uno, con branding/logo por cliente en reportes y (probablemente) en el formulario. |
| Tests | CGM tiene más tests además de "Las Tres Ces", pero arrancamos solo con este test. El modelo de datos debe quedar listo para sumar tests nuevos sin rediseño. |
| Captura | Se reemplaza el Excel por un formulario web. |
| Tipo de evaluación | Para este test, es 100% autoevaluación — el colaborador califica ambos ejes (Aplicación y Respuesta) él mismo. No es 360° en esta primera versión. |
| Visibilidad | El colaborador ve su propio radar. Un jefe de RRHH u otros designados del cliente ven el detalle individual de todo el cliente (no solo su equipo) + el consolidado. |
| Visualizaciones v1 | Se replican los gráficos existentes (radar + barras por subsección). Se revisan/amplían después, no en el primer entregable. |
| Comparación y tiempo | Sí hace falta comparar entre colaboradores y ver evolución en el tiempo — confirma que "campaña" (una aplicación del test en una fecha) es un concepto central del modelo. |
| Cadencia | El plan original es trimestral, pero lo que el sistema debe garantizar es registrar cuándo se realizó cada test, no asumir que siempre será cada 3 meses. |
| Administración | CGM administra clientes, tests y campañas. Los clientes no tienen autoservicio de administración en esta primera versión. |
| Roles de acceso | Tres niveles: usuario CGM (acceso total, todos los clientes), designado del cliente (acceso especial, todo su cliente), colaborador regular (solo sus propios resultados). Detalle en Roles y permisos. |
| Stack | Aún sin decidir entre Symfony puro y Drupal headless — ver Arquitectura y stack. |
🧩 Anatomía del test
El test evalúa el modelo propietario de "Las Tres Ces" de Supervisión Efectiva: Claridad, Contagio y Control. Cada C se divide en subsecciones temáticas, y cada subsección contiene varios parámetros puntuables.
Cada parámetro se califica dos veces, en escala 1–10:
- Aplicación — qué tanto el líder aplica ese comportamiento.
- Respuesta — qué tanto responde/devuelve el equipo frente a ese comportamiento.
| C | Subsección | # parámetros |
|---|---|---|
| Claridad | Roles y responsabilidades | 4 |
| Metas y objetivos | 4 | |
| Políticas y procedimientos | 4 | |
| Contagio | Liderando con el ejemplo | 2 |
| Siendo justos | 2 | |
| Siendo honesto y coherente en todos tus actos | 4 | |
| Control | Indicadores de gestión | 2 |
| Acompañamiento en el campo | 2 | |
| Retroalimentación en tibio | 10 |
34 parámetros × 2 ejes = 68 datos por persona, todos de entrada manual, sin lista desplegable ni validación de rango en la plantilla (se puede tipear cualquier número, incluso fuera de 1–10, y Excel no lo objeta).
🔄 Cómo se calculan los resultados hoy
Dentro de cada hoja de colaborador, además de las respuestas crudas (columnas C y D), hay tres niveles de agregación construidos a punta de fórmulas y copiado manual de celdas:
flowchart LR
A["Respuestas crudas<br/>C13:D70<br/>(34 filas × Aplicación/Respuesta)"] --> B["Promedio por subsección<br/>tabla N:P<br/>=SUM(rango)/n"]
B --> C["Promedio por C<br/>tabla U57:W59<br/>Claridad · Contagio · Control"]
A -.copiado celda a celda.-> D["Tabla plana U63:W97<br/>=+C13, =+D13, ... una fila por parámetro"]
D --> E["12 gráficos de barra<br/>(uno por subsección)"]
D --> F["1 gráfico radar<br/>'Rueda Supervisión Efectiva'"]
C --> F
classDef raw fill:#e8f0fe,stroke:#4285f4,color:#1a237e
classDef calc fill:#fef7e0,stroke:#f9ab00,color:#5f3d00
classDef chart fill:#e6f4ea,stroke:#34a853,color:#0d3d1a
class A raw
class B,C,D calc
class E,F chart
Lo importante: la tabla plana U63:W97 (la que alimenta el gráfico radar grande) no es un cálculo, es una copia manual celda-por-celda (=+C13, =+D14, …) de las 34 respuestas. Se reconstruye a mano cada vez que se copia la hoja para un nuevo colaborador. Es el eslabón más frágil del archivo — y es justo donde encontramos el bug (ver Hallazgos).
📊 Estado actual: Pintulac
5 colaboradores evaluados hasta ahora. Promedios por C (escala 1–10):
| Colaborador | Claridad · Aplic. | Claridad · Resp. | Contagio · Aplic. | Contagio · Resp. | Control · Aplic. | Control · Resp. |
|---|---|---|---|---|---|---|
| Daniel Solano | 9.58 | 8.58 | 9.75 | 9.17 | 9.44 | 9.15 |
| Elvis Zambrano | 8.75 | 7.50 | 8.92 | 7.50 | 7.82 | 6.26 |
| Sandra Vega | 7.50 | 6.08 | 8.50 | 7.67 | 7.91 | 6.92 |
| Mónica de la Cruz | 9.17 | 7.25 | 8.83 | 7.33 | 8.35 | 6.70 |
| Diana F. | 8.00 | 6.08 | 9.08 | 7.75 | 8.44 | 7.33 |
💡 Un patrón que salta a la vista: en los 5 colaboradores y en las 3 Ces, Respuesta siempre puntúa por debajo de Aplicación (brecha de ~1 a ~2 puntos). Nadie puede verlo hoy sin abrir las 5 hojas y comparar a mano — es exactamente el tipo de insight que un dashboard agregado debería mostrar solo, y es un buen argumento a favor de construir la vista comparativa entre colaboradores/equipo desde el día uno.
⚠️ Hallazgos en los archivos actuales
| # | Hallazgo | Ubicación | Impacto |
|---|---|---|---|
| 1 | Fórmula rota =+#REF! en V90/W90 |
Hoja "Daniel Solano" | La fila 90 quedó etiquetada dos veces como "Control retroalimentación en tibio 4" (igual que la fila 91) con una referencia que apunta a una celda borrada. No afecta los promedios por C (esos se calculan aparte, desde la tabla N:P), pero sí deja un punto roto/duplicado en el gráfico radar grande de esa persona. Es la evidencia directa de que copiar-pegar hojas por colaborador es un proceso que falla silenciosamente. |
| 2 | Sin validación de rango | Toda celda de respuesta (C13:D70 y equivalentes) | No hay lista desplegable ni validación de datos — se puede ingresar cualquier número, texto o dejar vacío sin que Excel avise. |
| 3 | Sin hoja de consolidado | Archivo Pintulac completo | Las 5 hojas son islas. No existe una vista "toda la Zona / toda la empresa" — hay que abrir y comparar manualmente, como se hizo arriba a mano para esta tabla. |
| 4 | Sin metadatos de la evaluación | Todas las hojas | No se registra fecha de aplicación, cargo/posición, tienda o punto de venta, ni quién evaluó. Sin fecha, es imposible medir evolución entre periodos (¿mejoró este líder en 6 meses?). |
| 5 | El proceso no escala | Modelo de trabajo | Cada colaborador nuevo = copiar hoja completa (70 filas, 3 tablas de agregación, 13 gráficos) y reconectar fórmulas a mano. Con 5 personas ya apareció un error; con 50 o 500 el archivo se vuelve inmanejable. |
🎯 Lo que esto nos dice sobre el producto a construir
La plantilla Excel no es solo el "diseño visual" del test — ya contiene, implícita, la lógica de negocio completa que el sistema nuevo debe reproducir (y arreglar):
- Un test tiene secciones → subsecciones → parámetros, en ese orden jerárquico, y ese orden importa para el reporte.
- Cada parámetro se responde en dos ejes simultáneos (Aplicación / Respuesta), no es un formulario de una sola pregunta por ítem.
- Los resultados se necesitan en tres niveles de zoom: por parámetro, por subsección, por categoría (C) — y ese último nivel es el que alimenta el radar, que es claramente la visualización "estrella" que le importa al negocio.
- El valor real no está en capturar la respuesta — está en agregar, comparar entre personas y seguir en el tiempo, cosa que Excel no hace hoy y que es el hallazgo #1 de la sección anterior.
- Pintulac es el cliente piloto y esta es la prueba piloto — el sistema debe pensarse multi-cliente y multi-test desde el modelo de datos, no como un caso especial.
🗂️ Modelo de datos propuesto (borrador para discutir)
erDiagram
CLIENTE ||--o{ EMPLEADO : emplea
CLIENTE ||--o{ CAMPANA : encarga
CLIENTE ||--o{ USUARIO : "admite (cliente_admin)"
TEST_PLANTILLA ||--o{ SECCION : define
SECCION ||--o{ SUBSECCION : define
SUBSECCION ||--o{ PARAMETRO : define
TEST_PLANTILLA ||--o{ CAMPANA : se_aplica_en
CAMPANA ||--o{ ENVIO : genera
EMPLEADO ||--o{ ENVIO : responde
EMPLEADO ||--o| USUARIO : "puede iniciar sesión como"
ENVIO ||--o{ RESPUESTA : contiene
PARAMETRO ||--o{ RESPUESTA : califica
CLIENTE {
string nombre "Pintulac"
string logo_url
string color_primario
string color_secundario
}
USUARIO {
string email
enum rol "cgm_admin / cliente_admin / colaborador"
}
TEST_PLANTILLA {
string nombre "Autoevaluación Supervisión Efectiva"
string escala "1-10"
json ejes "[Aplicación, Respuesta]"
}
CAMPANA {
string periodo "Q1 2026"
string periodicidad "trimestral"
date fecha_inicio
date fecha_cierre
}
EMPLEADO {
string nombre
string cargo
string tienda_pos
}
ENVIO {
date fecha_respuesta
enum estado "pendiente/completo"
}
RESPUESTA {
int valor_aplicacion "1-10"
int valor_respuesta "1-10"
}
Puntos deliberados de este borrador, para reaccionar en la discusión:
TEST_PLANTILLAes reutilizable entre clientes (Pintulac hoy, otro cliente mañana con el mismo test o uno nuevo) y entre tests (Las Tres Ces hoy, el próximo test de CGM mañana).CAMPANAes lo que falta hoy en Excel: amarra un test a un cliente en un periodo, lo que habilita comparar entre campañas en el tiempo.periodicidadguarda el plan ("trimestral") peroENVIO.fecha_respuestaes la fecha real — nunca se asume que todos responden a tiempo.EMPLEADO.cargoytienda_posresuelven el hallazgo #4 (sin metadatos) y habilitan cortar los resultados por tienda/zona, no solo por persona.USUARIOsepara quién puede entrar al sistema de quién es evaluado. Uncgm_adminno pertenece a ningún cliente. Uncliente_adminpertenece a unCLIENTEy ve todo lo de ese cliente. Uncolaboradorestá casi siempre ligado 1:1 a unEMPLEADO(así puede loguearse y ver su propio radar) — ese vínculo es opcional en el modelo porque uncliente_adminpodría, a futuro, ser también evaluado.CLIENTE.logo_url/ colores habilitan branding por cliente en reportes y formulario, sin tocar código por cada cliente nuevo.- Los ejes de calificación (
Aplicación/Respuesta) se modelan como algo configurable por test, no hardcodeado — para que el próximo test de CGM no obligue a tocar el esquema.
🔐 Roles y permisos
| Rol | Alcance | Qué puede ver |
|---|---|---|
| Usuario CGM | Global, todos los clientes | Acceso total: crear/editar clientes, tests, campañas; ver detalle individual y consolidado de cualquier cliente. |
| Designado del cliente (ej. jefe de RRHH de Pintulac) | Todo su cliente | Detalle individual de todos los colaboradores de su empresa + el consolidado. No ve otros clientes. No administra tests/campañas (eso es de CGM). |
| Colaborador regular | Sí mismo | Solo su propio radar y resultados, campaña actual e histórico personal. No ve a otros colaboradores. |
⚠️ Pendiente de confirmar: dentro de "designado del cliente", ¿todos los designados tienen el mismo nivel (ven todo el cliente), o eventualmente habrá un nivel intermedio (ej. gerente de zona que solo ve su zona)? Hoy el modelo asume que todo designado ve el cliente completo — si se necesita un nivel intermedio más adelante, se puede resolver sin rediseño mayor (es la opción "configurable por asignación" que quedó descartada para el v1, pero el modelo de
USUARIOla deja abierta).
🏗️ Arquitectura y stack
Todavía sin decidir entre las dos opciones que planteaste. Para aterrizar la conversación:
| Symfony puro | Drupal headless | |
|---|---|---|
| Qué es | Framework PHP, se construye todo a medida. | Drupal está construido sobre Symfony — se hereda su base, más un CMS/entity system encima. |
| Admin de clientes/tests/campañas | Se construye desde cero (CRUD, permisos, listados). | Gran parte viene gratis: Content types/entidades, Views para listados y filtros, sistema de roles y permisos ya maduro. |
| Multi-tenant + branding por cliente | A medida. | Encaja bien con el patrón de entidades + campos de Drupal (logo, colores por "Cliente" como entidad). |
| Formulario del test (68 respuestas) y dashboards con radar/barras | A medida, control total del UX. | También a medida — normalmente desacoplado: un frontend JS a medida (React/Vue) consumiendo Drupal como API (JSON:API / GraphQL), porque el UX de un radar interactivo no es el fuerte nativo de Drupal. |
| Curva/velocidad | Más control, más código propio para lo que Drupal ya trae resuelto (roles, admin). | Arranca más rápido en la parte de administración; el equipo necesita cómodo con el modelo de entidades de Drupal + una capa headless. |
| Cuándo conviene | Si el proyecto es sobre todo el formulario + los cálculos + dashboards, y la parte "administrativa" es chica. | Si CGM anticipa bastante trabajo de administración de datos (muchos clientes, muchos tests, permisos finos) además del formulario/dashboards. |
Recomendación para reaccionar: Drupal headless (Drupal como backend/API + roles + multi-tenant, frontend a medida para el formulario y los dashboards) — porque el catálogo de clientes/tests/campañas/permisos que describiste es justo lo que Drupal resuelve de fábrica, y da flexibilidad total en la capa de captura y visualización, que es la parte más "de producto" del proyecto. Pero es una recomendación, no una decisión — queda pendiente confirmarla.
❓ Preguntas abiertas para discutir
Formulario web
- ¿El colaborador entra con usuario/contraseña, o con un link único por campaña (sin cuenta que mantener)?
- Con 68 respuestas en un solo test, ¿el formulario permite guardar avance a medias y continuar después, o se llena de una sentada?
- ¿Se conserva la escala numérica 1–10 tal cual (input numérico), o vale la pena una UI tipo slider/estrellas para ese rango?
Roles y permisos
- Ver la pregunta pendiente en Roles y permisos: ¿todo designado de cliente ve el cliente completo, o hará falta un nivel intermedio (por zona/equipo) más adelante?
Branding
- ¿El branding por cliente es solo logo en reportes/PDF, o también colores/tema dentro del formulario que llena el colaborador?
Arquitectura
- Ver Arquitectura y stack: ¿Symfony puro o Drupal headless? ¿Alguien del equipo ya tiene experiencia fuerte en uno de los dos que deba pesar en la decisión?
Roadmap de tests
- Mencionaste que hay más tests de CGM además de las Tres Ces — ¿conviene ver por encima 1 o 2 de esos tests ahora, aunque no se construyan todavía, solo para confirmar que el modelo de datos (Modelo de datos propuesto) realmente generaliza y no está sesgado hacia las particularidades de este test?
🚀 Próximos pasos propuestos
- Cerrar la decisión de arquitectura y stack (Symfony vs. Drupal headless) — es la que más condiciona cómo arranca el proyecto.
- Resolver las preguntas de UX del formulario (login por link vs. cuenta, avance guardado) — afecta el modelo de
ENVIO/USUARIO. - Convertir el borrador de modelo de datos en un esquema concreto (migraciones/entidades) sobre el stack elegido.
- Definir el primer entregable útil: probablemente cargar los datos que ya existen de Pintulac (arreglando el bug del hallazgo #1) para tener un dashboard real desde el arranque, antes de construir la captura de campañas nuevas.