Abstract:
|
Un método de desarrollo de software ágil es aquel capaz de adaptarse a los cambios,
especialmente de los requisitos, según el feedback constante y temprano del cliente. El
objetivo es minimizar el tiempo y el coste de realizar un proyecto de software, pero
manteniendo la calidad. Todo esto se traduce en un ímpetu por las pruebas continuas,
preferentemente automatizadas, y la integración continua para crear versiones de forma seguida para poderlas mostrar al cliente y recoger su opinión.
Los métodos ágiles comparten un sustrato: el manifiesto ágil y los 12 principios ágiles, donde no se detallan trucos de programación sino recomendaciones para las personas dedicadas al proyecto. Se trata más de una manera de actuar, a alto nivel, que de prácticas específicas a bajo nivel, que se dejan a la elección de los propios programadores y su experiencia.
En primer lugar, se dará una perspectiva concisa de los métodos predecesores. Seguidamente, se analizarán los 14 métodos ágiles más comunes, detallando el proceso con sus fases, las prácticas, papeles, workproducts o artefactos que se generan en cada fase, etc. También se mostrarán herramientas software que ayudan a adoptar prácticas ágiles o el método completo.
Se verán las estadísticas sobre los puntos débiles de los métodos pesados y sus consecuencias, especialmente el Chaos Report (1994), y la mejora que ha supuesto la aplicación de prácticas o métodos ágiles desde entonces. Como conclusiones, se resumirán las muchas similitudes entre los diferentes métodos. También se discutirán ventajas e inconvenientes de las prácticas ágiles, muchas de ellas basadas en la experiencia y el sentido común, pero que pocas veces seaplican todas juntas para lograr una gestión rápida y adecuada. |