Metodología ágil

Metodología ágil
Información sobre la plantilla
250
Concepto:Método para el desarrollo de software que permite incorporar cambios con rapidez y en cualquier fase del proyecto.

Metodología ágil. Método que permite incorporar cambios con rapidez en el desarrollo de software.En muchas ocasiones, los modelos de gestión tradicionales no sirven para afrontar un reto que hoy en día resulta fundamental: incorporar cambios con rapidez y en cualquier fase del proyecto.

Fundamentación

Se trata de evitar lo que tantas veces ha ocurrido: cuando el proyecto se encuentra bastante avanzado y no va por el buen camino o, simplemente, el cliente decide introducir cambios sustanciales, y esos cambios obligan a desechar todo el trabajo realizado hasta entonces, lo que impide acabar en el plazo previsto. Dado que los cambios nunca van a dejar de existir, es necesario ser capaces de gestionar los proyectos de una forma más ágil. Con ese objetivo, en los años 80 los japoneses Takeuchi y Nonaka estudiaron las prácticas de empresas con buenos resultados de rapidez y flexibilidad en la producción: Xerox, Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-Packard. De ahí extrajeron la base de la metodología ágil SCRUM que, aunque nació en el ámbito tecnológico, ha ido creciendo hasta consolidarse en campos de actividad muy diferentes.

Historia

La definición moderna de metodología ágil de software evolucionó a mediados de los años 1990 como parte de una reacción contra las metodologías de "peso pesado", muy estructuradas y estrictas, extraídas del modelo de desarrollo en cascada. El proceso originado del uso del modelo en cascada era visto como burocrático, lento, degradante e inconsistente con las formas de desarrollo de software que realmente realizaban un trabajo eficiente. Las metodologías de desarrollo ágiles e iterativas pueden ser vistas como un retroceso a las prácticas observadas en los primeros años del desarrollo de software (aunque en ese tiempo no había metodologías tradicionales). Inicialmente, las metodologías ágiles fueron llamadas metodologías de "peso liviano". En el año 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de " metodologías ágiles". Poco después, algunas de estas personas formaron la "alianza ágil", una organización sin fines de lucro que promueve el desarrollo ágil de aplicaciones. Muchas metodologías similares a las ágiles fueron creadas antes del 2000. Entre los más notables se encuentran: Scrum (1986), Crystal Clear (cristal transparente), programación extrema (en inglés eXtreme Programming o XP, 1996), desarrollo de software adaptativo, feature driven development, Método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems Development Method o DSDM, 1995). Kent Beck creó la metodología de Programación Extrema (usualmente conocida como XP) en 1996 como una forma de rescatar el proyecto del Sistema exhaustivo de compensaciones de Chrysler (C3). Mientras Chrysler cancelaba ese proyecto, la metodología fue refinada por Ron Jeffries. El punto de partida de esta reunión fue el Manifiesto Ágil, un documento que resume la filosofía ágil.

Manifiesto Ágil

Según el Manifiesto se valora:

  • Al individuo y las interacciones del equipo de desarrollo sobre el proceso y las herramientas. La gente es el principal factor de éxito de un proyecto software. Es más importante construir un buen equipo que construir el entorno. Muchas veces se comete el error de construir primero el entorno y esperar que el equipo se adapte automáticamente. Es mejor crear el equipo y que éste configure su propio entorno de desarrollo en base a sus necesidades.
  • Desarrollar software que funciona más que conseguir una buena documentación. La regla a seguir es .no producir documentos a menos que sean necesarios de forma inmediata para tomar una decisión importante. Estos documentos deben ser cortos y centrarse en lo fundamental.
  • La colaboración con el cliente más que la negociación de un contrato. Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo. Esta colaboración entre ambos será la que marque la marcha del proyecto y asegure su éxito.
  • Responder a los cambios más que seguir estrictamente un plan. La habilidad de responder a los cambios que puedan surgir a los largo del proyecto (cambios en los requisitos, en la tecnología, en el equipo, etc.) determina también el éxito o fracaso del mismo. Por lo tanto, la planificación no debe ser estricta sino flexible y abierta.

Algunas Metodologías ágiles

Algunas metodologías ágiles de desarrollo de software:

Fuente