Modernización de aplicaciones: 5 pasos basados en procesos

Descubre cómo entregar mejores programas y sistemas en entornos de rápido crecimiento. Únete a nuestra Comunidad

Muchas empresas abordan la modernización de aplicaciones mediante actualizaciones tecnológicas, pero esta estrategia puede quedar obsoleta rápidamente. Enfóquese en modernizar los procesos de desarrollo y distribución para lograr innovación, escalabilidad y ventaja competitiva a largo plazo.

app modernization featured image

Si pides a profesionales de TI que describan las estrategias de sus empresas para la modernización de aplicaciones, es probable que escuches respuestas centradas en la tecnología.

Puede que te cuenten cómo están migrando aplicaciones locales a la nube, trasladando aplicaciones que ya están en la nube a nuevos tipos de servicios en la nube o refactorizando sus aplicaciones para que se ejecuten como microservicios.

En otras palabras, cuando muchas personas piensan en la modernización de aplicaciones, lo hacen en términos de cambio tecnológico.

Estoy aquí para decirte que este es el enfoque equivocado para la modernización de aplicaciones. En lugar de modernizar las tecnologías, las empresas realmente necesitan modernizar sus procesos de desarrollo y despliegue de aplicaciones.

Permíteme explicarlo analizando por qué las organizaciones deben aspirar a adoptar un enfoque basado en procesos para la modernización de aplicaciones, junto con recomendaciones prácticas sobre cómo modernizar los procesos de entrega de aplicaciones.

Modernización de aplicaciones: una historia interminable

Un enfoque centrado en la tecnología para la modernización de aplicaciones se queda corto sencillamente porque las tecnologías cambian constantemente. Las innovaciones técnicas que hacen que tu aplicación sea «moderna» hoy pueden hacer que parezca una aplicación heredada dentro de uno, tres o diez años.

Por ejemplo, cuando la modernización de aplicaciones se convirtió en una palabra de moda hace aproximadamente una década, las tecnologías en la nube como la Infraestructura como servicio (IaaS) estaban en el centro de muchas estrategias de modernización de aplicaciones. En aquel momento, la IaaS era algo muy importante para muchas organizaciones que anteriormente alojaban sus cargas de trabajo en sus instalaciones. Para ellas, el concepto de poder ejecutar sus aplicaciones en una infraestructura gestionada por otra persona y pagar únicamente por los recursos que consumen sus cargas de trabajo era revolucionario.

Hoy, por supuesto, la IaaS parece mucho menos extraordinaria. Sigue siendo valiosa, pero se ha vuelto tan habitual que ya no está en el centro de la conversación sobre la modernización de aplicaciones. En su lugar, hoy se suele hablar de tipos de tecnología y conceptos técnicos más recientes, como los contenedores y las funciones sin servidor.

Esto significa que, si tu estrategia de modernización de aplicaciones se centra en actualizar tus aplicaciones para aprovechar la tecnología más reciente y avanzada (sea cual sea en el momento de iniciar la iniciativa), tarde o temprano tu aplicación dejará de ser innovadora. Tampoco destacará a la hora de proporcionar la ventaja competitiva más significativa para tu empresa. Y, en muchos casos, no te beneficiarás de las últimas protecciones de seguridad, que son esenciales para adelantarte a las amenazas cambiantes.

Un enfoque más saludable para la modernización de aplicaciones consiste en centrarse en modernizar los procesos. A pesar de los importantes cambios experimentados por la tecnología de despliegue de aplicaciones durante la última década o las dos últimas, los procesos de desarrollo que mejor impulsan la innovación y la eficiencia del software —como los conceptos y prácticas interrelacionados de la metodología ágil, la Integración continua/Entrega continua (CI/CD) y DevOps— se han mantenido más o menos iguales.

Por eso, el verdadero objetivo de toda empresa debería ser modernizar sus procesos de entrega de aplicaciones para aprovechar las técnicas más innovadoras. Cuando tus procesos son modernos, tu capacidad para aprovechar la tecnología moderna y actualizar rápidamente las aplicaciones para beneficiarte de las nuevas tecnologías surge de forma natural.

