Qué es el software líquido y qué aplicaciones tiene en la vida real

No lo notas y de hecho está hecho así a propósito: para que no te des cuenta de que sucede a tu alrededor mientras tu disfrutas de una vida tecnológica plena.

Publicado el
Los mayores logros digitales ocurren cuando los usuarios no se dan cuenta de las actualizaciones.
Los mayores logros digitales ocurren cuando los usuarios no se dan cuenta de las actualizaciones.

Hace tan solo unos años, lanzar cualquier actualización de una aplicación de éxito o de un programa informático era el momento de la verdad para sus creadores.

Se paraba el tiempo.

Los programadores, los equipos de sistemas y los directivos mantenían la respiración durante segundos para darle al botón de lanzar y esperar, con los dedos cruzados, que no hubiera ningún fallo.

Que al implementar las novedades no se hubiera roto nada de lo anterior.

Existía un riesgo real de que algo no funcionara.

Para una web, un parón de 2 minutos el día del Black Friday, puede suponer millones en pérdidas.

Un teléfono de Apple.

Getty Images
La actualización de un sistema operativo puede llevar horas.

Y mientras todos estos procesos suceden en la sombra, para el usuario final esto puede traducirse en cosas como varios emojis nuevos en Whatsapp o letras más grandes en Netflix.

Puede ser que la mejora consista en que el botón de una app sea 3 píxeles más grande para que se vea mejor en las pantallas de los celulares.

Mejoras pequeñas a simple vista, que llevaban el trabajo de decenas de ingenieros detrás.

Sin embargo el avance de la computación ha permitido la llegada del software líquido.

Un flujo demejoras modestas pero constantes en la tecnología que nos rodea y que permite actualizaciones sin ningún tipo de interrupción.

“El software ya ejecuta prácticamente todo lo que hace que la sociedad moderna funcione. Existe demanda de sistemas que sean cada vez más receptivos y versátiles“, escriben en su libro “Liquid Software” Yoav Landman, Fred Simon y Baruch Sadogursky, expertos en arquitectura de software.

Pero a medida que los programas se vuelven más complejo, se cometerán más errores, creen.

Hacker

Getty Images
Las actualizaciones constantes pueden cerrar las brechas de seguridad.

“Las actualizaciones deben suceder con mayor regularidad, ya sean nuevas funcionalidades o parches. La única forma práctica de adaptarse a estas crecientes y aceleradas demandas es hacer que el software sea más líquido”, afirman.

Protege

Pero es que además, las actualizaciones continuas son una manera eficaz de luchar contra los ciberataques.

Si un programa se pone en el mercado con un defecto (“bug”), una mejora a tiempo (“hotfix”) dejaría muy poco margen a los ciberdelincuentes para actuar y solucionaría la vulnerabilidad.

Hay fallos que exigen una respuesta urgente y el software líquido es ahora mismo una de las herramientas, junto con muchas otras, capaces de atajar el problema.

“Las actualizaciones continuas son actualmente la mejor y más rápida forma de resolver el problema, de forma segura y sin incurrir en tiempo de inactividad”, dicen los tres expertos.

El “líquido” avanza y tu no te das cuenta.

Tablero de un Tesla

Getty Images
El tablero de los modelos de Tesla no tienen nada, solo una pantalla desde la que se dirige todo.

Minimiza riesgos

Otra de las ventajas en esta tendencia es que minimiza riesgos.

Quizás no pase nada grave si el software de la nevera se detiene para una actualización durante un minuto.

Pero si lo hace en un coche tipo Tesla bajando una carretera de montaña o en un avión Boeing cuando despega, las consecuencias pueden ser graves.

“Hace años, lanzar un software nuevo sin que se notara era súper difícil”, explica Javier Rubio Rubio, programador y socio fundador de Spines, una start-up que ayuda a las empresas a optimizar sus modelos de trabajo.

“Entonces tenías varios minutos de parada y había parte humana en el trabajo. Había que tener gente de guardia por la noche porque el servidor se iba a parar dos minutos”, añade.

Programadora

Getty Images
Cada vez que se elimina un procedimiento técnico confuso ganan los usuarios pero también los desarrolladores.

Ahora, la principal ventaja de este software es que puede actualizarse así mismo continuamente porque intercambia datos con un programa que ya se está ejecutando y que los usuarios finales están usando.

No es necesario detener su funcionamiento.

El usuario en el centro de todo

“Antes la forma de hacer actualizaciones se le llamaba waterfall (cascada en inglés). De repente te llega todo el agua, todo el paquete de una sola vez”.

“Ahora hemos pasado a un modelo agile (ágil) en el que se van liberando parte de las mejoras de forma incremental”, afirma Rubio.

“Cuando se libera un programa en el que se ha trabajado, digamos dos años, los desarrolladores no tienen un feedback rápido de los usuarios“, recuerda.

Esto creaba muchos problemas y de ahí que ahora, se tienda más a dar pequeños bloques que reciban una evaluación más inmediata.

“Se liberan nuevas versiones más a menudo, se prueban y se ve cómo las está usando la gente”, dice.

Pantallas con código

Getty Images
El proceso para revisar el código anterior es más rápido ahora.

Ahorro de costes

El software líquido también supone un ahorro de costes.

“No hay que olvidar que el despliegue continuo y el software líquido van de la mano de economía del software”, dice el fundador de Spines.

“Sin los tests autómaticos y otras prácticas que proponen estos modelos de trabajo, cada vez que se introduce una nueva funcionalidad al software, habría que testearla manualmente. Esto hace que añadir funcionalidades cada vez sea más lento y costoso”, añade.

“Este acercamiento supone otra manera de abordar el software y de organizar los equipos en una compañía. Cambia los modelos de trabajo, el diseño de la organización, y su cultura”, dice Rubio.

Automatizar procesos e implantar una cultura de aprendizaje y mejora continuos ha permitido ahorrar costes y dedicar recursos a otras áreas de desarrollo.

“La entrega continua, fluida (líquida) y el despliegue de actualizaciones, por otro lado, es como el flujo constante e interminable de un arroyo o río. El proceso incluye el seguimiento de este flujo y la interactividad incesante con el software que se actualiza continuamente”, resumen los autores del libro “Liquid Software”.