Caso de estudio
De la hoja de cálculo a un sistema validado en producción
Un cálculo destinado al cliente dependía de un flujo ambiguo en hojas de cálculo. Reconstruimos sus reglas y entregamos un sistema determinístico y probado, con interfaz web, API e importación y exportación XLSX.
La operación diaria del cliente dependía de un cálculo que había crecido dentro de una hoja de cálculo. Las personas la usaban todos los días, pero se había vuelto difícil confiar en ella y modificarla sin riesgo.
El cambio operativo
Antes: las reglas importantes estaban en fórmulas, referencias de celdas y conocimiento individual.
Entregado: un motor de cálculo explícito sirve a una interfaz web, una API y la importación y exportación XLSX.
Protegido: las entradas conocidas y los resultados esperados se conservan en datos de regresión, con 233 pruebas automatizadas que respaldan cambios controlados.
El problema
Un cálculo destinado al cliente se realizaba mediante un flujo de trabajo con partes ambiguas. Distintas personas interpretaban algunos pasos de manera diferente. Las reglas que determinaban el resultado no estaban documentadas como reglas: vivían en fórmulas, referencias entre celdas y en la memoria de quienes operaban la hoja.
El riesgo no era que la hoja dejara de funcionar, sino que nadie pudiera demostrar qué significaba un resultado «correcto».
El contexto operativo
El flujo era crítico para el negocio. Se ejecutaba de forma recurrente, producía un resultado del que dependía el cliente y debía conciliarse con documentos y cifras generados en otras partes de la operación. También tenía que integrarse con las hojas de cálculo que el equipo ya utilizaba.
Las restricciones
- El resultado debía ser determinístico y repetible: entradas iguales debían producir resultados iguales.
- Las reglas debían validarse según su significado comercial y normativo.
- El sistema debía adaptarse al trabajo existente, incluidos Excel y Google Sheets.
- La entrada en producción debía preservar la estabilidad de un proceso del que dependían las personas.
Comprender el flujo de trabajo
Primero reconstruimos el flujo a partir de la hoja de cálculo y de su uso real. Convertimos un proceso ambiguo y parcialmente manual en un modelo explícito: entradas, reglas, cálculos y resultados esperados.
Este paso es indispensable. Automatizar un proceso ambiguo también automatiza su ambigüedad.
Decisiones de ingeniería
- Reconstruir el cálculo como un motor determinístico con reglas explícitas, en lugar de trasladar las fórmulas sin revisar su significado.
- Mantener la validación de reglas de negocio y normativa junto a la lógica de cálculo, para verificar cada regla antes de confiar en ella.
- Ofrecer una interfaz web, una API e importación y exportación XLSX, con entrada manual, para que el sistema sirva tanto a las personas como a otros programas.
- Tratar los archivos de hojas de cálculo como documentos OOXML de forma controlada, sin considerarlos entradas confiables por defecto.
- Ejecutar la aplicación en un entorno con contenedores para que el entorno sea reproducible.
El sistema entregado
Entregamos un sistema validado en producción: un motor de cálculo determinístico con interfaz web, API e interoperabilidad con hojas de cálculo. El flujo que antes dependía de una hoja ambigua ahora se ejecuta sobre reglas explícitas y validadas.
Mecanismos de confiabilidad
- Pruebas de regresión automatizadas protegen las reglas y los cálculos.
- Datos de referencia de regresión conservan entradas conocidas y resultados esperados para detectar cambios involuntarios en el comportamiento.
- Publicaciones controladas pasan por un entorno de prueba antes de producción.
- Cada publicación permite revertir la versión.
- Las verificaciones básicas en producción confirman que el sistema funciona antes de aceptar una versión.
La suite alcanzó 233 pruebas automatizadas. Esa cifra aporta evidencia de ingeniería: lo importante es que las reglas de las que depende el cliente están protegidas por verificaciones automatizadas.
Estado en producción
El sistema está en producción y se utiliza para realizar el cálculo destinado al cliente. La colaboración continúa bajo un acuerdo de Confiabilidad y Evolución.
Confidencialidad
Este caso está anonimizado. Omitimos el nombre, el sector y los detalles que podrían identificar al cliente. No mostramos fórmulas, lógica propietaria ni documentos privados. La descripción se limita a lo que puede hacerse público sin identificar al cliente.
Servicios relacionados
- Evaluación de Sistemas Operacionales
- Construcción de un Sistema Confiable
- Confiabilidad y Evolución