jueves, 14 de junio de 2012

Scrum, metodología ágil

La ingeniería de software cuenta con modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para el desarrollo de sistemas. Entre las filosofías aceptadas se encuentra aquella en donde el proceso de desarrollo es un enfoque bien entendido que se puede planificar, estimar y culminar exitosamente, sin embargo cualquier persona que haya estado involucrada en este proceso, sabe que esto no en la práctica no se cumple. Los problemas más comunes en los proyectos de desarrollo de software son: falta de adaptación a los cambios, calidad no cubre las expectativas del cliente y proyectos que se extienden más del tiempo y costo, estimados.

En los años 90 y como consecuencia de la globalización de las tecnologías de información, se produjo un cambio de paradigma de las prácticas de desarrollo de software tradicionales a las metodologías livianas y maniobrables para afrontar las demandas de un mercado tan cambiante como exigente en términos de adaptabilidad y calidad del software, llamadas "metodologías ágiles". En el año 2001, éstas metodologías se volvieron populares cuando en una reunión de expertos de la industria del software, establecieron valores y principios que permitirían a los equipos desarrollar software rápidamente y responder a los cambios que surjan a lo largo del proyecto. Tras esa reunión se creó un documento que resume la filosofía ágil, el "Manifiesto Ágil", que contiene los valores del desarrollo ágil.

Scrum, creada por Ken Schwaber y Jeff Sutherland, es una metodología ágil que como marco de trabajo para la gestión y desarrollo de sistemas, supone que el proceso de desarrollo de sistemas es un proceso impredecible y complejo que sólo puede ser descrito como una progresión global. Scrum, trata de afrontar los proyectos de forma iterativa, rápida y eficaz, trabajando con equipos pequeños multidisciplinarios.

La palabra Scrum procede del vocabulario del rugby que significa melé, es decir, todos los jugadores del equipo se amontonan, forman una piña y van empujando en la misma dirección.

La esencia de Scrum es: el trabajo va a ser efectuado por equipos auto-organizados y auto-dirigidos; se basa en un proceso iterativo e incremental; contiene definiciones de roles, prácticas y productos de trabajo; y está soportada por los valores y principios del manifiesto ágil.

Cada vez más empresas se inclinan por las metodologías ágiles y Scrum está siendo muy adoptada para afrontar las demandas de un mercado cambiante y exigente en términos de adaptabilidad y calidad del software. Además, porque aumenta la comunicación con el cliente, fomenta el trabajo en equipo y la colaboración.