En lo que respecta al desarrollo de software, las esferas académica y empresarial han ido distanciándose con el tiempo, de forma que la brecha entre la torre de marfil y las oficinas es cada vez mayor. Y sin embargo ambas partes se beneficiarían de un intercambio más estrecho. Con nuestro «Future Trends of Software Engineering» (FToSE) pretendemos llamar la atención sobre esta tendencia negativa e impulsar el debate. El objetivo de este intercambio de pareceres sobre las tendencias centrales en el desarrollo del software es llegar a un entendimiento sobre los temas y desarrollos más importantes.
Future Trends of Software Engineering
Una visión común de la ingeniería del software
#21La agilidad domada es el único camino
El potencial del desarrollo de software ágil aún no ha llegado ni de lejos a su fin
PRÁCTICA
En la actualidad se está desarrollando una «IT de 2 velocidades»: los sistemas críticos se siguen desarrollando de forma tradicional, mientras que las empresas enfocan todo lo demás de forma ágil.
INVESTIGACIÓN
Los procedimientos para el desarrollo del software siguen teniendo sentido. La agilidad no constituye ningún cambio fundamental, pero sí ofrece aspectos útiles que se deberían integrar en los procedimientos.
SÍNTESIS
La agilidad en el ámbito del desarrollo de software tiene un enorme potencial que no se debería desperdiciar. A corto plazo se generan impulsos de cambio que tienen como resultado roles completamente nuevos para los departamentos de IT de las empresas.
#22Los microservices son una idea fantástica
No son la panacea, pero amplían las posibilidades para el departamento de IT
PRÁCTICA
Los microservices constituyen un gran paso hacia adelante. Permiten a los expertos aunar arquitecturas heterogéneas.
INVESTIGACIÓN
En realidad, los paradigmas de las arquitecturas son relativamente estables. A veces se llama modularización, a veces arquitectura orientada a servicios y en la actualidad microservices.
SÍNTESIS
Los microservices son extraordinarios como paradigma de integración y para nuevos desarrollos; sin embargo, los entornos existentes apenas se pueden modificar sobre esta base.
#23La CPS Engineering es una nueva disciplina
Los Cyber Physical Systems es la transformación digital al alcance de la mano
PRÁCTICA
Los sistemas ciberfísicos crean nuevos modelos de negocio. Y en el Internet de las cosas aumenta de forma radical la complejidad de los sistemas y las relaciones. Esto tiene como resultado desafíos completamente nuevos.
INVESTIGACIÓN
Los sistemas ciberfísicos no son nada nuevo en términos estructurales. Mezclas de sistemas de información y software embebido siempre ha habido.
SÍNTESIS
Si bien la CPS Engineering se basa en conocimientos ya disponibles, se trata de un nuevo campo de actividad.
#24La ingeniería de la utilidad o Usability Engineering no es ningún desvarío
En la superficie se decide el éxito
PRÁCTICA
Los usuarios quieren interfaces bonitas. Si no las obtienen considerarán el software inservible y utilizarán otra cosa.
INVESTIGACIÓN
La usabilidad también es importante de alguna forma. Por eso es necesario integrar la Usability Engineering en el proceso de software.
SÍNTESIS
Para aplicaciones en las que se utiliza mucho la interfaz o aplicaciones móviles o aplicaciones poco inusuales la Usability Engineering es la clave del éxito y, por lo tanto, una disciplina importante.
#25La prevención de fallos no es ninguna utopía
No es un tema agradable, pero sí importante
PRÁCTICA
Mientras el software siga siendo desarrollado por las personas se seguirán produciendo fallos, ya que los motivos para que esto sea así son muy variados y, sobre todo, nos resultan imposibles de prever siempre con los sistemas sociotécnicos.
INVESTIGACIÓN
En los últimos años el mundo académico ha desarrollado numerosos marcos normativos que resuelven el problema de los fallos en los proyectos de software. Si la práctica se ciñe a los conceptos correspondientes dejarán de producirse fallos.
SÍNTESIS
Los fallos se pueden reducir en gran medida, si bien solo siendo consecuentes y sistemáticos.
#26Los sistemas de software se convierten en entornos de software
El todo debe cuadrar en los detalles
PRÁCTICA
Los entornos de software complejos se desarrollan de forma evolutiva, ya que las empresas crean (o compran) cada uno de los sistemas en función de la velocidad y la rentabilidad que resultan óptimas para ellas en cada momento.
INVESTIGACIÓN
Los expertos desarrollan los entornos de software complejos como «sistemas de sistemas». Es decir, un estándar de arquitectura uniforme permite combinar sistemas autónomos entre sí para determinados campos de aplicación.
SÍNTESIS
De antemano, los escenarios de integración son poco conocidos. Cada uno de los sistemas se ha de crear de tal forma que se pueda integrar y pueda aportar su granito de arena a la evolución del entorno de sistemas.
#27Los datos son más importantes que los algoritmos
Los datos nos proporcionan el conocimiento
PRÁCTICA
Se trata más bien de obtener los datos relevantes en grandes cantidades, ya que la complejidad de cálculo se puede controlar muy bien en un entorno cloud.
INVESTIGACIÓN
El procesamiento de grandes volúmenes de datos, y el consiguiente aumento de la complejidad de cálculo, en los escenarios de aplicaciones modernos, precisa de algoritmos eficientes y rápidos.
SÍNTESIS
En aplicaciones de big data hay que centrar la atención en la obtención de datos. En lo que respecta al procesamiento las empresas pueden recurrir a las infraestructuras ya existentes. La optimización de los algoritmos forma parte más bien de la investigación de base.
#28La incertidumbre es la única certeza
Al principio el final es solo una visión borrosa
PRÁCTICA
Las fases tempranas del desarrollo de software siguen siendo determinantes, ya que es aquí donde se obtiene una visión aproximada, pero muy buena, de los requisitos. A lo largo del proyecto los responsables tienen la oportunidad de reconocer lo que es importante.
INVESTIGACIÓN
No pueden existir descripciones previas completas de los sistemas sociotécnicos (un conjunto organizado de personas y tecnologías). Por este motivo es necesario un procedimiento que permita abordar los requisitos que surjan durante el desarrollo.
SÍNTESIS
Merece la pena estudiar exhaustivamente la imagen completa. Los detalles se pueden ir añadiendo durante el desarrollo. En este sentido se han de establecer constantemente nuevas prioridades y hay que ser valiente a la hora sustituir lo innecesario.
#29La orientación al valor es la referencia
La atención debe estar siempre centrada en la utilidad del software
PRÁCTICA
Cuando todos saben lo que es importante se puede crear software valioso y orientado al valor del cliente.
INVESTIGACIÓN
Existen muchas métricas para evaluar la productividad del software (comenzando por los Function Points), pero pocos planteamientos para un desarrollo orientado al valor.
SÍNTESIS
La orientación al valor del software resulta esencial. Por este motivo en los proyectos de desarrollo se ha de centrar la atención de forma sistemática y clara sobre el valor intrínseco e integrar esta visión en la forma de proceder
#30La informática cognitiva o Cognitive Computing es lo que impera
Se avecina una revolución
PRÁCTICA
Gestionar grandes cantidades de datos, reconocer patrones en dichos volúmenes de datos y realizar adaptaciones automáticas son factores decisivos de la transformación digital. Sin embargo, aún no está muy claro cómo combinar a los técnicos para lograrlo.
INVESTIGACIÓN
Las promesas de inteligencia artificial de los años 90 comienzan a hacerse realidad gradualmente a medida que aumenta la capacidad de cálculo.
SÍNTESIS
Resulta necesario combinar las técnicas de informática cognitiva con los sistemas de información clásicos.
Las Future Trends of Software Engineering están muy lejos de ser un mero juego de inteligencia. Del planteamiento se pueden deducir requisitos muy específicos aplicables a la forma en la que las empresas deben abordar el tema de la ingeniería del software. Hablemos sobre su situación, sus requisitos y sus ideas y desarrollemos juntos el futuro de su IT.
¿Tienes alguna pregunta?
Hablemos de cómo podemos trabajar contigo.
adesso Spain marketing@adesso.es