We're currently working on updating our website's content in order to provide you with a more thorough description of our technology and also update you on the significant improvements on our new Transformation Engines.
We invite you to come visit our new website in a few weeks. You'll discover INTEGRANOVA M.E.S. is the software development disruptor!

Agile Development con Integranova

Nuestros Clientes se preguntan con frecuencia qué tipo de método de desarrollo de software promueve o soporta Integranova, o si pueden usar Integranova con el método de desarrollo de su organización.

A menudo, los Clientes nos preguntan si Integranova soporta la metodología Agile en cualquiera de sus variantes: Scrum, Kanban, Extreme Programming, Agile Modeling, …

Integranova MES es un conjunto de herramientas que ayuda a los desarrolladores a producir software utilizando modelos como principal elemento de desarrollo. Aparte de esto, Integranova no impone ninguna metodología de desarrollo de software.

Así pues, preguntarse si las herramientas Integranova pueden ser utilizadas en proyectos Agile es similar a preguntarse si un IDE en particular (p.ej. Eclipse, Visual Studio, NetBeans, …etc.) puede ser utilizado en proyectos Agile.

La respuesta a cualquiera de estas preguntas es, por supuesto, ¿por qué no?

Integranova ser utilizado en proyectos Agile y, además, resulta que Integranova está muy bien alineada con la filosofía de esta propuesta y con muchos de los principios del Manifiesto Agile.

De hecho, uno de los firmantes del Manifiesto Agile, Stephen J. Mellor, conoce Integranova desde hace años e incluso hizo una presentación sobre nuestra tecnología ya en 2008.

Principios del Manifiesto Agile

Revisemos la filosofía y los principios del Manifiesto Agile y veamos cómo Integranova se alinea con ellos. Algunos principios pueden considerarse como centrados en las personas, mientras que otros pueden verse como centrados en los procesos. Puesto que Integranova es un conjunto de herramientas, nos fijaremos más en los principios centrados en los procesos, aunque Integranova también resulta de utilidad en los principios del Manifiesto Agile centrados en las personas.

Satisfacción del Cliente por la pronta y continua entrega de software de valor

Las herramientas Integranova se utilizan típicamente de forma iterativa. Los desarrolladores trabajan principalmente en la creación y evolución de modelos conceptuales que capturan qué debe hacer un sistema y, entonces, utilizan motores de transformación que producen automáticamente, a partir de dichos modelos, el código fuente que ejecuta de forma precisa la funcionalidad definida a nivel de modelo.

Los desarrolladores no necesitan especificar o capturar todo el conjunto de requisitos funcionales de un sistema en un modelo conceptual antes de pasar a la generación automática de código. Incluso en fases muy tempranas de modelado se puede generar código y a partir de ahí, los desarrolladores comienzan a iterar haciendo crecer el modelo y, por tanto, la cantidad de funcionalidad presente en el código generado automáticamente.

Esto permite a los desarrolladores comenzar a entregar software que funciona ya desde etapas muy tempranas del proyecto de desarrollo.

Aceptar cambios en los requisitos, incluso si el desarrollo está avanzado

Trabajar a nivel de modelo, por contraposición a trabajar a nivel de programación, tiene la ventaja añadida de aumentar la productividad de los desarrolladores. El aumento en el nivel de abstracción que pone sobre la mesa el uso de modelos – con respecto al nivel de abstracción que encontramos en el código fuente – básicamente implica que los desarrolladores necesitan hacer menos tareas a nivel de modelado para alcanzar los mismos resultados que si trabajasen directamente a nivel de programación.

Una consecuencia natural de esto es que es mucho más fácil incorporar cambios en los requisitos a nivel de modelo de lo que resulta hacer lo mismo a nivel de programación. Aunque Integranova no impide que los desarrolladores modifiquen a su antojo el código generado, puesto que resulta mucho más productivo adaptar el modelo que adaptar el código generado a partir del mismo, se recomiendo a los desarrolladores que incorporen los cambios de requisitos realizando modificaciones no al código fuente, sino a los modelos conceptuales.

No importa cuán avanzado se encuentre el proyecto de desarrollo, ni cuántas iteraciones o versiones del software se hayan entregado previamente: los cambios en los requisitos nunca serán un obstáculo para el progreso de un proyecto desarrollado con Integranova.

Entregar software que funciona con frecuencia (semanas en lugar de meses)

Como ya hemos dicho, las herramientas Integranova se utilizan típicamente de forma iterativa. Los desarrolladores se centran en definir qué deben hacer los sistemas que construyen, en lugar de definir cómo deben hacerlo. Trabajar a nivel de modelado, a un nivel de abstracción más alto del que tiene el código fuente, tiene el beneficio adicional de acortar considerablemente cada iteración de desarrollo.

Iteraciones más cortas con Integranova implican que los desarrolladores pueden entregar software que funciona más rápidamente y con mayor frecuencia. De hecho, aunque muchos de nuestros Clientes descubren que pueden entregar nuevas versiones del software que desarrollan con Integranova de manera diaria, típicamente liberan versiones cada semana o quincena. No porque Integranova no permita un ritmo de entregas tan rápido, sino porque nuestros Clientes necesitan dar a los suyos algo más de tiempo para poder probar las versiones que les entregan.

