La hoja de cálculo que se hizo base de datos sin pedir permiso

Filtrar, copiar celdas y pegar en una pestaña nueva para cada ponente. Así funcionaba aquel congreso, hasta que le propuse a Mireia otra cosa. Sobre por qué usamos hojas de cálculo como bases de datos, cuándo tiene sentido y cuándo el atajo sale caro.

Una hoja de cálculo impresa que se extiende como un rollo de papel infinito por el suelo de una oficina vacía

Un congreso, hace un par de años. Yo estaba echando una mano a Mireia con la organización: charlas plenarias por la mañana, sesiones pedagógicas en grupos pequeños por la tarde, y un listado de asistentes que vivía —entero, sin excepciones— en una hoja de cálculo. Cada ponente necesitaba saber quién iba a estar en su sesión. Solo en la suya. No en las demás, no los teléfonos de gente que no era asunto suyo, no las alergias alimentarias del auditorio completo.

El procedimiento era este: abrir la hoja madre, filtrar por el nombre de la charla, seleccionar las celdas resultantes, copiarlas, crear una hoja nueva, pegarlas, guardar, compartir. Y otra vez. Y otra vez. Multiplicado por el número de sesiones. Funcionaba, en el sentido en que funciona empujar un coche cuesta arriba: llegas, sí, pero sudando y con la sensación de que el coche tenía un motor y no lo estabas usando.

El refugio de la cuadrícula

Antes de reírnos de nadie, conviene entender por qué la hoja de cálculo gana siempre esa primera batalla. Es honesta. La abres y ahí está todo, delante de tus ojos, sin capas de abstracción ni pantallas de administración. Escribes en una celda y la celda contiene lo que has escrito. Ordenas por apellido y ves cómo se reorganiza el mundo en tiempo real. Filtras por ciudad y desaparece lo que no te interesa. Nadie necesita un curso para entender qué es una fila.

Y no se queda ahí. Puedes hacer operaciones entre celdas que no son solo sumas: concatenar nombre y apellido, extraer el dominio de un correo electrónico, contar cuántas veces aparece una palabra, cruzar dos listados con un BUSCARV que, mal que le pese a los puristas, ha sostenido más negocios en este país que cualquier framework moderno. La hoja de cálculo es una navaja suiza que además viene ya instalada, ya pagada y ya comprendida.

Para una lista de treinta invitados a una boda, para el inventario de un taller pequeño, para llevar la cuenta de las cuotas de un club de tiro con arco, es la respuesta correcta. No la respuesta perezosa: la correcta. Montar una infraestructura de servidor para saber quién ha pagado la cuota de este trimestre sería un delito contra el sentido común.

Dónde se rompe la cuadrícula

El problema aparece cuando la hoja deja de ser una lista y empieza a ser un sistema. Y esa transición nunca se anuncia. Nadie te avisa el martes por la mañana de que tu hoja de cálculo acaba de convertirse en la base de datos crítica de tu organización.

Se nota en los síntomas. Aparece una segunda hoja porque una persona puede asistir a dos sesiones y ya no cabe en una fila. Aparece la columna Notas donde se meten cosas que deberían ser tres columnas distintas. Aparece el archivo asistentes_FINAL_v3_bueno.xlsx conviviendo con asistentes_FINAL_v3_bueno_REVISADO.xlsx y nadie sabe cuál de los dos tiene la corrección de aquel correo mal escrito. Alguien ordena una columna sin seleccionar el resto de la tabla y los teléfonos se divorcian de sus dueños en silencio, sin mensaje de error, sin nada. Descubres el destrozo tres semanas después, cuando llamas a Ana y te contesta Roberto.

Y luego está lo que nos ocupaba en aquel congreso: los permisos. Una hoja de cálculo no sabe quién eres. No tiene ningún concepto de identidad. Puede protegerse con contraseña, puede compartirse en modo lectura, pero no puede decidir que Marta ve estas quince filas y Javier ve estas otras doce. Su modelo de seguridad es un archivo entero: lo tienes o no lo tienes. Por eso alguien acaba filtrando, copiando y pegando a mano. No es que sean torpes. Es que la herramienta no ofrece otra cosa, y las personas somos extraordinariamente buenas rellenando con trabajo manual los huecos que deja el software.

Lo que sí sabe hacer una base de datos

Una base de datos, en cambio, nace sabiendo tres cosas que la hoja de cálculo desconoce. La primera es la integridad: si una columna es una fecha, no vas a poder escribir "el jueves que viene" en ella. Si un asistente tiene que pertenecer a una sesión que existe, no vas a poder inscribirlo en una sesión inventada. La estructura se defiende sola, sin depender de que todo el mundo se acuerde de escribir las provincias siempre igual.

