Seguro que el título de esta entrada sorprenderá a más de uno. ¿Borrar la hoja Excel? Si lo hiciéramos, probablemente, el 80% de las empresas quedarían paralizadas. Simplemente no podrían funcionar.
Si esto, en sí mismo, no te parece un motivo para plantear que algo estamos haciendo mal, permíteme que lo matice. Deberías borrar la Excel ahora mismo. Eliminarla, ¡zas!, borrada para siempre.
Antes de que las hordas de fanáticos de las Excel se echen encima, esgrimiendo pancartas con consignas como “BUSCARV() RULES” o “I ❤ DESREF()” os invito a leer el resto de la entrada y reflexionar sobre el uso (y abuso) de las hojas Excel.
¿Qué tiene de malo la hoja Excel?
En mi experiencia profesional a menudo he tenido la oportunidad de colaborar como asesor para integrar sistemas y automatizar procesos. Por gratificante que sea esta labor, como resultado he tenido que batirme con hojas Excel en más ocasiones de las que podría contar, así como con la acérrima (y a veces irracional) defensa de sus usuarios.
Cada vez que un usuario me pide ayuda esbozando en su boca una frase que empieza por “tengo una hoja Excel compartida que…” o “tengo una Excel con una macro que…”, personalmente, me echo a temblar.
Quizás sea deformación profesional, pero, ante estas consultas, lo primero que me viene a la cabeza es “No estás usando la herramienta adecuada”. Necesitas algo, algo que quizás ni sabes que necesitas (seguramente una base de datos o un software) que te debería cubrir esa función.
La informática o, con mayor propiedad, las tecnologías de la información, se llaman a si por algo. Se llaman así porque están pensadas para gestionar ingentes cantidades de información, procesarla, y entregársela al usuario cuándo y cómo la necesita.
La informática no es (o no debería ser) un usuario mirando una hoja Excel con miles de filas, decenas de columnas, un popurrí de pestañas, algunas de ellas ocultas con cálculos “siniestros” y datos “ordenados caóticamente”.
Yo he visto naves ardiendo más allá del cinturón de Orión cosas que no creerías:
- He visto empresas realizar sus cálculos (estructuras, instalaciones, infraestructuras…) en Excel.
- He visto empresas realizar presupuestos, gestionar pedidos, lanzar albaranes con Excel.
- He visto empresas realizar, compartir y almacenar informes y reportes en Excel.
- He visto gestionar proyectos con Excel, Kanban en Excel, Gantt en Excel.
- He visto realizar el control de personal, absentismo, fichajes y vacaciones en Excel.
- He visto almacenar información de clientes y proveedores en Excel.
- Hasta he visto empresas basar su contabilidad y su plan estratégico en Excel.
Si has leído hasta aquí y aún no he conseguido que se te pongan los pelos de punta o, al menos, te plantees que quizás Excel no es tan buena idea como parecía, vamos a citar los 12 demonios por los que deberías borrar la Excel en tu empresa.
12 motivos para dejar de usar Excel
Abstracción
Hacer una hoja Excel es sencillo, simplemente escribes según tus necesidades y configuras una herramienta que te es útil y a tu gusto.
Pero ¿Se ha analizado correctamente las entidades que configuran tu modelo y las relaciones entre ellos? Un albarán, ¿está asociado a un único pedido en una relación 1-1? Un artículo ¿puede pertenecer una gama de productos o a varias?
Con una hoja Excel prescindes del análisis de las entidades que configuran tu modelo de datos, sus propiedades y relaciones entre ellos, algo fundamental para entender el funcionamiento de tu negocio.
Encapsulación
Una Excel es una simple tabla. Nada impide que, por error, el usuario escriba en la celda equivocada o que, al mover o copiar datos se crucen datos.
Cuando haces un desarrollo de software, una entidad es única y su encapsulación e integridad están garantizadas. Un pedido tiene sus propiedades, y no existe posibilidad de que por error se cruce con el coste o la tarifa de otro pedido.
Eficiencia
La velocidad de una hoja Excel no es ni remotamente cercana a la eficiencia que puedes obtener con un desarrollo. Operaciones como búsquedas en varios miles de filas, que son prohibitivas en Excel, se ejecutan sin esfuerzo en un software.
Mención aparte merecen las consultas a SQL (que os recomiendo evitar a toda costa). He visto a usuarios que, por desconocimiento y aún con la mejor intención, comentar tener una consulta en Excel que le cuesta 3 minutos de ejecutar. Se asocia, como lleva mucho tiempo, debe ser una gran consulta, que orgulloso estoy. Creerme, no hay nada de que alardear en dejar 3 minutos una base de dato colgada. Cuando hagas la misma consulta en 0.3 segundos, entonces tendrás un motivo para presumir.
Gestión de datos
Las hojas Excel pueden llegar a ser enormes, más aún con las últimas ampliaciones que han recibido. Pueden acoger ingentes cantidades de datos. Pues, aún con todo, no es nada comparado con lo que puede guardarse en una base de datos.
Mucho más importante, las hojas Excel pueden alojar grandes cantidades de datos, pero no son capaces de gestionarlas debidamente. Las búsquedas son lentas y siempre son críticas porque es fácil equivocarse y proporcionar resultados equivocados.
Por el contrario, las bases de datos están específicamente diseñadas para ser eficientes al realizar búsquedas y cruzar datos, y son extraordinariamente más potentes en la gestión de datos.
Flujos de trabajo
Normalmente, en un desarrollo moderno, quieres que se generen acciones. Por ejemplo, que el sistema te avise si el stock de un material sea inferior a punto de pedida, o incluso que realice automáticamente el pedido de reposición a uno o varios proveedores.
En una hoja Excel no puedes realizar ninguna acción. El sistema es pasivo, no te informa ni realiza acciones, sólo puedes entrar y rellenar/consultar los datos.
Por el contrario, un desarrollo de software puede contemplar cualquier número de workflows independientemente de complejidad. Esto tiene una doble ventaja de que, por un lado, te obliga a definir tus procesos, y por otro te permite automatizar las tareas. Todo esto no es posible en una hoja de cálculo.
Colaboración
Aunque ha habido múltiples intentos para mejorar la forma de trabajar en una misma hoja Excel, y es posible compartir una hoja de forma que varios usuarios escriban simultáneamente, lo cierto es que ninguna de estas soluciones funciona de forma adecuada.
Compartir una hoja Excel, tanto en una carpeta de red como en las aplicaciones online, nos obliga a eliminar muchas características que tenemos en una hoja no compartida.
Por el contrario, nuevamente, las bases de datos están específicamente diseñadas para permitir que múltiples usuarios accedan de forma simultánea, siendo esta su principal función.
Mención aparte merece el acceso público, es decir, proporcionar por ejemplo un acceso web limitado a tus clientes para que consulten ciertos datos. Todo ello, es imposible con una hoja Excel.
Interfaz de usuario
Nuevamente, una hoja Excel no es más que una tabla. Por mucho que le pongas colores, cambies los tipos de letras, combines celdas (no combinéis celdas, por favor), o pegues imágenes (otra mala idea, por cierto), añadas gráficas o tablas dinámicas, nunca podrá compararse con el interfaz que puedes conseguir con una App o una Web.
Por otro lado, cada vez más frecuentemente los usuarios se conectan mediante dispositivos móviles. Por mucho que existan clientes para visualizar Excel en estos dispositivos, no pueden compararse a la visualización y experiencia de usuario en un Web responsive.
Seguridad
Entendiendo como sistemas de protección contra el uso indebido de la información contenida. Esto incluye tanto la manipulación accidental, como el uso inapropiado de forma consciente.
¿Cuáles son las consecuencias de que alguien modifique por error la fórmula del cálculo de la sección de los pilares de hormigón de una estructura? ¿Y las de que un trabajador enfadado grabe en un pendrive la Excel con la que realizas los cálculos eléctricos? ¿Y en la que guardas la información de tus clientes? ¿Eres consciente del riesgo que supone para tu empresa?
En un desarrollo de software defines qué usuarios o grupos de usuarios acceden a qué información, y qué acciones puede realizar cada uno de ellos. Esta seguridad no es posible con una hoja Excel.
Mantenibilidad
El mantenimiento de las hojas Excel suele ser difícil de realizar. Frecuentemente estas hojas las realizan gente con altos conocimientos de Excel y que, probablemente, en el momento aplican un alto esfuerzo para realizarlas. Es también frecuente que la misma persona, meses más tarde, no sea capaz de modificar su propia herramienta o, incluso, que la misma se use años más tarde de que la persona deje la empresa.
¿Quién asume el mantenimiento de esa hoja Excel? Yo, desde luego, no si puedo evitarlo. He encontrado Excel en las que, honestamente, no me he atrevido a tocar porque estaban “cogidas con alfileres”. Al final siempre termino sustituyéndolas por un desarrollo bien hecho.
Por el contrario, un desarrollo de software correctamente realizado está pensado para que cualquier otro desarrollador pueda dar soporte y ampliar el código.
Sostenibilidad
Al abordar una hoja Excel rara vez se considera un horizonte de sostenibilidad más allá de unos pocos meses. ¿Qué pasará con tu enorme hoja Excel dentro de 2, 3, 5 años funcionando? ¿Cuánto habrá crecido? ¿Podrá manipularse o será demasiado grande? ¿Tendrás muchos archivos, o todo en uno? ¿Cómo vas a mantener los datos, se crearán duplicidades? ¿Y si tienes que modificar algo, tendrás que ir a todas las hojas a mantenerlas?
Por otro lado, ¿cómo se comportará tu hoja Excel cuando Microsoft cambie de versión? ¿Y cuándo cambie tu flujo de trabajo? ¿Podrás al menos recuperar la información de forma sencilla para migrarla a otro sistema?
De forma similar a la mantenibilidad, al abordar un desarrollo se tiene presente que el mismo sea ampliable, modificable, y que pueda estar en funcionamiento un tiempo prolongado.
Profesionalidad
Podríamos decir que en cierta forma es el origen de todos los anteriores. Por muy loable (incluso entrañable) que resulte que una persona con inquietudes haga un esfuerzo en formarse e intente cubrir por si mismo sus necesidades, los profesionales de la informática existen por un motivo.
El usuario no tiene formación específica en abstracción y encapsulamiento, no está acostumbrado a gestionar datos y flujos de trabajo, no tiene en cuenta factores de diseño como eficiencia o mantenibilidad. Conceptos que son cotidianos en un profesional de la informática.
Coste
Puede parecer que hacer una hoja Excel es rápido. En oposición, realizar un desarrollo tiene tiempos mayores y, por tanto, mayores costes. Nada más lejos de la realidad.
Puede que, en principio, efectivamente parezca más rápido hacer una hoja de cálculo y “ya está”. Pero, ¿y los beneficios adicionales de definir tu modelo de trabajo y sus procesos asociados? ¿y la ventaja de automatizar tareas? ¿y la pérdida de tiempo por usar una herramienta que no es eficiente, y que hace perder cada día tiempo al usuario? ¿y el tiempo de mantenimiento, ampliación y sostenibilidad?
Por otro lado, la tecnología de Excel, en particular del VBA integrado (os digo muy en serio, no sé cómo alguien puede seguir programando en eso) hace que los tiempos de desarrollo se alarguen cuando intervienen macros o consultas SQL.
Las herramientas disponibles desarrollar una aplicación, por ejemplo, en C# o HMTL5 están a años luz. Tareas triviales en la programación moderna, abordados en VBA te obliga a desarrollar con tecnología de hace 20 años, lo que alarga los plazos (ademas de ser insufrible).
Aun suponiendo que el tiempo requerido para hacer una hoja Excel rápida, frente a un desarrollo de software equivalente, sea inferior, lo cierto es que en el segundo caso tienes un producto muy superior en características, potencia, y versatilidad.
Si tienes en cuenta todos los costes asociados, en balance, es más barato hacer un desarrollo. Créeme, la hoja Excel te está costando dinero.
Reflexión y autocrítica
La hoja Excel es un rival difícil de batir. En primer lugar, porque su uso está arraigado en el usuario. Siente que lo puede personalizar, configurarlo a su medida. Es sencilla, le es conocida, se siente cómodo al usarla.
El problema no es de la hoja Excel que, por otro lado, es un programa potente y realmente genial (venga, al final lo he reconocido, en el fondo a mí también me encanta). El problema es el uso y abuso que se hace de las hojas Excel. Como se dice en el gremio, cuando sólo tienes un martillo, de repente todo parecen clavos.
Por otro lado, como desarrollador difícilmente vas a conseguir que el usuario deje de usarla si como sustituto pretendes darle un programa cuya interface de usuario es básicamente una tabla (un grid). Ahí Excel te va a ganar siempre, porque como tabla no vas a poder superar las funciones que Excel permite.
Recientemente los interface de usuario han sufrido una gran mejora, en buena parte debido al desarrollo de las App móviles y Web. Como resultado los usuarios se han vuelto intolerantes a los malos UI. Si pretendes que tus usuarios dejen de usar Excel para usar un programa con estética de Windows 98, no te va a funcionar nunca. Tienes que proporcionales una estética muy superior y funciones que no van a conseguir en una simple hoja de cálculo.
Pero, ¡Ah amigo!… ¡Eso cuesta esfuerzo! Y no hablo únicamente de tiempo de desarrollo, necesita un análisis de las necesidades del usuario, entender su modelo de trabajo y sus flujos de trabajo, y plantear en soluciones creativas y modernas. En definitiva, requiere que hagas tu trabajo bien y con “cariño”.
Sin embargo, incluso reconociendo que la hoja de cálculo es una aplicación potente, un duro rival y, en ciertas ocasiones, una herramienta útil, si lo analizamos profundamente realmente las hojas de cálculo no tienen una razón de ser (o no deberían tenerlo en un mundo “perfecto”).
Las hojas de cálculo son, en definitiva, programas que nos permiten configurar “pequeñas utilidades” rápidamente. Cada vez que alguien usa una hoja Excel es porque un programa (equivalentemente, un desarrollador) no le ha proporcionado lo que necesita.
La hoja Excel es el recurso al que recurres cuando no tienes “nada mejor”. Por tanto, en un marco de mejora continua la hoja Excel siempre será uno de los eslabones débiles e, inevitablemente, acabará siendo eliminada.
Conclusión
Más allá de cálculos rápidos o hacer un par de gráficas, no deberíamos tener la necesidad de usar hojas Excel. También puede ser útil a modo de esbozo, o primera solución, de lo que posteriormente se convertirá en desarrollo específico. De esta forma, el propio usuario está haciendo parte del análisis y abstracción del problema, y participando en la solución.
Pero nunca debe contemplarse una hoja de cálculo como una solución permanente. Mucho menos como una óptima o deseable. Desde luego en ningún caso deberías basar procesos fundamentales de tu sistema de negocio en hojas Excel.
Si lo haces, tarde o temprano surgirá un competidor que haga las cosas como es debido. Encontraras un competidor con software superior al tuyo y, entonces, te encontrarás en graves aprietos porque serás menos competitivo.
En este punto cabe mentar una cita pronunciada en el Forum de Barcelona de 2014, por Jan Muehlfeit, presidente de Microsoft Europa.
“En tres años todas las compañías serán empresas de software, la educación debe preparar para eso” - Jan Muelhfeit (2014)
Estoy totalmente de acuerdo con esta afirmación. Tanto que me permito ampliarla. No solo la educación debe preparase, también las empresas deben hacerlo.
Tu competidor tiene máquinas parecidas a las tuyas, tiene personal similar al tuyo, tiene un marco económico y financiero similares a los tuyos. Tu software y tu flujo de trabajo pueden ser lo único que te proporcione una ventaja competitiva.
Si no lo haces, si no inviertes en desarrollo y dejas que procesos fundamentales de tu modelo de negocio se basen en hojas de cálculo, no sólo te arriesgas, sino que es inevitable que te acaben superando.
Así que ya sabes. Empieza a plantearte la virtud real de las hojas Excel y aprende a contemplarlas siempre como una opción no óptima, 12 pequeños demonios que te restan competitividad, y un objetivo claro a eliminar de tus flujos de trabajo.