Cooperación estrecha y diaria entre desarrolladores y usuarios de negocio

Aunque este principio pueda no verse relacionado con ninguna herramienta en particular, resulta evidente que utilizar herramientas que acortan las iteraciones, que aceleran el desarrollo y la entrega de software que funciona, favorece una más frecuente y cercana cooperación entre los desarrolladores y los usuarios de negocio.

Las características para el desarrollo rápido que ofrece Integranova favorecen especialmente una cooperación estrecha y diaria.

El software que funciona es el principal indicador de progreso

Con Integranova se pueden convertir de forma automática los modelos, sin importar cuán pequeños o incompletos sean, en software que funciona. Esto implica que los desarrolladores – y los usuarios de negocio y los usuarios finales – pueden observar cómo crece el software a medida que se evolucionan y aumentan los modelos, lo cual resulta ser un estupendo indicador de progreso.

Como los modelos se convierten en el principal elemento de desarrollo ya que el software que funciona (léase “producto que funciona”) se obtiene automáticamente a partir de ellos, los desarrolladores pueden producir, en menos tiempo, más software. Así, Integranova empodera a los desarrolladores al permitirles hacer mayores progresos en menor tiempo y con menor coste.

Desarrollo sostenible, capaz de mantener un ritmo constante

Los desarrolladores que utilizan Integranova pronto descubren que los Transformation Engines de Integranova se encargan de todas las tareas pesadas asociadas con la implementación de los requisitos funcionales capturados en los modelos conceptuales.

Los Integranova Transformation Engines llevan a cabo su trabajo de forma rápida, con tiempos de respuesta que van desde unos pocos segundos a algunos minutos, dependiendo de lo pequeño/simple o grande/complejo sea el modelo conceptual que utilizan como input.

Esta mejora de la productividad ayuda a los desarrolladores a acometer proyectos más grandes y complejos, así como a minimizar el impacto de circunstancias inesperadas, puesto que los cambios en requisitos se pueden incorporar fácilmente.

Este aumento de productividad también implica que se necesiten equipos de desarrollo de menor tamaño para desarrollar y entregar la misma cantidad de funcionalidad, lo que hace el proceso de desarrollo más sostenible desde las fases tempranas y durante las diferentes evoluciones que pueda requerir el producto si cambian o aparecen nuevas necesidades de negocio.

La simplicidad – el arte de maximizar la cantidad de trabajo no realizado – es esencial

Trabajar a nivel de modelado (en lugar de hacerlo a nivel de programación) implica trabajar a un nivel de abstracción mayor. Al modelar, los desarrolladores manejan menos elementos – las primitivas de modelado conceptual – que si tuvieran que programar directamente.

Esto facilita que los desarrolladores se puedan concentrar en lo que sea esencial para los objetivos de cada sprint en el que trabajen, y puedan dejar de lado las tareas accesorias.

Otros principios

Si se conoce el Manifiesto Agile, se habrá reparado en que faltan algunos de sus principios en la lista anterior. Estos principios serían:

  • Los proyectos los llevan a cabo individuos motivados, en los que se debería confiar.
  • La mejor forma de comunicación es la conversación cara a cara.
  • Atención continua a la excelencia técnica y el buen diseño.
  • Las mejores arquitecturas, requisitos y diseños surgen de equipos autoorganizados.
  • Los equipos reflexionan con regularidad sobre cómo ser más efectivos y realizan ajustes en consecuencia.

Integranova no dicta cómo deberían trabajar las organizaciones ni interfiere con ninguno de los cinco principios anteriores.

Motivar y confiar en las personas, hacer que presten atención continua a la excelencia técnica, así como al buen diseño, y que reflexionen periódicamente para mejorar…son valores que Integranova integra como parte de su cultura corporativa. Sin embargo, creemos que cada compañía debe definir y comunicar regularmente sus valores, así como cultivar su talento, en lugar de delegar estos aspectos tan cruciales en un conjunto de herramientas de desarrollo de software.

Conclusión

Integranova hace más productivos a los desarrolladores, permitiéndoles concentrarse en especificar qué debe hacer el software resultante, dejando en manos de los Transformation Engines las decisiones sobre cómo el software resultante implementará su funcionalidad.

Aparte de esto, Integranova no impone ninguna metodología de desarrollo de software. De hecho, Integranova puede utilizarse en proyectos de desarrollo con diversas metodologías.

Integranova aumenta los niveles de productividad y calidad, y disminuye el esfuerzo y coste de desarrollo, independientemente de la metodología de desarrollo que se emplee, porque simplifica (o incluso elimina) el esfuerzo asociado con las tareas tradicionales de programación.

Así las cosas, nuestros Clientes pronto descubren que Integranova facilita la adopción de los principios del Manifiesto Agile, por lo que utilizan Integranova en sus proyectos de desarrollo con metodología Agile alcanzando así los increíbles resultados de combinar Agile e Integranova.


Conozca más en futuros posts sobre Integranova Model Execution System.

Si quiere saber más sobre Integranova MES o le gustaría ver una demo, contacte con nosotros.