Cómo mejorar el proceso de modernización de aplicaciones

El desafío para muchas empresas, por supuesto, consiste en modernizar realmente el proceso de entrega de software de forma que los cambios sean más rápidos, sencillos y seguros. ¿Qué procesos específicos deberían modificar y cómo pueden superar los obstáculos que probablemente encontrarán en el camino?

Para responder a esas preguntas, vamos a repasar algunas tácticas de modernización de procesos que pueden ayudar a transformar la forma en que las empresas «hacen» software, independientemente de las tecnologías que utilicen.

ÚNETE A LA COMUNIDAD
Mejora tu bandeja de entrada con más sabiduría sobre liderazgo tecnológico para ofrecer mejores programas y sistemas.
Get Free Access

Have an account? Log In

1. Detectar procesos problemáticos mediante el análisis del flujo de valor

El primer paso en la modernización de procesos consiste en determinar qué procesos necesitan más urgentemente un cambio. Para obtener esa información, es necesario realizar un análisis del flujo de valor. El análisis del flujo de valor proporciona información sobre las tareas que tienen lugar durante la entrega de software y cuánto tarda cada una, de forma similar a cómo revisar un presupuesto ayuda a los equipos a centrarse en las formas de mejorar los resultados financieros abordando primero las partidas presupuestarias más importantes.

Cuando realizas un análisis del flujo de valor de la entrega de software, descubres qué partes del proceso de desarrollo de aplicaciones tardan más o requieren un mayor esfuerzo manual, así como qué componentes de la gestión de la infraestructura son más propensos a errores.

Aunque probablemente casi todos tus procesos podrían mejorarse en cierta medida, el análisis del flujo de valor te permite centrarte en los que están más preparados para una mejora. También te ayuda a identificar tareas o pasos innecesarios que puedes eliminar para que el proceso de despliegue sea más sencillo, rápido y con menos riesgos.

2. Medir la entrega de software

Analizar las prácticas de entrega de software es más eficaz cuando se realiza un seguimiento sistemático y cuantitativo de los procesos. Esto puede hacerse mediante marcos como las métricas DORA de Google, que miden la eficiencia de los procesos existentes de desarrollo e implementación de software.

Un enfoque basado en métricas permite realizar un seguimiento preciso de los resultados de la entrega de software. Por extensión, ayuda a las empresas a evaluar con precisión cuánto mejoran (o no) después de introducir cambios en sus procesos de entrega de software.

3. Declara la guerra a los procesos manuales

Si tu organización es como la mayoría, el análisis de tu cadena de valor revelará un buen número de procesos que tus equipos todavía realizan manualmente. Automatizarlos siempre que sea posible debería ser una prioridad. La automatización ahorra tiempo, reduce el riesgo de errores y facilita implementaciones más seguras.

En la mayoría de los casos, los procesos manuales son la antítesis de la modernización de aplicaciones por dos motivos. Uno es que ralentizan las operaciones y generan ineficiencia. El otro es que las operaciones manuales suelen aumentar el riesgo de errores debido a la posibilidad de que una persona pase por alto algo importante o cometa un error al aplicar una configuración, lo que puede abrir la puerta a una brecha de seguridad.

4. Refactoriza los procesos y procedimientos de gestión

Del mismo modo que puedes refactorizar una aplicación monolítica redefiniendo su arquitectura, puedes redefinir tus procesos y procedimientos de gestión, como tu enfoque del desarrollo de aplicaciones y la administración de sistemas.

En muchos casos, aumentar la velocidad de las implementaciones de aplicaciones y adoptar la implementación y la entrega continuas requiere reescribir los procesos de gestión de cambios de software, porque los enfoques heredados, como los asociados al modelo en cascada, no son escalables. No pueden seguir el ritmo de las canalizaciones de entrega continua, en las que se envía código nuevo a producción varias veces por semana o, en ocasiones, incluso con mayor frecuencia.

Los procesos lentos y manuales deberían sustituirse por procesos automatizados en la medida de lo posible. Por ejemplo, las pruebas de software podrían automatizarse para ahorrar tiempo y mejorar la calidad (porque, con demasiada frecuencia, las aprobaciones manuales se sellan sin más, lo que significa que ralentizan el proceso de pruebas sin aportar valor). Además, los procesos excesivamente complejos podrían dividirse en procedimientos más pequeños y sencillos.

5. Cambia tu mentalidad sobre los procesos

Además de modificar los propios procesos, la modernización de aplicaciones también debería implicar cambiar la forma en que las organizaciones conciben los procesos en general. Con esto me refiero a impulsar a los desarrolladores, administradores de TI y responsables de gestión a utilizar la automatización de forma predeterminada al implementar procesos.

Esto puede parecer innecesario porque muchos profesionales de TI hablan hoy sobre la importancia de la automatización. Sin embargo, cuando se trata de implementar realmente los procesos, suelen inclinarse por enfoques manuales porque inicialmente son más rápidos y sencillos de implementar. Para lograr el éxito a largo plazo de la modernización de aplicaciones, necesitas que tus equipos adopten la automatización como una forma de ahorrar tiempo y esfuerzo y reducir el riesgo a largo plazo, aunque requiera más trabajo al principio.

More Articles

Superar los desafíos de la modernización de aplicaciones

En el proceso de introducir los cambios en los procesos que acabo de describir, las empresas suelen encontrarse con problemas como los siguientes:

  • Resistencia al cambio: Si los procesos manuales o ineficientes llevan décadas en funcionamiento y la empresa ha seguido operando, algunas personas pueden cuestionar el valor de cambiar las cosas.
  • Falta de recursos: Revisar los procesos por completo requiere tiempo y esfuerzo. Los departamentos de TI que ya están sobrecargados pueden mostrarse reacios a comprometer recursos para cambiar los procesos.
  • Falta de liderazgo: Sin directivos o responsables que guíen la modernización de los procesos, las iniciativas pueden perder impulso.

Estos desafíos son, hasta cierto punto, inevitables. Pero también tienen solución. Parte de la solución consiste en empezar poco a poco; en lugar de revisar todos tus procesos de la noche a la mañana, elige solo algunos y amplía el alcance a partir de ahí. También es una buena práctica empezar con uno o dos equipos.

Una vez que hayas determinado por dónde empezar, asegúrate de medir la entrega de software mediante métricas, realizar un análisis de la cadena de valor para determinar dónde puedes mejorar y aplicar cambios. Después de mejorar la eficiencia de tus equipos iniciales, los miembros de esos equipos pueden ampliar su colaboración y ayudar a otros a adoptar procesos y mentalidades similares.

Las empresas también deberían designar responsables para supervisar las iniciativas de modernización y delegar la responsabilidad de determinados aspectos del proceso en personal con las habilidades necesarias. Otra opción es externalizar este trabajo a una empresa de desarrollo de aplicaciones móviles o a una empresa de desarrollo de aplicaciones para iPad.

Un enfoque moderno para la modernización de aplicaciones

En última instancia, el éxito de cualquier proyecto de modernización de aplicaciones depende no solo de las tecnologías que se elijan implementar, sino también de cómo se implementen. Hasta que las empresas modernicen los procesos para desarrollar y actualizar software, siempre estarán por detrás de la competencia.

Sin embargo, con procesos eficientes, fiables y seguros, las organizaciones pueden modernizar sus aplicaciones aprovechando las últimas innovaciones tecnológicas siempre que surjan nuevas oportunidades tecnológicas.

Suscríbete al boletín de The CTO Club para obtener más consejos, trucos y herramientas para la modernización de aplicaciones.

Scott Wheeler
Scott Wheeler is Cloud Practice Lead at Asperitas. He helps organizations successfully implement the most complex and demanding cloud solutions.
Follow the author:

You may also like