//
Estás leyendo...
TIC's

Metodologías ágiles, ¿presente y futuro?

En los últimos años se ha popularizado el uso de métodos ágiles aplicados al desarrollo de aplicaciones software. Scrum, Kanban, Lean Software Development o eXtream Programming son términos que empiezan a ser conocidos y utilizados en el mundo del desarrollo con cierta asiduidad.

Este tipo de prácticas modifican la tradicional visión de proyectos en cascada aportando una alternativa interesante a este tipo de desarrollos y merece la pena, al menos, explorarlos y conocerlos para saber si son de utilidad en todo tipo de proyectos, especialmente en los relacionados con la eSalud.

Que entendemos por un método ágil

Lo métodos ágiles son procesos iterativos e incrementales a través de los cuales las aplicaciones y proyectos de desarrollo van incorporando funcionalidades en ciclos cortos, generando prototipos que se ponen a disposición de los usuarios para su validación.

Interactive Development

Interactive Development (por Dave Gray)

Las filosofías ágiles se contraponen a las metodologías tradicionales de desarrollo de proyectos, en las que se recogen una serie de requisitos, se analizan y construyen las aplicaciones o los servicios y, por último, se ponen a disposición de los usuarios para su validación y puesta en entorno productivo.

La historia de las metodologías iterativas no es nueva, aunque pueda parecerlo. Ya en los años 50 y 60 este tipo de metodologías fueron empleadas en el desarrollo de proyectos, inicialmente de ingeniería y posteriormente aplicados al desarrollo de software. Sin embargo no ha sido hasta estos últimos años donde éstas se han popularizado, demostrando que hay otras formas de hacer las cosas y además de hacerlas bien.

Los principios del desarrollo ágil se recogen en el conocido como Manifiesto Ágil, documento donde se exponen, a partir de cuatro valores fundamentales, los 12 puntos principales de las metodologías ágiles.

¿En que se diferencian de las metodologías tradicionales?

En un proyecto clásico de desarrollo, los requisitos del producto a construir se recogen al inicio del proyecto y permanecen invariables durante todo el ciclo del mismo generando, a partir de los mismos, un producto que es entregado al cliente para su validación. Este proceso en cascada permite muy poca flexibilidad ante cambios en el contexto del desarrollo, las necesidades del usuario o cualquier otra contingencia que pueda acontecer.

A diferencia de los sistemas tradicionales, las metodologías ágiles proponen otra forma de trabajar:

  • Valorando la interacción con el individuo por encima de los procesos.
  • Valorando el software que funcione por encima de la documentación exhaustiva.
  • Valorando la colaboración con el cliente por encima de los contratos.
  • Valorando la respuesta al cambio por encima del seguimiento de un plan.

Estos cuatro principios de las metodologías ágiles marcan un punto y aparte sobre los métodos tradicionales. Se trata de construir productos que funcionen y sean útiles, donde los usuarios y clientes han participado activamente durante el ciclo de desarrollo y donde se ha dispuesto de flexibilidad suficiente para modificar los requisitos iniciales con el objetivo de conseguir algo realmente útil.

Para conseguir esta interacción rápida entre desarrolladores y usuarios se trabaja en ciclos cortos donde se analizan y planifican las funcionalidades que se implementarán, se desarrollan, se prueban y se validan, siempre en colaboración directa con el cliente. De esta forma es posible analizar y corregir errores en los requisitos inicialmente recogidos, priorizar funcionalidades más importantes, eliminar otras que ya no son necesarias … En resumen, los requisitos de los proyectos son recogidos y analizados durante todo el ciclo de vida del desarrollo y no únicamente al principio de los mismos.

Quizás a muchos de vosotros este tipo de desarrollos y metodologías os puedan sonar a nuevas pero están mucho más cerca de lo que pensamos y somos testigos indirectos de ellas. Cada vez es más habitual que los desarrolladores pongan a nuestra disposición versiones beta, acceso a funcionalidades de prueba en canales especializados o incluso programas de acceso a versiones en desarrollo (el programa Insider de Windows 10, por ejemplo). Todos ellos tratan de anticipar en la medida de lo posible la respuesta del público, de los usuarios, para obtener al final un producto adaptado a las necesidades reales de quienes tendrán que usarlo.

La participación del usuario, fundamental

Como ya hemos visto, uno de los puntos más importantes de las metodologías ágiles consiste en que el usuario puede validar cada uno de los prototipos generados durante el desarrollo, verificando que el resultante sigue el camino esperado, que las funcionalidades son las necesarias y funcionan correctamente y proponiendo y atajando las posibles desviaciones o incidencias que pudieran producirse.

Aunque parece obvio, esto requiere de una gran implicación y dedicación del usuario durante todo el proyecto. No basta con una serie de pruebas al final del desarrollo, cuando el producto esté terminado. Se trata de que el usuario participe en el proyecto como un integrante más. Y esto, como es evidente, requiere un esfuerzo por su parte que en muchas ocasiones no está dispuesto a asumir.

¿Son aplicables a todo tipo de proyectos?

Aunque los grandes defensores de las metodologías ágiles opinan que son aplicables a todos y cada uno de los proyectos que se inicien, nosotros creemos que habrá casos en los que las metodologías tradicionales serán más efectivas que otro tipo de metodologías de desarrollo. Dependerá de las circunstancias, el tipo de producto o desarrollo que se vaya a realizar, la naturaleza y disponibilidad del cliente … Cada caso es particular y deberá analizarse con detenimiento la aplicación de una u otra técnica de desarrollo de proyecto.

¿Qué pueden aportar estas metodologías a la eSalud?

Todos sabemos que los usuarios del mundo de la eSalud son exigentes y necesitan de aplicaciones que se ajusten perfectamente a su problemática y metodología. No sirve cualquier cosa ni realizada de cualquier manera. ¿Cuántas veces hemos visto desarrollos que, una vez concluidos, no sirven para el uso inicial para el que se habían imaginado o en los cuales las funcionalidades construidas no son del gusto o la utilidad que los usuarios requieren?

La propuesta de las metodologías ágiles es la satisfacción final del cliente y antepone ésta a los procesos, las herramientas, la documentación … a todos esos elementos que forman parte habitual de los proyectos de desarrollo y que, en muchas ocasiones, suponen un lastre para que el resultado final sea satisfactorio. Tratan de identificar si el camino es el correcto a lo largo de todo el proyecto lo que, en este entorno tan variable y cambiante, es crítico para no continuar desarrollando aplicaciones que al final no sean de utilidad.

Por todos estos motivos creemos firmemente que las metodologías ágiles en el entorno de la eSalud deberían estar más extendidas y utilizarse con mayor frecuencia de lo que se emplean. Implicar a los profesionales en los equipos de trabajo, desde el principio y durante todo el ciclo de desarrollo (no sólo al final), debe ser fundamental para obtener éxito en los proyectos que se emprendan así como disponer de flexibilidad para variar los requisitos iniciales en cualquier momento por encima de condiciones contractuales (recordemos un post anterior, ¿Deben tener fecha los proyectos de eSalud?).

¿Conocéis las metodologías ágiles? ¿Creéis que son aplicables a los proyectos de eSalud y que pueden aportar mejoras a los productos desarrollados?

Foto portada: Enrique Fernández

Anuncios

Comentarios

2 comentarios en “Metodologías ágiles, ¿presente y futuro?

  1. ZORIONAK por la publicación!!!!!!

    Le gusta a 2 personas

    Publicado por Oskitar | 19/06/2015, 11:08

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: