Ocho razones para apostar por el desarrollo orientado a modelos

El desarrollo de software orientado a modelos simplifica el proceso de diseño de aplicaciones a través del uso de patrones de diseño que se repiten en el dominio de aplicación.

Big data

El desarrollo orientado a modelos (MDD, por sus siglas en inglés) tiene muchos peligros, muchos de los cuales provienen de no entender su verdadero valor. Este paradigma de desarrollo de software está centrado en la creación y explotación de modelos de dominio (es decir, representaciones abstractas de conocimientos y actividades), y busca aumentar la productividad maximizando la compatibilidad entre sistemas a través de la reutilización de modelos estandarizados.


Sin embargo, para Gastón Milano, Chief Technology Officer (CTO) de GeneXus Internacional, el desarrollo de software orientado a modelos simplifica el proceso de diseño de aplicaciones, a través del uso de patrones de diseño que se repiten en el dominio de aplicación. De acuerdo con el ejecutivo, estas son las ocho principales razones por las cuales conviene adoptar este paradigma en la empresa:

1. El MDD introduce gran flexibilidad en las empresas. “Flexibilidad significa la capacidad de responder al cambio y adaptarse, tanto en el aspecto técnico como en el comercial. Si seleccionas un lenguaje y escribes una solución a mano, puedes tener un tipo de flexibilidad a corto plazo (relacionada con el poder del lenguaje elegido), pero agregas mucha rigidez a largo plazo. Así que debes tener en cuenta el tiempo que deseas que dure tu inversión en el desarrollo, antes de definir qué camino tomar”, comenta Milano.

En un MDD, tienes un modelo y puedes reutilizar los conceptos, y esto tiene sentido especialmente a mediano y largo plazo. Por ejemplo, al crear una aplicación para Android desde un modelo FoxPro Win, explica el ejecutivo.

2. Los modelos modernos tienen gran extensibilidad. Hoy en día, hay modelos con gran extensibilidad en diferentes niveles, diseñados para interactuar con el código manual en todos los niveles. Si estos códigos son muy comunes, a mediano plazo terminan siendo incorporados al modelo.

“No hay modelos perfectos, pero muchos de ellos son útiles y tienen gran extensibilidad. El truco está en encontrar un modo que tenga la ventaja en productividad del MDD y la posibilidad de extenderla cuando el modelado no es suficiente”, indica el experto.

3. Los programadores pueden enfocarse en el “qué” en lugar del “cómo”. Un MDD puede permitirle a los programadores que no saben absolutamente nada de Objective-C crear aplicaciones empresariales para iPhone y iPad, que se ajusten a las directrices de Apple, basadas en un modelo. Este modelo también puede ser utilizado para generar apps en Android, BlackBerry o Windows 8, con un mínimo esfuerzo.

4. Hay plataformas MDD que soportan el control de versiones e integración continua. “En el caso de GeneXus, hemos estado trabajando durante muchos años para lograr este estatus, y es fantástico contar con un sistema completo de control de versiones integrado con herramientas de integración continua”, declara Gastón Milano.

5. Existen estupendas herramientas que aceptan MDD. Casi cualquier industria utiliza software para aumentar la productividad y mejorar la eficiencia y eficacia en todos sus niveles operativos. Pero la industria del software es la única que se niega a crear software usando software para lograr esos mismos objetivos. Por suerte, hay muchas empresas trabajando en un cambio de paradigma, pues la única manera de lograr este cambio de paradigma es creando más herramientas asombrosas que contribuyan a la creación de software a través del software.

6. El equipo de requerimientos puede centrarse en el negocio. Suele pasar que, durante el desarrollo de una aplicación, un requerimiento no se puede cumplir de una manera particular debido a las limitaciones del modelo, pero esto también sucede en una solución de código manual.

“Si solicitas un formulario que tenga un scroll dentro de otro scroll en una solución para Android, es muy difícil de lograr, pero no porque se trabaje en MDD, ya que los modelos actuales interoperan con el código escrito a mano. Esto permite que los equipos se enfoquen únicamente en el lado de negocios, no en la programación de una solución particular”, dice el CTO de GeneXus.

7. Puedes vender la solución, no el paradigma. Al ofrecer aplicaciones desarrolladas con este paradigma, no es necesario explicar qué es MDD al cliente final; basta decirle que la solución será extremadamente flexible en el largo plazo, y que conservará el conocimiento del negocio, representado en los modelos que se apliquen, para su uso posterior.

8. Ya no debe preocuparte la evolución de la tecnología. Si tienes un negocio, probablemente querrás utilizar la mejor tecnología en cada momento, pero puedes perder tu enfoque en el negocio si necesitas preocuparte por cualquier nuevo detalle tecnológico.

“Utilizando un enfoque de MDD, no tienes que preocuparte por los cambios continuos en las tendencias de la tecnología subyacente, pues puedes irte actualizando fácilmente”, subraya el experto.

Whitepaper emc-cio-it-as-a-service-wp Whitepapers