Metodología Ágil – SCRUM (Proyecto de fundamentación – Parte III)
|- SCRUM, UNA METODOLOGÍA ÁGIL
Desarrollado por Ken Schwaber y Jeff Sutherland, Scrum define un marco para la gestión de proyectos. Está especialmente enfocado para proyectos con un rápido cambio de requerimientos. Es un proceso de software iterativo utilizado comúnmente en entornos basados en el desarrollo ágil de software, en el que se aplican de manera regular un conjunto de mejores prácticas para trabajar en equipo y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos. [3]
Muchas empresas que se dedican al desarrollo de software se están esforzando para ser ágiles. Equipos ágiles exitosos están produciendo software de alta calidad que satisface las necesidades de sus usuarios más rápido y a un menor costo que los equipos tradicionales de desarrollo de software. Estos equipos están buscando ganancias significativas en productividad y bajando sus costos, además de que son capaces de colocar sus productos en el mercado y dejando a sus clientes satisfechos con sus productos. Ellos están experimentando una mayor visibilidad en los procesos de desarrollo. [4]
- DEFINICIÓN
Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Los roles principales en Scrum son el “ScrumMaster”, que mantiene los procesos y trabaja de forma similar al director de proyecto, el ProductOwner”, que representa a los stakeholders (clientes externos o internos), y el “Team” que incluye a los desarrolladores. [3]
Para entender Scrum es necesario tomar en cuenta el Manifiesto Agile, el cual dicta algunos principios en los que se basa Scrum. Cuatro valores de alto nivel enmarcan la metodología:
- Los individuos y las interacciones están sobre los procesos y las herramientas.
- Trabajar el software sobre la documentación completa
- Colaboración con el cliente sobre la negociación de contratos
- Respuesta al cambio sobre seguir un plan.
Scrum es un proceso iterativo de desarrollo de software. En un proceso iterativo, el producto se somete a muchas versiones, algunas grandes y otras menores, con lo que cada nueva versión añade más valor al producto. Este tipo de proceso permite a un equipo de desarrollo el entregar valor al cliente más temprano y obtener una retroalimentación que puede ser incorporada rápidamente en el desarrollo de productos futuros. [5]