La segunda es la relación. En lugar de repetir el nombre completo, el correo y el teléfono de una persona en cada una de las cinco sesiones a las que asiste —cinco oportunidades de que un dato quede desactualizado—, la persona existe una vez y las sesiones apuntan a ella. Cambias su correo en un sitio y cambia en todas partes. Suena trivial hasta que has vivido lo contrario.

Y la tercera es precisamente la que puso todo esto en marcha: la vista. Una base de datos puede entregarle a cada quien exactamente lo que le corresponde. El ponente entra con su usuario y ve a los participantes de su sesión. No los ve porque alguien se los haya copiado a mano en una pestaña nueva, sino porque el sistema sabe quién es y le muestra su rebanada del pastel. Nadie tiene que acordarse de nada. Nadie puede equivocarse de pestaña un domingo por la noche.

"No hace falta complicarse tanto"

Cuando le propuse a Mireia que montáramos una base de datos única, segmentada por usuario, me miró con una serenidad casi budista y me dijo que no hacía falta complicarse tanto.

La entiendo perfectamente. En su cabeza, "base de datos" significaba servidores, contratos de mantenimiento, un consultor con americana y una factura que no estaba presupuestada. Significaba un mes de trabajo para resolver algo que ella resolvía en veinte minutos por sesión. Su intuición no era estúpida: era una estimación de coste basada en información desactualizada, que es la forma más humana de equivocarse.

La ignoré, claro. Un par de horas más tarde teníamos la base de datos funcionando, con acceso segmentado por el usuario de cada ponente. Dos horas. Menos de lo que iba a costar hacer el copiar-y-pegar de todas las sesiones, y muchísimo menos de lo que habría costado repetirlo cada vez que alguien se apuntaba tarde o cambiaba de grupo, que ocurrió, como ocurre siempre.

Lo que había cambiado desde la última vez que él se había asomado a esto no era la dificultad conceptual. Era el suelo. Herramientas como Airtable, NocoDB, Baserow, Grist o incluso un Supabase con cuatro tablas bien pensadas han bajado tanto la barrera que hoy la distancia entre una hoja de cálculo y una base de datos relacional decente se mide en tardes, no en trimestres. Y muchas de ellas te reciben con una interfaz que se parece sospechosamente a... una hoja de cálculo. Filas, columnas, filtros. Solo que debajo hay un motor.

El coste de la ignorancia amable

Aquí está la parte que me interesa de verdad, y no es técnica.

Mireia no rechazó la propuesta por vagancia. La rechazó porque no sabía que existía. Descartó una solución cuya existencia desconocía, y para descartarla usó una estimación de esfuerzo inventada. Esto lo hacemos todos, todo el rato, en todos los ámbitos de la vida. Es lo que nos mantiene lavando la ropa a mano espiritualmente hablando: la certeza de que la lavadora debe de ser carísima y complicada, sin haber preguntado nunca el precio.

Y hay algo más incómodo. Los procesos manuales tienen una cualidad tramposa: parecen baratos porque su coste está repartido en trocitos pequeños. Veinte minutos aquí, un cuarto de hora allá, una tarde de sábado arreglando un desastre que nadie confesará. Nunca aparecen en ninguna hoja de gastos. Mientras tanto, la alternativa tiene un coste concentrado y visible —esas dos horas— y por eso duele más aunque sea infinitamente menor. Nuestra contabilidad mental está mal diseñada para este cálculo.

La herramienta adecuada, sin dogmas

No pretendo que nadie tire su hoja de cálculo por la ventana. Sigo abriendo la mía para cosas que no merecen más ceremonia, y seguiré. El criterio no es "hoja mala, base de datos buena". El criterio es preguntarse tres cosas cuando la hoja empieza a pesar: ¿hay más de una persona escribiendo en esto?, ¿hay información que unos deben ver y otros no?, ¿estoy repitiendo el mismo dato en más de un sitio? Con un solo sí, ya merece la pena mirar qué hay al otro lado. Con dos, ya estás pagando el precio aunque no lo veas.

Invertir tiempo en tener la herramienta adecuada para el trabajo casi nunca es una complicación. Es lo contrario: es negarse a que el trabajo se complique despacio, en silencio, durante meses, hasta que un domingo por la noche estás filtrando celdas para un congreso que empieza el martes y ya no recuerdas por qué esto era lo sencillo.

···
Otras entradas