SCRUM
Scrum es una framework para la gestin de proyectos, expuesta por
Hirotaka Takeuchi e Ikujiro Nonaka, en el artculo The New Product
Development Game[Harvard Business Review Ene-Feb 1986] en el que
ponen de manifiesto que:
El mercado competitivo de los productos tecnolgicos, adems de los conceptos
bsicos de calidad, coste y diferenciacin, exige tambin rapidez y flexibilidad.
Los nuevos productos representan cada vez un porcentaje ms importante en el
volumen de negocio de las empresas.
El mercado exige ciclos de desarrollo ms cortos.
Definicin de SCRUM
SCRUM es un marco de trabajo que permite resolver problemas complejos
y se caracteriza porque es
gil
Fcil de entender
Difcil de dominar, aplicar o tener un completo conocimiento
Origen de SCRUM
El rugby es un tipo de ftbol, que se juega con una pelota ovalada y es un
deporte de fuerte contacto fsico
En el rugby se respetan mucho las reglas, tanto por parte de los jugadores,
como del pblico.
Se fomenta la sociabilidad, compaerismo, la honestidad, el respeto, la
disciplina, la lealtad, el sacrificio y el altruismo.
Las decisiones del rbitro, en general, son respetadas
El Scrum o la mel, una de las formaciones ms reconocibles del rugby, es
una puja frente a frente, de un grupo de cada equipo formado por un
mximo de ocho y un mnimo de cinco jugadores en tres lneas que se
enfrentan agazapados y asidos entre s, para comenzar a empujar con el fin
de obtener el baln que ha sido lanzado en medio de ellos y sin tocarlo con
la mano.
Orgenes de SCRUM
Historia de SCRUM
Jeff Sutherland aplic el modelo SCRUM al desarrollo de software en
1993 en Easel Corporation (Empresa de macro-juegos de compras),
en Informix y en Ascential Software.
En 1995 lo present junto con Ken Schwaber como proceso formal
para la gestin de desarrollo de software en OOPSLA 95.
El 2001 seran dos de los promulgadores del Manifiesto gil.
Modelo de SCRUM
Pilares de SCRUM
SCRUM se basa en lo emprico.
El empirismo afirma que el conocimiento viene de la experiencia y la
toma de decisiones se basa en lo que es conocido.
Los tres pilares de todo proceso emprico son:
Transparencia
Inspeccin
Adaptacin
Transparencia
Los aspectos significantes del proceso deben ser visibles para todos
Los observadores deben compartir un entendimiento comn del
proceso.
Por ejemplo:
Se debe compartir un lenguaje comn entre todos los participantes
Debe existir una definicin comn de Done (terminado) tanto para los
desarrolladores como para los que deben aceptar el producto.
Los problemas deben ser conocidos por todo el equipo
La informacin debe estar disponible para todo el equipo
Inspeccin
Se debe inspeccionar frecuentemente los aspectos del proceso
SCRUM para detectar variaciones que no son permitidas al tiempo de
alcanzar la meta.
Las inspecciones no deberan ser tan frecuentes que consigan
informacin acerca de cmo se est haciendo el trabajo
Deben realizarse con inspectores que sean diligentes y expertos en el
tema.
Adaptacin
Si despus de la inspeccin se determina que uno o ms aspectos del
proceso SCRUM se han desviado ms all de los lmites aceptables, el
proceso o el material que est siendo procesado debe ser ajustado.
Los ajustes deben hacerse lo mas antes posible, para minimizar el desvo.
SCRUM incluye cinco oportunidades para transparencia, inspeccin y
adaptacin:
Sprint Planning
Daily Scrum
Sprint Review
Sprint Demonstration
Sprint Retrospective
Componentes de SCRUM
Roles
SCRUM Team
SCRUM Master
Product Owner
Artefactos
Product Backlog
Sprint Backlog
Burn Down
Actividades
Planning Sprint
Daily meeting
Sprint
Sprint demostration
Sprint review
Scrum Master
El Scrum Master es responsable de garantizar el entendimiento y
conocimiento de SCRUM
Scrum Master garantiza que el equipo aplica la teora, prctica y
reglas de SCRUM
Scrum Master ayuda al equipo a entender cules interacciones son
tiles y cules no lo son.
Actividades de Scrum
SCRUM incluye eventos pre-establecidos para crear regularidad y
minimizar la necesidad de realizar reuniones extras
SCRUM incluye eventos que tienen un mximo de duracin. Esto
garantiza una planificacin y uso de tiempo apropiados, sin
desperdicio de tiempo.
Los eventos de SCRUM se constituyen en una oportunidad para
inspeccionar y adaptar. Estos eventos tambin estn diseados para
permitir la transparencia y la inspeccin
Sino se los realiza, no existir transparencia, inspeccin y adaptacin.
El Sprint
El corazn de SCRUM es un Sprint.
Un Sprint es un evento de tiempo delimitado, de mas o menos un
mes de duracin, en el cual se crea un producto (incremento)
Los Sprints deben tener una duracin consistente en el desarrollo del
producto. Un nuevo Sprint debe comenzar inmediatamente despus
de la conclusin del previo Sprint.
Sprint contiene y consiste de:
Sprint Planning
Daily Scrums
Desarrollo del trabajo
Sprint Review
Sprint Retrospective.
El Sprint
Durante el Sprint:
.
Cancelar un Sprint
Un Sprint puede ser cancelado antes de que se cumpla su plazo de tiempo.
Solo el Product Owner tiene la autoridad para cancelar el Sprint.
A Sprint debera ser cancelado si el objetivo del Sprint se vuelve obsoleto. Esto
podra ocurrir si la compaa cambia de directrices o si el mercado o las
condiciones de tecnologa cambian. Rara vez ocurre, dado el corto tiempo del
Sprint
Cuando se cancela un Sprint, se deben revisar todos los Done y los tems del
Product Backlog tambin deben ser revisados.
Se puede entregar el trabajo realizado y los tems no completados deben ser reestimados y puestos en el Product Backlog.
La cancelacin de Sprints consume recursos, puesto que hay que re-agrupar los
tems en otros Sprints, durante el Sprint Planning.
Las cancelaciones de Sprint pueden ser muy traumticas para el Scrum Team
Sprint Review
Es una reunin que se realiza al finalizar el Sprint para inspeccionar el
Incremento y adaptar el Product Backlog, si es necesario.
El Equipo Scrum presenta a la gente del negocio lo desarrollado
durante el Sprint. Basado en este desarrollo, se determina qu es lo
prximo a desarrollarse.
Es una reunin informal donde se presenta el Incremento para
conseguir retroalimentacin y fomentar la colaboracin del Product
Owner
Es una reunin de 4 horas para un Sprint de 1 mes. Si el Sprint es ms
corto, la reunin debera durar proporcionalmente menos. Ejemplo: 2
semanas de Sprint debera tener 4 horas de Sprint Review.
Sprint Retrospective
Esta reunin es una oportunidad para que el Equipo Scrum
inspeccione lo hecho y cree un plan de mejoras para el siguiente
Sprint.
Esta reunin se realiza despus del Sprint Review y antes del siguiente
Sprint Planning. Es una reunin de 3 horas para un Sprint de 1 mes.
Los propsitos del Sprint Retrospective son:
Inspeccionar cmo fue el ltimo Sprint respecto a las personas, relaciones,
procesos y herramientas.
Identificar y ordenar los tems que salieron bien
Crear un plan para implementar mejoras al trabajo desarrollado por el Equipo
Scrum
Sprint Retrospective
The Scrum Master alienta al Scrum Team a mejorar el proceso Scrum para
el siguiente Sprint.
El Scrum Team, durante cada reunin de Retrospective, planifica cmo
mejorar la calidad del producto redefiniendo el concepto de Done, como
sea adecuado.
El Scrum Team deberan identificar las mejoras que deberan
implementarse en el siguiente Sprint.
Implementar las mejoras significa aplicar la Adaptacin a partir de la
Inspeccin
La reunin de Retrospective provee una oportunidad formal para enfocar
en la inspeccin y la adaptacin
Artefactos de Scrum
Los artefactos de Scrum representan una valiosa manera de brindar
transparencia y oportunidades para inspeccin y adaptacin
Los artefactos de Scrum maximizan la transparencia para garantizar
xito al Scrum Team en la entrega del incremento (Done)
Product Backlog
El Product Backlog es una lista ordenada de todo lo que puede ser necesario para
el producto, es decir es una fuente de requisitos para construir el producto.
El Producto Owner es responsable por el Product Backlog: contenido,
disponibilidad y orden.
El Product Backlog nunca est completo. Los primeros desarrollos se basan en el
conocimiento inicial del producto. El Product Backlog evoluciona a la par del
producto y del ambiente.
El Product Backlog es dinmico: cambia constantemente para identificar qu
necesita el producto para ser apropiado, competitivo y til. Mientras existe el
producto, el Product Backlog tambin existe.
El Product Backlog es una lista de todas las caractersticas, funciones, requisitos,
mejoras y correcciones que se debe hacer para las futuras entregas. Los tems de
Product Backlog tienen atributos de descripcin, orden y estimacin
Estimacin
...
30
...
50
Y ms ejemplos HU
Ejemplos de HU
Sprint Backlog
Es el conjunto de tems seleccionados del Product Backlog para
desarrollarse durante el Sprint adems de un plan de entrega del
producto y la realizacin del objetivo del Sprint.
Sprint Backlog es la funcionalidad o que el Team debe desarrollar
durante el Sprint.
Sprint Backlog define el trabajo a desarrollar por el Team para
convertir los tems del Product Backlog en un Incremento Done
Sprint Backlog es un plan bastante detallado que cambia a medida
que se comprende mejor durante el Daily Scrum. El Team modifica el
Sprint Backlog durante el Sprint y el Sprint Backlog surge durante el
Sprint.
16
12
10
16
16
11
12
8
Hours
Tareas
Codificar UI
Codificar Negocio
Testear Negocio
Escribir ayuda online
16
12
10
16
16
11
12
50
40
30
Hours
20
10
0
Mon
Tue
Wed
Thu
Fri
Incremento
El incremento es la suma de todos los tems del Product Backlog
terminados durante el Sprint y en todos los Sprints previos.
Al final del Sprint, el nuevo incremento deber ser Done, lo que
significa que debe ser usable y debe cumplir con las condiciones de la
definicin de Done establecidos por el Scrum Team, a menos que el
Product Owner decida liberarlo tal cual.
Definicin de Done
Todo el Scrum Team debe entender de la misma forma el concepto de
Done para asegurar transparencia
El concepto de Done es usado para garantizar que el trabajo est
completo para ser el Incremento del producto
Esta definicin gua al Team en conocer cuntos tems del Product Backlog
puede seleccionar durante la reunin de Sprint Planning.
El propsito de cada Sprint es entregar Incrementos que cumplan la
definicin de Done. Cada incremento debe ser usable. Cada incremento
es adicionado a los incrementos anteriores a travs de pruebas exhaustivas
para asegurar que todos los incrementos trabajan juntos.
A medida que el Scrum Team madura, el concepto de Done se vuelve
mas amplio y riguroso para conseguir mayor calidad.
Conclusin
Scrum es libre de usar.
Los roles, artefactos, reuniones y reglas de Scrum son INMUTABLES y
aunque se puede aplicar parte de Scrum, el resultado NO ES SCRUM
Scrum solo existe con todos sus elementos y funciones y tambin
como contenedor de otras tcnicas, mtodos y prcticas.
Bibliografa
Sebastin Priolo, Mtodos giles, Ed. Banfield, 2009
Wikipedia, SCRUM, mayo 2012
Jeff Sutherland, Ken Schwaber, The SCRUM GUIDE: The rules of the game,
October 2011.
Manuel Trigas Gallego, Ana Cristina Domingo Troncho, Metodologa
SCRUM Desarrollo detallado de la fase de aprobacin de un proyecto
informtico mediante metodologas giles, Curso Gestin de proyectos
Informticos,
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/17885/1/mtriga
sTFC0612memoria.pdf (septiembre 2014)
Jorge Abad, Introduccin a SCRUM, diapositivas, 2015.