31/07/2013
Metodologías ágiles: software satisfactorio en menos tiempo
Con el paso del tiempo, distintos autores han ido proponiendo nuevas metodologías de desarrollo de software en pos de generar procesos que satisficieran las necesidades del mercado en cada momento.
Actualmente nos encontramos frente al auge del desarrollo ágil de software: una familia de metodologías iterativas e incrementales donde los requerimientos y las soluciones evolucionan a través de la colaboración entre equipos autoorganizados y multidisciplinarios. Nacieron de la necesidad de adaptarse a entornos inestables (donde las cualidades que debe poseer la aplicación pueden cambiar sobre la marcha) y a crecientes exigencias de productividad. Estas metodologías motivan procesos de desarrollo veloces y hacen hincapié en la permanente comunicación con el cliente, para poder entregarle exactamente el software que desea.
Veamos algunos de los principales métodos ágiles de desarrollo de software:
- Extreme Programming (XP). Apunta a producir software de alta calidad en poco tiempo. Se basa en ciclos cortos de desarrollo, compuestos por cuatro actividades: codificación, testing, comunicación con el cliente y diseño. En una metodología tradicional, todas las tareas se desarrollarían de manera secuencial y recién al final tendríamos el feedback del cliente, pudiendo tener que rehacer un gran porcentaje del producto si no satisface sus necesidades. Pero en XP, la constante supervisión del cliente reduce los desvíos con respecto a sus expectativas.
- Scrum. Propone «una estrategia flexible y holística donde un equipo de desarrollo trabaja como una unidad para alcanzar una meta común». Todos los involucrados en el proceso asumen un rol particular, con responsabilidades definidas. El trabajo se divide en unidades de tiempo fijo, llamadas sprints, al final de las cuales deben haberse cumplido ciertos requerimientos.
- Feature-driven development (FDD). Reúne una serie de buenas prácticas de desarrollo de software y las implementa tomando como guía las funcionalidades que el cliente valora. Es ideal para equipos de trabajo de gran volumen.
Si bien no es obligatorio ajustarse a una metodología particular a la hora de afrontar un proyecto de desarrollo, lo cierto es que las metodologías ágiles están aportando grandes resultados en muy diversos entornos de trabajo.
0