Métodos Ágiles de Programación
Introducción
Esta década ha comenzado con un creciente interés en metodologías de desarrollo debido a que la anterior ya había sido postergada. Así es como emergen las metodologías ágiles, como una posible respuesta para llenar ese vacío metodológico. Están especialmente orientados para proyectos pequeños con plazos reducidos, requisitos volátiles, y/o basados en nuevas tecnologías. Las metodologías ágiles constituyen una solución a medida para ese entorno, aportando una elevada simplificación que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto.
Los métodos ágiles permiten a los equipos de desarrollo enfocarse en el software mismo en vez de en su diseño y documentación. Se diseñaron para apoyar al desarrollo de aplicaciones de negocios donde los requerimientos del sistema cambian rápidamente durante el proceso de desarrollo. Están pensados para entregar software funcional de forma rápida a los clientes, quienes pueden entonces proponer que se incluyan iteraciones posteriores del sistema nuevos requerimientos o cambios en los mismos.
Principios de los métodos ágiles
En febrero de 2001, tras una reunión celebrada en Utah-EEUU, nace el término “ágil” aplicado al desarrollo de software. Tras esta reunión se creó The Agile Alliance3, ésta organización tomó como punto de partida el Manifiesto Ágil, un documento que resume la filosofía “ágil”.
Según el manifiesto existen principios básicos, los cuales están presentes en todos los métodos ágiles, los cuales son:
- La participación del cliente debido a que estos deben estar fuertemente implicados en todo el proceso de desarrollo
- La gente como principal factor de éxito de un proyecto de software después de un buen entorno.
- Aceptar el cambio, ya que los requerimientos del sistema cambian constantemente.
- Desarrollar un software que funcione y no concentrarse mucho en la documentación así como mantener la simplicidad tanto en el desarrollo como en el proceso.
Algunos tipos de métodos ágiles
Programación Extrema (XP)
Es el método ágil más conocido y ampliamente utilizado, su nombre se debe a que el enfoque fue desarrollado utilizando buenas prácticas reconocidas, como el desarrollo iterativo, y con la participación del cliente en niveles “extremos”.
Programación en parejas
En éste método los programadores trabajan en parejas para desarrollar el software.
SCRUM
Aquí el desarrollo del software se realiza mediante iteraciones, denominadas sprints, cada sprint es un incremento ejecutable que se muestra al cliente.
Crystal Methodologies
Se centra en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos.
Mapa conceptual
Conclusiones
No existe una metodología universal para hacer frente con éxito a cualquier proyecto de desarrollo de software. Toda metodología debe ser adaptada al contexto del proyecto (recursos técnicos y humanos, tiempo de desarrollo, tipo de sistema, etc.).
Una de las cualidades más destacables en una metodología ágil es su sencillez, tanto en su aprendizaje como en su aplicación, reduciéndose así los costos de implantación en un equipo de desarrollo.
Sin embargo, hay que tener presente una serie de inconvenientes y restricciones para su aplicación, tales como: están dirigidas a equipos pequeños o medianos, el entorno físico debe ser un ambiente que permita la comunicación y colaboración entre todos los miembros del equipo durante todo el tiempo, cualquier resistencia del cliente o del equipo de desarrollo hacia las prácticas o principios puede llevar al fracaso, entre otros.
Evaluación
1. Los métodos ágiles se utilizan en:
a) Programación Orientada a Objetos
b) Desarrollo de software
c) Soporte de Software
d) Programación estructurada
e) Calidad de Software
2. ¿Qué modelo de desarrollo de software utilizan los métodos ágiles?
a) Cascada
b) Lineal
c) Iterativo
d) Espiral
e) Evolutivo
3. ¿Cuáles son las principales características en las que se basa el método ágil?
a) Trabajo en equipo, adaptable, avances funcionales
b) Satisfacción del cliente, reduce tiempo, una sola entrega final.
c) Comunicación, no se adapta a los cambios, no es interactivo.
d) Orientado a resultados, no hay comunicación, no hay trabajo en equipo
4. ¿Cuáles son las características que diferencian al método ágil del convencional?
a) El cliente participa en el equipo de desarrollo
b) Trabajo en equipo
c) Satisfacción del cliente
d) Presenta avances incrementales del proyecto al cliente
e) Adaptable en cualquier etapa del proyecto
5. En los métodos ágiles el cliente:
a) Desarrolla Software
b) Se incorpora al equipo de trabajo
c) Trabaja en otros proyectos de software
d) Resuelve problemas de comunicación del equipo
e) Proporciona los recursos materiales
Bibliografía
ISSI. (2003). Metodologías Ágiles en el Desarrollo de Software. JISBD (pág. 51). Alicante-España: ISSI.
Sommerville, I. (2005). Ingeniería del Software. Madrid: Pearson.

No hay comentarios:
Publicar un comentario