Metodologías ágiles: ¿Qué son y para qué sirven?

Metodologías ágiles: ¿Qué son y para qué sirven?

La Wikipedia las define como “el desarrollo que envuelve un enfoque para la toma de decisiones en los proyectos de software, que se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto. Así el trabajo es realizado mediante la colaboración de equipos auto-organizados y multidisciplinarios, inmersos en un proceso compartido de toma de decisiones a corto plazo”.

En otras palabras, las metodologías ágiles se pueden definir como una agrupación de técnicas de trabajo orientadas a la gestión de proyectos, inicialmente en el ámbito del desarrollo de software, y hoy en día aplicadas a proyectos de otro tipo.

Todas las metodologías consideradas ágiles tienen en común una serie de principios o “credos” los cuales se pueden resumir en 4 puntos principales, los cuales forman parte de la filosofía de Yomyer:

1.- Las personas y su interacción importan más que los procesos y las herramientas.

2.- El software que funciona tiene mucho más valor que la documentación exhaustiva.

3.- La colaboración y transparencia con el cliente es más importante que la negociación contractual.

4.- La rápida respuesta al cambio y la improvisación está por encima del seguimiento estricto de un plan de trabajo establecido.

Dicho esto, lo que se pretende a la hora de aplicar metodologías ágiles al desarrollo a un proyecto es:

Eficiencia

Aumentar la eficiencia de todas las personas involucradas en el desarrollo.

Productividad

Minimizar el impacto de las tareas “prescindibles” para los objetivos del proyecto.

Costes

Como resultado de todo esto, minimizar y optimizar los costes globales.

LA ADOPCIÓN DE METODOLOGÍAS ÁGILES DE DESARROLLO

Si estás pensando en adoptar alguna de las metodologías ágiles existentes (SCRUM, ASD, LSD, XP, Kanban, PERT, AUP, …), antes de seleccionar cuál es la mejor para tu proyecto o tu equipo de trabajo, es necesario hacer un análisis de sus ventajas y sus inconvenientes, así como del tipo de proyecto a gestionar y, si es posible, hablar con algún consultor de IT o con algún gestor de proyectos especializado.

Cambiar una forma de trabajar en una organización es una tarea ardua y difícil. Al implantar una metodología ágil, no realices un cambio demasiado brusco, adóptalas poco a poco.

En cualquier metodología ágil el cliente/usuario del software, tiene un papel clave. Si su implicación y/o dedicación no va a ser muy alta, quizás este tipo de metodologías no sean las más apropiadas (o habría que buscar alguna alternativa para disponer del conocimiento del cliente/usuario del software a desarrollar).

PRINCIPALES METODOLOGÍAS ÁGILES DE DESARROLLO

Uno de los principales focos de aplicación de las metodologías ágiles son los proyectos tecnológicos. Cada una de ellas tiene sus fortalezas y sus debilidades, pero no son excluyentes. En cada proyecto podemos adoptar una, o varias, en función de las características del propio proyecto y del equipo.

Entre las metodologías ágiles más usadas se encuentran.

SCRUM

Es un marco de trabajo que nos proporciona una serie de herramientas y roles para, de una forma iterativa, poder ver el progreso y los resultados de un proyecto.

KANBAN

Se basa en una idea muy simple. Ésta es que el trabajo en curso (Work In Progress, WIP) debería limitarse y sólo deberíamos empezar con algo nuevo cuando un bloque de trabajo anterior haya sido entregado o ha pasado a otra función posterior de la cadena.

XP (XTREME PROGRAMMING)

Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores y propiciando un buen clima de trabajo.