Morphis: “Nuestras herramientas son capaces de detectar líneas de código obsoletas y modernizarlas”
Entrevistamos a Carlos Machado, Country Manager de Morphis España, que nos explica en detalle en qué consisten los proyectos de modernización de aplicaciones en los que están especializados.
La modernización de aplicaciones no es un concepto nuevo, pero podríamos decir que con la llegada de las arquitecturas cloud ha ido ganando relevancia debido a que muchas compañías necesitan adaptar tecnologías antiguas a la nueva era basada en la nube. Sin embargo, debido a diversos motivos que nuestro invitado nos explica a continuación, partir de cero es una alternativa sumamente costosa, por lo que las organizaciones terminan abrazando una modernización de software agnóstica del código fuente y algoritmos ya existentes. Se trata de aplicar herramientas automatizadas capaces de analizar ese código y adaptarlo (sin intervención humana) a las nuevas tendencias en movilidad y cloud. Eso es lo que hace Morphis, una compañía portuguesa que aterrizaba el año pasado en nuestro país de la mano de Carlos Machado, country manager para España.
El directivo (licenciado en Informática y Física Nuclear por la Universidad de Lisboa) llega al mercado español con un amplio bagaje en este tipo de tecnologías y ha ocupado diversos cargos de responsabilidad tanto en Portugal como en el Reino Unido y Brasil. A continuación, la interesante entrevista que concedía a Silicon hace algunos días:
– En la modernización de aplicaciones y los test de calidad de software se habla mucho de la “deuda técnica”, ¿en qué consiste?
La deuda técnica se produce principalmente en los procesos de desarrollo de software. Se trata de líneas de código que por unos motivos u otros (mala programación o sencillamente algoritmos necesarios para que una aplicación funcione) terminan quedándose obsoletos en el futuro. Puede darse el caso de que en el momento de ser implantada, la deuda técnica no se considere como tal, pero sí con el paso del tiempo al irse incorporando nuevas tecnologías de programación o nuevos lenguajes.
Las aplicaciones van acumulando deuda técnica y una de las funciones que tienen las herramientas de control de calidad es precisamente identificar en el código fuente que secuencias requieren más atención para su modernización o por otros motivos como los procesos de mantenimiento, mejora del rendimiento, seguridad… La idea es valorar si merece la pena optimizar, modernizar o simplemente reemplazar esas piezas de código ya que muchas veces se termina dedicando mucho esfuerzo o tiempo en ellas, lo que se traduce en tener que invertir dinero.
– Y es ahí donde entran en juego vuestras herramientas de análisis y modernización…
Exacto, después de un análisis exhaustivo nos permiten conocer con gran exactitud cuánto dinero hay que invertir para el mantenimiento y cuánto se podrían ahorrar los clientes aplicando nuestras técnicas automatizadas de modernización. Con ellas podemos evaluar hasta qué punto debemos seguir manteniendo la aplicación actual o tomar decisiones más drásticas como el reemplazo o la reescritura del código. Nuestro conjunto de herramientas permite automatizar los procesos de migración.
– En términos generales, ¿en qué estado se encuentran las aplicaciones de las empresas que analizáis?
En España, como en otros países, hay muchas compañías que mantienen aplicaciones basadas en lenguajes y entornos de programación antiguos como Oracle Forms, Visual Basic, Delphi, Informix 4GL… Pero también hemos encontrado software en las administraciones públicas en el que se invierte mucho tiempo y dinero para su mantenimiento. Aquí, cada Comunidad Autónoma es un mundo y no hay prácticamente aplicaciones centralizadas para todas las regiones sino que cada autonomía se encarga de ellas. Se da la paradoja de que cada una tiene aplicaciones distintas, desarrolladas con tecnologías distintas, pero que con la misma funcionalidad. En nuestro caso, las Administraciones Públicas son principales clientes pero las decisiones a la hora de modernizar dichas aplicaciones se realizan a largo plazo. Son iniciativas que se van dejando para más adelante ya que no se consideran prioritarias a menos que los sistemas vayan a dejar de funcionar.
– No obstante, en el sector privado también tenéis importantes clientes, ¿no es así?
Sí, muchas empresas del sector privado siguen gestionando sus ERPs basados en tecnologías antiguas y con el paso del tiempo van perdiendo competitividad, pero aquí ocurre algo similar, ya que los proyectos de modernización no son del todo prioritarios. En cualquier caso estamos en conversaciones con diversas empresas para acometer las actualizaciones en un periodo corto de tiempo.
– Una vez que uno de vuestros clientes os da el visto bueno, ¿cómo se afronta un proyecto de estas características?, ¿cuáles son los pasos a seguir?
Los procesos de modernización comienzan normalmente en una fase en la que les mostramos la tecnología que será utilizada. Pasado este punto desarrollamos ejemplos reales de cómo quedaría nuestra tecnología implementada en sus sistemas, es decir, realizamos una migración de un pedazo de código relativamente pequeño, de tal forma que puedan contrastar la pieza original con la ya convertida. Además también se realizan demostraciones de cómo funciona nuestro desarrollo en combinación con otros procesos antiguos. Este detalle es importante ya que en muchas ocasiones tenemos que hacer convivir ambas tecnologías funcionando a la vez, ya que no es habitual en estos grandes proyectos realizar una modernización completa sino realizarla en distintas etapas.
Por otra parte, realizamos un análisis completo del código antiguo con nuestras herramientas para determinar qué partes conviene actualizar y qué partes no es posible modernizar, o simplemente es demasiado costoso en tiempo y dinero. Por último, una vez que ya está todo claro, se realiza la migración del segmento seleccionado, ya sea una aplicación o un conjunto de ellas y así sucesivamente hasta finalizar el proyecto.
– Vuestras herramientas son capaces de realizar esta modernización, pero imagino que siempre hay alguna pieza de código que es necesario reescribir manualmente…
Sí, depende de cómo estén desarrolladas las aplicaciones y del cambio tecnológico que se desea implementar. Por ejemplo, el software antiguo estaba programado con una metodología monocapa, pero los desarrollos basados en web actuales se desarrollan con metodología multicapa (frontend, backend, capa de negocio, etc.), por lo que hay que seleccionar dónde irá cada parte, esa división puede hacerse de forma automática o bien manual. Como digo, todo depende de cómo se haya desarrollado ese software. Existen otras particularidades que a veces imposibilitan la migración automática.
– Lo que significa que en ocasiones os podéis encontrar con proyectos que no son viables al ser necesario un alto grado de migración manual…
Por eso las primeras fases automatizadas de análisis de las aplicaciones son de vital importancia. Aquí el código es inspeccionado minuciosamente por nuestras herramientas, por lo que es aquí donde identificamos cualquier incompatibilidad a la hora de realizar la modernización. Cuando avanzamos hacia la migración final ya sabemos que no habrá problemas. El riesgo de que fracase el proyecto o que exista un aumento significativo de los costes es casi nulo en esa última fase.
– ¿Cuánto tiempo suele durar un proyecto de migración?
Depende de su magnitud, desde un mes a dos años. Un proyecto grande se puede finalizar en un año y medio.
– ¿Cuál es vuestro modelo de negocio en estos proyectos de modernización?, ¿cómo cobráis a los clientes?
Nuestra misión es desarrollar y poner en el mercado tecnologías que permitan esta modernización a través de nuestras herramientas. El modelo de negocio se basa en el uso de estas herramientas, por tanto, nosotros facturamos durante el periodo que dura la migración y, adicionalmente, en los posteriores procesos de mantenimiento, pero los clientes no tienen que seguir pagando por esas herramientas después de la comentada modernización. En esos procesos de mantenimiento pueden optar por nuestras herramientas de calidad o las de DevOps para mejorar futuros desarrollos ágiles.
– Más allá de la relación directa con clientes, también trabajáis con partners, ¿cómo es esta colaboración y cuáles destacarías?
Efectivamente tenemos relación con grandes integradores que usan nuestras herramientas en proyectos de modernización que llevan a cabo ellos mismos. Por ejemplo, trabajamos muy estrechamente con Fujitsu a nivel global, pero aquí en España llevamos tiempo con Ibermática, Near, IBM… incluso con Microsoft y Oracle, con las que realizamos proyectos de modernización de sus tecnologías antiguas hacia los nuevos entornos basados en cloud. La gente podría pensar que estamos quitando negocio a estas empresas de software, pero no es así, simplemente ayudamos a modernizar las aplicaciones de sus clientes hacia entornos actuales creados por estos grandes fabricantes.
Sin ir más lejos, nos encontramos habitualmente con empresas que quieren migrar sus sistemas basados en Oracle Forms hacia Oracle ADF pero no saben cómo hacerlo. Nosotros les ayudamos a conseguirlo.