¿Tu empresa necesita más software?


 Como resultado de la transformación digital, existe una necesidad global de construir más software con un enfoque dominante en la experiencia de clientes y empleados, la automatización de procesos y la modernización de las tecnologías heredadas. Prakash Vyas, Jefe de Marketing de Portafolio en la empresa de low-code de alto rendimiento - OutSystems, examina los fundamentos, las recomendaciones y las recompensas que se dan ahora en el ciclo de vida del desarrollo de software.

¿No tenemos suficientes aplicaciones? ¿Seguro que no necesitamos seguir construyendo más software? ¿Acaso la plataforma de TI que utilizamos en nuestra empresa no tiene suficiente flexibilidad y opciones personalizables para darnos lo que queremos? ¿No podemos utilizar las aplicaciones web como un mecanismo complementario para conseguir el resto?

Todas estas preguntas son razonables a primera vista, y podemos imaginarnos fácilmente a cualquier CEO o director de empresa presentando este tipo de frustraciones, y señalando estos puntos al Director de TI de la compañía como principales objetivos para obtener respuestas.

En realidad, necesitamos más programas informáticos a nivel mundial, pero hay razones fundamentales para ello.

Orgánicos Naturales

Parte de la razón por la que necesitamos nuevas aplicaciones se reduce a "causas naturales" en cierto sentido. Las empresas se fusionan y se adquieren, pero también se desprenden y divergen constantemente. Esto suele crear una necesidad de nuevas TI en forma de aplicaciones y servicios de datos.

En un nivel igualmente "orgánico" (o quizás digitalmente orgánico), algunas aplicaciones se quedan obsoletas, anticuadas o superadas y usurpadas por nuevos métodos operativos, nuevos flujos de trabajo humanos, nuevos factores de forma de los dispositivos, etc. Inevitablemente, siempre necesitaremos mantener algunas aplicaciones heredadas (después de todo, siguen funcionando, por eso son heredadas), especialmente en áreas como los servicios financieros. Sin embargo, si no se ejecutan en la última versión de una plataforma, se puede crear un riesgo de seguridad. Por ejemplo, puedes tener un sistema bancario central que realiza una función muy específica, pero si sólo se ejecuta en Windows NT, eso crea un problema de mantenimiento y expone una vulnerabilidad de seguridad.

Entonces, ¿cómo decidimos qué refactorizar y migrar frente a qué conservar? Si lo miramos desde el punto de vista de la funcionalidad, siempre habrá algunos sistemas de registro en los sistemas de fondo de cualquier organización que estarán a punto de ser heredados de una forma u otra. No se trata en absoluto de aplicaciones que hayan perdido su valor; están haciendo el trabajo para el que fueron asignadas en primer lugar. El reto que tenemos es que la aplicación se va a ver obligada, en cuanto a su modalidad y forma, a evolucionar hacia plataformas, protocolos y estándares modernos. El otro problema nada insignificante de los sistemas heredados son las habilidades y la transferencia de conocimientos necesarios para entender, actualizar y mantener un sistema a menudo anticuado.

Cuando la plataforma subyacente sobre la que funciona cualquier aplicación cambia, suele obligar a algún nivel superior de refactorización, replanificación y migración. No todo son malas noticias; este proceso nos brinda la oportunidad de mejorar esa aplicación en ese momento. Sabemos que, según las leyes de Lehman sobre la evolución del software, en el momento en que damos algo a un usuario, sus expectativas cambian y la complejidad del software de un sistema aumentará continuamente durante su vida útil.

Estas realidades validan el argumento de la evolución del software a todos los niveles. Lo que queremos decir con esto es que, incluso cuando una pieza de software está haciendo su trabajo, normalmente estará sujeta a una complejidad creciente, y esto significa que, en última instancia, tendremos que evolucionar esa aplicación. Cerrando el círculo, podemos seguir conservando la funcionalidad heredada, pero la aplicación en sí debe adaptarse a tiempo a una plataforma más moderna.

Pensando más ampliamente en cómo evolucionará el desarrollo de software en la era de las plataformas low-code y no-code, ahora es el momento de preguntarnos qué otros factores podrían impulsar realmente el desarrollo de nuevas aplicaciones.     

Comentarios

Entradas populares