Modernización. Por qué, cuándo y cómo hacerlo.

Todos conocemos el viejo dicho: «Si no está roto, no lo arregles». Pero en el acelerado mundo actual del desarrollo de software, llega un punto en el que queda claro que es hora de repensarlo. Y los CTO deben estar alerta a las señales de alerta que indican que es hora de considerar nuevas herramientas o enfoques.

Entonces, ¿cómo saber si su pila tecnológica o sus prácticas de desarrollo se están quedando obsoletas?

Según nuestra experiencia, existen algunas señales de advertencia clásicas a las que debemos prestar atención. Si la entrega de software tarda más de lo debido, la frecuencia de los incidentes está aumentando o tiene dificultades para reclutar y retener ingenieros de software, es probable que necesite iniciar un proyecto de modernización.

Las pilas de tecnología más antiguas se caracterizan por requerir mucho trabajo personalizado para implementar las capacidades básicas. Las pilas de tecnología moderna se encargan de gran parte del trabajo técnico pesado, pero también requieren cierta experiencia para utilizarlas de manera eficiente.

En este blog le ayudamos a explorar algunos de los factores prácticos asociados con la decisión de cómo y dónde modernizarse.

¿Por qué modernizarse?

La modernización no es una opción. Las empresas (y los equipos de TI empresariales) no operan en el vacío. Quedarse quieto significa invariablemente quedarse atrás.

Los mercados son dinámicos. Los nuevos participantes suben el listón. Las necesidades del cliente cambian y las expectativas aumentan. Y los objetivos comerciales se desarrollan. La modernización es lo que hay que hacer para seguir siendo relevante y competitivo. E idealmente un paso por delante.

También se trata de evitar que te quedes atrás. Si no puede lanzar el software tan rápido como desea, o hay errores y problemas cuando lo lanza. Si tiene dificultades para encontrar personas con las habilidades adecuadas para trabajar en su plataforma. Quizás su plataforma no pueda manejar la cantidad de tráfico o el volumen de solicitudes. O el desarrollo de software simplemente le está costando más dinero del que debería. En todos estos casos, es probable que el legado lo esté frenando y sea hora de cambiar.

Hay múltiples razones para modernizarse: técnicas, comerciales y estratégicas. En el mundo actual, son muy pocos los que no lo hacen.

Modernización en acción

Un gran ejemplo de esto sería pasar de una pila LAMP o JavaScript básico al uso de React, una biblioteca de JavaScript front-end utilizada para crear interfaces de usuario dinámicas para aplicaciones web. Una medida que generará una variedad de avances en la modernización.

Fácil de aprender y usar, React JS es una popular biblioteca de código abierto ampliamente utilizada por desarrolladores de todo el mundo. Como consecuencia, la mayoría de los ingenieros de front-end y full stack tienen alguna experiencia comercial con React. Lo que facilita la incorporación de nuevos ingenieros y hace que todos estén en sintonía rápidamente. Pero eso no es todo.

React también es una solución muy «obstinada» que colapsa muchas decisiones. Si haces las cosas a la manera de React, puedes progresar mucho rápidamente, simplemente eliminando el debate. Además, con tantas organizaciones líderes que utilizan React, es fácil demostrar lo que es posible desde una perspectiva técnica, funcional, de rendimiento y confiabilidad.

Además, pasar a React JS eliminará la necesidad de realizar un trabajo personalizado que requiere mucho tiempo. Si un desarrollador se encuentra con un problema, es probable que otro desarrollador ya lo haya resuelto y la respuesta esté disponible en un foro en línea.

Simplificación de las pruebas

Las pruebas son otra área que está madura para la modernización y en la última década se ha visto un progreso significativo en la estandarización de cómo se prueban las cosas.

Tomemos como ejemplo el rendimiento web. Herramientas como Sitespeed.io, Lighthouse y K6 han eliminado la necesidad de desarrollar soluciones personalizadas para probar el rendimiento web.

Cuando se combina con enfoques de prueba modernos y automatizados que utilizan entornos de relaciones públicas, indicadores de funciones, herramientas de experimentación y monitoreo de usuarios reales, es posible comprender cómo se desempeñarán los sitios en el entorno de producción antes de que los cambios se publiquen para los usuarios.

Evitación de riesgo

La mitigación de riesgos debe ser una consideración principal para cualquier organización que se embarque en una estrategia de modernización. Por eso creemos que los desarrolladores deberían trabajar primero localmente en sus portátiles. Para garantizar que los ingenieros puedan enviar su código con confianza a un repositorio, un marco de prueba y un proceso de revisión de solicitud de extracción (PR) serán importantes por dos razones clave.

En primer lugar, el código se puede probar en el entorno de producción, en el entorno de relaciones públicas o detrás de un indicador de función antes de implementarlo para los clientes.

En segundo lugar, los equipos tendrán más confianza a la hora de aprender y experimentar porque el riesgo de cometer un error catastrófico se ha contenido adecuadamente.

Repensar las arquitecturas de los sistemas

Desde un punto de vista técnico, la modernización a menudo sólo se ve desde la perspectiva de la tecnología y las herramientas. Pero también es importante tomar decisiones estratégicas sobre las arquitecturas de sistemas para cada caso de uso.

Desde un punto de vista técnico, puede ser mejor crear una solución utilizando sistemas como microservicios. En otras ocasiones, una solución de servidor puede ser una ruta más adecuada a seguir. Con tantas plataformas y opciones técnicas para elegir, muchas organizaciones adoptaron un enfoque DevOps y luego crearon equipos de plataforma que se comportan tal como lo hacían los equipos de Operaciones en los viejos tiempos.

Para evitar que esto suceda, las organizaciones deben tomar algunas decisiones estratégicas claras antes de embarcarse en la modernización de su sistema y diseño de software.

Avanzando con confianza

En un mundo donde hay tantas opciones y costos asociados con la adaptación a nuevos sistemas y tecnologías, puede resultar difícil saber por dónde empezar.

El uso de herramientas modernas y avanzadas para reducir la cantidad de código que se debe escribir y reescribir es un primer paso importante. Pero igualmente importante es pensar en el diseño del sistema para determinar la mejor manera de brindar servicios a los clientes. Y ahí es donde 101 Ways puede ayudar. Para obtener más información, ¿por qué no ponerse en contacto? Y si desea profundizar un poco más en el tema de la modernización, nuestro último podcast ofrece mucho en qué reflexionar.


Source link

About David Lopez

Informático y experto en redes. Redactor en varios blogs tecnológicos desde hace 4 años y ahora en Steamachine.net

Check Also

ServiceNow, Hugging Face y NVIDIA lanzan nuevos LLM abiertos para desarrolladores

ServiceNow, Hugging Face y NVIDIA se han asociado para lanzar una nueva familia de LLM …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *