El desarrollo de software típicamente busca alinear las especificaciones con la implementación.
Por esta razón, los sistemas se diseñan para cumplir con las especificaciones y luego se implementan basándose en esos diseños. Posteriormente, las pruebas confirman que la implementación satisface las especificaciones; si hay una discrepancia, la implementación se corrige, y si las especificaciones son ambiguas, se clarifican.
Esto puede denominarse Ingeniería Basada en Especificación e Implementación.
En contraste, al hablar de software hoy en día, la experiencia del usuario se enfatiza cada vez más.
Además, es el comportamiento del software, y no su mera implementación, lo que realmente moldea la experiencia del usuario.
Por lo tanto, fuera del marco de la especificación y la implementación, existen la experiencia y el comportamiento.
En consecuencia, creo que vale la pena explorar el concepto de Ingeniería de Experiencia y Comportamiento, que se basa en la experiencia y el comportamiento.
Liquidware
La Ingeniería de Experiencia y Comportamiento es un enfoque poco práctico con los métodos tradicionales de desarrollo de software.
Esto se debe a que requiere mejorar la experiencia del usuario sin límites rígidos o divisiones funcionales en las especificaciones. Incluso podría haber casos en los que una solicitud casual de mejora de la experiencia por parte del usuario implicaría descartar todo el software desarrollado previamente.
Por otro lado, en una era en la que la automatización del desarrollo de software basada en agentes mediante IA generativa es algo común, reconstruir sistemas de software completos se vuelve aceptable.
Además, en esa era, es concebible que entremos en la era del Liquidware, donde los desarrolladores lancen software equipado con un chatbot de ingeniero de IA, permitiendo a los usuarios modificar la interfaz de usuario para adaptarla a sus preferencias individuales.
Liquidware significa un software que es más flexible que el software convencional, ajustándose perfectamente a cada usuario.
Con esta era de desarrollo automatizado y Liquidware, el paradigma de ingeniería basado en especificaciones e implementaciones quedará obsoleto.
En su lugar, haremos la transición al paradigma de la Ingeniería de Experiencia y Comportamiento.
¿Qué es el Comportamiento?
En pocas palabras, el comportamiento es un estado que cambia con el tiempo.
Y probar el comportamiento no es otra cosa que probar este estado que varía con el tiempo.
Además, probar el comportamiento no consiste en confirmar la alineación con las especificaciones que definen cómo transitan los estados. Más bien, el comportamiento se prueba por la calidad de la experiencia del usuario.
Por supuesto, si existen errores que provocan que el sistema realice operaciones no intencionadas por el usuario o el desarrollador, esto perjudica significativamente la experiencia del usuario. Por lo tanto, la prueba del comportamiento también incluye la verificación de la conformidad y validez funcional.
Así, después de cumplir estos requisitos funcionales básicos, el comportamiento se prueba en función de su alta calidad desde la perspectiva de la experiencia del usuario.
La Experiencia Definitiva
Para los seres humanos, la experiencia de usuario definitiva es el control del propio cuerpo cuando se está en buen estado de salud.
Piénselo: cada día, controlamos un cuerpo que pesa decenas de kilogramos —un sistema complejo lleno de limitaciones y restricciones— para realizar actividades con un propósito.
Si intentáramos controlar un sistema tan pesado, complejo y altamente restringido para realizar las actividades deseadas, la experiencia sería típicamente bastante deficiente.
Sin embargo, siempre que no estemos enfermos, movemos este cuerpo pesado, complejo y restringido con la misma facilidad como si no tuviera peso. Lo manejamos sin dudar, como si fuera un mecanismo muy simple, y apenas notamos sus limitaciones o restricciones, como si no existieran.
Esta es la experiencia definitiva.
Al buscar un comportamiento de alta calidad, es posible ofrecer una experiencia a la par del control del propio cuerpo.
En otras palabras, incluso si un sistema es lento de procesar, complejo en funcionalidad y sujeto a muchas limitaciones y restricciones, podría convertirse en un Liquidware completamente libre de estrés.
Conclusión
El Liquidware definitivo ofrecerá una experiencia similar a la de nuestros propios cuerpos.
Tal Liquidware se convertirá, para nosotros, en una parte de nuestro ser físico.
Cada vez que el Liquidware definitivo aumente en número o se mejoren sus capacidades, sentiremos como si nuestros cuerpos se estuvieran expandiendo.