De la mano de las nuevas tecnologías, impensables hace 20 años, estamos viviendo el era del software. Los sistemas basados en software están cambiando la forma en que interactuamos, cómo hacemos negocios, cómo nos entretenemos e incluso cómo manejamos nuestra salud.
También la forma en que pensamos sobre seguridad Pública y la defensa de las naciones; e incluso se notan transformaciones en las nuevas dinámicas de las ciudades donde, cada vez más, veremos vehículos autónomos y robots realizando tareas de servicio público.
El software es estratégico para las naciones y su desarrolloes fundamental en la forma en que se concebirán las empresas en un futuro no muy lejano y al concepto de trabajo también llega la tecnología.
Pero hay áreas que están en desarrollo y que serán disruptivas en poco tiempo, con un gran impacto en la dependencia que tendremos del software: infraestructura inteligente, nanotecnología y la extensión de las capacidades humanas a través de la biotecnología y la inteligencia artificial a escala.
Los sistemas del futuro serán de una magnitud sociotécnica que requerirá la convergencia de varias disciplinas para su desarrollo, por lo que deberá adaptarse a la nueva realidad.
Pero esta creciente dependencia que tenemos del software nos hace vulnerables a debilidades inherentes lo mismo. Y estas debilidades, muchas veces reflejadas en casos de graves problemas en diferentes áreas (fallas de seguridad, por ejemplo), son consecuencia de la falta o la necesidad de mejorar las prácticas de ingeniería de software para soportar nuevos escenarios.
El software debe ser considerado como un componente estratégico de una nación.
Premisas para una nueva concepción de la ingeniería del software
Centros de formación e investigación como el Instituto de Ingeniería de Software Están trabajando en la definición de una nueva concepción de la ingeniería de software sobre la base de que las tecnologías evolucionan rápidamente y que la adaptación de métodos y prácticas debe acompañar esta evolución. Algunas de las premisas que guían esta nueva concepción de la ingeniería del software son las siguientes:
Considere el software como un componente estratégico de una naciónel esfuerzo por mejorar la forma en que se produce es una responsabilidad compartida entre el estado, la academia y la industria, colaborando con una visión compartida y garantizando los recursos necesarios para apoyar la investigación y el desarrollo.
El proceso de desarrollo debe reinterpretarse a partir de uno que integre la inteligencia artificial (IA) con el desarrollador, para asegurar una evolución continua del sistema mediante la implementación, por ejemplo, de la programación por intención.
En casi todas las etapas del proceso de desarrollo, la IA tiene un enorme potencial para ayudar a los humanosaliviando la tensión de las tareas tediosas, para que puedan concentrarse mejor en actividades que requieren la creatividad y la innovación que solo nosotros podemos brindar.
Para lograr este objetivo, es necesario visualizar el proceso de manera integral, identificando los puntos donde la IA y otras herramientas automatizadas agregar valor al desarrollo.
Uno de los desafíos será usar datos del proceso de desarrollo para alimentar componentes de IA. Esta área de investigación debe proporcionar una proceso de desarrollo altamente automatizadoque facilita la colaboración entre humanos e IA y potencia la evolución continua de los sistemas basados en software.
Son necesarios nuevos métodos de aseguramiento de la calidad, verificación y validación
Nuevos métodos en ingeniería de software.
Dado que los sistemas van a evolucionar constantemente y en algunos casos en tiempo real, nuevos métodos de aseguramiento de la calidadverificación y validación, poniendo la seguridad como atributo de primer orden.
Muchos de los sistemas futuros incluirán a las personas como componentes de los mismos, no simplemente como usuarios, llevando la escala social a límites que requerirán nuevos métodos de diseño para soportar nuevos atributos de calidad además de los tradicionales de rendimiento, disponibilidad, escalabilidad, etc.
La característica sociotécnica de los sistemas futuros implicará dedicar esfuerzos a nuevos modelos y patrones arquitectónicos y serán necesarias nuevas estrategias de diseño que se centren en el concepto de «diseño centrado en el ser humano».
El volumen de sistemas seguirá creciendo aumentando su complejidad, por lo que es necesario investigar nuevas metodologías y tecnologías de composición que faciliten la integración y orquestación de software. Los paradigmas como línea de productos deben evolucionar con nuevas técnicas y herramientas.
Los ingenieros de software deben estar capacitados en disciplinas complementarias porque los nuevos desarrollos integrarán otras disciplinas en el campo de las ciencias sociales y también incorporarán nuevos conocimientos técnicos alineados a las nuevas tecnologías y la demanda de nuevos tipos de sistemas.
Qué dijiste barry bohemio, «en el futuro será más importante cómo aprendemos que el contenido de aprendizaje en sí». Aumentar el número de ingenieros es un desafío estratégico para los gobiernos, la industria y la academia.
Alejandro Bianchi
Es necesario desarrollar nuevas especialidades para cumplir con los requisitos de la nueva generación de sistemas. ingeniería de seguridad y la ingeniería de inteligencia artificial son dos claros ejemplos.
Las futuras generaciones de ingenieros de software se basarán en estos puntos. El mundo por venir será cada vez más dependiente del softwarepor lo tanto, existe una gran responsabilidad para garantizar sistemas con una calidad cada vez mayor y que la calidad se mantenga a medida que evoluciona el software.
Aunque el desarrollo de software tiene un gran componente social (formación de equipos, motivación, comunicación y negociación, por mencionar algunos), la calidad solo se consigue con una buena ingenieria. Este último se vuelve más válido en el mundo venidero.
Presidente de Liveware.
Palabras clave de esta nota:
#Cuál #futuro #del #desarrollo #software
Fuente: iprofesional.com