Scrum es un marco de trabajo para la gestión y desarrollo de
software basada en un proceso iterativo e incremental utilizado comúnmente en
entornos basados en el desarrollo ágil 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.
Características de
Scrum
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 (interesados externos o internos), y el Team que incluye a los
desarrolladores.
Durante cada sprint, un periodo entre una y cuatro semanas
(la magnitud 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 definen el trabajo a realizar. Los
elementos del Product Backlog que forman parte del sprint se determinan durante
la reunión de Sprint Planning. Durante esta reunión, el Product Owner
identifica los elementos del Product Backlog que quiere ver completados y los
hace del conocimiento del equipo. Entonces, el equipo determina la cantidad de
ese trabajo que puede comprometerse a completar durante el siguiente sprint.2
Durante el sprint, nadie puede cambiar el Sprint Backlog, lo que significa que
los requisitos están congelados durante el sprint.
Scrum permite la creación de equipos autoorganizados
impulsando la co-localización de todos los miembros del equipo, y la
comunicación verbal entre todos los miembros y disciplinas involucrados en el
proyecto.
Un principio clave de Scrum es el reconocimiento de que
durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y
necesitan (a menudo llamado requirements churn), y que los desafíos
impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y
planificada. Por lo tanto, Scrum adopta una aproximación pragmática, aceptando
que el problema no puede ser completamente entendido o definido, y centrándose
en maximizar la capacidad del equipo de entregar rápidamente y responder a
requisitos emergentes.
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.
Roles en Scrum
Roles Principales
Product Owner
El Product Owner representa la voz del cliente. Se asegura
de que el equipo Scrum trabaja de forma adecuada desde la perspectiva del
negocio. El Product Owner escribe historias de usuario, las prioriza, y las
coloca en el Product Backlog.
ScrumMaster (o
Facilitador)
El Scrum es facilitado por un ScrumMaster, cuyo trabajo
primario es eliminar los obstáculos que impiden que el equipo alcance el
objetivo del sprint. El ScrumMaster no es el líder del equipo (porque ellos se
auto-organizan), sino que actúa como una protección entre el equipo y cualquier
influencia que le distraiga. El ScrumMaster se asegura de que el proceso Scrum
se utiliza como es debido. El ScrumMaster es el que hace que las reglas se
cumplan.
Equipo de desarrollo
El equipo tiene la responsabilidad de entregar el producto.
Un pequeño equipo de 3 a 9 personas con las habilidades transversales
necesarias para realizar el trabajo (análisis, diseño, desarrollo, pruebas,
documentación, etc).
Roles Auxiliares
Los roles auxiliares en los "equipos Scrum" son
aquellos que no tienen un rol formal y no se involucran frecuentemente en el
"proceso Scrum", sin embargo deben ser tomados en cuenta. Un aspecto
importante de una aproximación ágil es la práctica de involucrar en el proceso
a los usuarios, expertos del negocio y otros interesados (stakeholders). Es
importante que esa gente participe y entregue retroalimentación con respecto a
la salida del proceso a fin de revisar y planear cada sprint.
Stakeholders
(Clientes, Proveedores, Vendedores, etc)
Se refiere a la gente que hace posible el
proyecto y para quienes el proyecto producirá el beneficio acordado que
justifica su producción. Sólo participan directamente durante las revisiones
del sprint.
Administradores
(Managers)
Es la gente que establece el ambiente para el desarrollo del
producto.
Para más información sigue estos enlaces: http://es.wikipedia.org/wiki/Scrum
No hay comentarios:
Publicar un comentario