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.
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.
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.
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 programas.
Pero a medida que el software se vuelve más complejo, se cometerán más errores, creen.
"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 que los hackers pueden explotar, una mejora a tiempo 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.
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 Spine, 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 va a parar dos minutos", añade.
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, y se libera, 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.
Ahorro de costes
El software líquido también supone un ahorro de costes.
"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 pequeñas", dice el fundador de Spine.
"Pero antes de ponerlo en marcha, hay que hacer una serie de tests que no están automatizados. Hay una serie de personas detrás repasando el código y viendo que todo está ok".
"Esto supone también otra manera de programar, otra manera de abordar el software y de organizar los equipos en una compañía para hacer eso. Cambia los modelos de trabajo para producir software y el diseño de la organización".
Automatizar procesos permite ahorrar costes o 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".