2008/11/05

La metodología SCRUM

Esta mañana estoy asistiendo al evento de BI (Business Intelligence) de Microsoft, en Barcelona.

Una de las ponencias presentaba la experiencia de aplicación de SCRUM en un proyecto para MAZ.

¿Y qué es SCRUM?

Scrum es un proceso de desarrollo de software iterativo e incremental utilizado comúnmente en entornos basado en la metodología Agile de desarrollo de software.

Aunque Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de programas: Scrum de Scrums.

Buscando en Wikipedia (http://www.wikipedia.org)/ he encontrado muchísima información.

Permitidme que replique unos párrafos sobre sus características:

Scrum es un proceso marco que incluye un conjunto de prácticas y roles predefinidos.

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.

Durante cada sprint, un periodo entre 15 y 30 días (la longitud es definida por el equipo), el equipo crea un incremento de software potencialmente entregable (utilizable).

El conjunto de características que forma parte de cada sprint viene del product backlog, que es un conjunto de requisitos de alto nivel priorizados que dan forma al trabajo a realizar.

Los elementos del backlog que forman parte del sprint se determinan durante la reunión de sprint planning.

Durante esta reunión, el Product Owner informa al equipo de los elementos en el product backlog que quiere ver completados. El equipo entonces determina la cantidad de ese trabajo que puede comprometerse a completar durante el siguiente sprint. Durante el sprint, nadie puede cambiar el sprint backlog, lo que significa que los requisitos están congelados durante el sprint.

Existen varias implementaciones de sistemas para gestionar el proceso de Scrum, que van desde notas amarillas "post-it" y pizarras hasta paquetes de software. Una de las mayores ventajas de Scrum es que es muy fácil de aprender, y requiere muy poco esfuerzo para comenzarse a utilizar.

En la página (http://es.wikipedia.org/wiki/Scrum) encontraréis toda la información: roles, reuniones,documentos,...

Y me gustaría acabar con una referencia al por qué los roles se dividen en 'Cerdos' y 'Gallinas':

Un cerdo y una gallina se encuentran en la calle. La gallina mira al cerdo y dice, "Hey, ¿por qué no abrimos un restaurante?" El cerdo mira a la gallina y le dice, "Buena idea, ¿cómo se llamaría el restaurante?" La gallina piensa un poco y contesta, "¿Por qué no lo llamamos "Huevos con jamón?" "Lo siento pero no", dice el cerdo, "Yo estaría comprometido pero tú solamente estarías involucrada".

Es importante la diferencia entre comprometido e involucrado, ¿verdad?

No hay comentarios: