3. 3
Agenda
Agenda
• Antecedentes
Antecedentes
• Como funciona SCRUM
Como funciona SCRUM
• Roles y responsabilidades
Roles y responsabilidades
• Flujo de Scrum.
Flujo de Scrum.
• Artefactos.
Artefactos.
• Esquema de comunicación
Esquema de comunicación
• Implementando Scrum.
Implementando Scrum.
• Ventajas y desventajas.
Ventajas y desventajas.
• Preguntas.
Preguntas.
4. 4
Antecedentes.
Antecedentes.
• Publicación del articulo “The New Product
Publicación del articulo “The New Product
Development Game “ en Harvard
Development Game “ en Harvard
Business Review, Jan-Feb 1986 por
Business Review, Jan-Feb 1986 por
Takeuchi y Nonaka
Takeuchi y Nonaka
• Considerado como modelo ágil por la
Considerado como modelo ágil por la
Agile
Agile Alliance
Alliance
5. Antecedentes
Antecedentes
• Metodología de desarrollo ágil utilizada en
Metodología de desarrollo ágil utilizada en
el desarrollo diferentes productos, entre
el desarrollo diferentes productos, entre
ellos, el desarrollo de software.
ellos, el desarrollo de software.
6. Antecedentes
Antecedentes
• Basado en los principios ágiles:
Basado en los principios ágiles:
– Colaboración estrecha con el cliente
Colaboración estrecha con el cliente
– Predisposición y respuesta al cambio
Predisposición y respuesta al cambio
– Desarrollo incremental con entregas frecuentes
Desarrollo incremental con entregas frecuentes
de funcionalidad
de funcionalidad
– Comunicación verbal directa
Comunicación verbal directa
– Simplicidad, solo los artefactos necesarios
Simplicidad, solo los artefactos necesarios
– Motivación, compromiso y responsabilidad del
Motivación, compromiso y responsabilidad del
equipo por la auto-gestión, auto-organización
equipo por la auto-gestión, auto-organización
7. ¿Como funciona?
¿Como funciona?
Antes de iniciar cada iteración, el
equipo revisa las tareas pendientes y
selecciona la parte que entregará
como un incremento de
funcionalidad al finalizar la iteración
(Sprint)
El equipo debe revisar los requisitos, considerar la tecnología a utilizar, evaluar
su conocimiento y en forma colectiva determinar la forma en la que implementara
la funcionalidad
8. Roles
Roles
Solo existen tres roles dentro de Scrum
Solo existen tres roles dentro de Scrum
• Product Owner
Product Owner
• ScrumMaster
ScrumMaster
• Scrum Team
Scrum Team
9. Roles ( Product Owner)
Roles ( Product Owner)
Representa a todos los interesados en el
Representa a todos los interesados en el
producto final.
producto final.
• Marca las prioridades del producto
Marca las prioridades del producto
• Lleva el control de las estimaciones
Lleva el control de las estimaciones
• Retorno de Inversión (ROI)
Retorno de Inversión (ROI)
10. Roles (Scrum Team)
Roles (Scrum Team)
Debe transformar las tareas del Sprint
Debe transformar las tareas del Sprint
Backlog en un incremento de funcionalidad
Backlog en un incremento de funcionalidad
en el software.
en el software.
• Desarrollar el producto con calidad.
Desarrollar el producto con calidad.
• Auto-gestionado
Auto-gestionado
• Auto-organizado.
Auto-organizado.
• Multi-funcional
Multi-funcional
• No mayor a ocho elementos.
No mayor a ocho elementos.
11. Roles (ScrumMaster)
Roles (ScrumMaster)
Responsable del proceso de Scrum.
Responsable del proceso de Scrum.
• Incorporación de Scrum en la cultura de la
Incorporación de Scrum en la cultura de la
organización.
organización.
• Asegura el cumplimiento de los roles y
Asegura el cumplimiento de los roles y
responsabilidades.
responsabilidades.
• Formación y entrenamiento en el proceso.
Formación y entrenamiento en el proceso.
12. Roles: gallinas y cerdos.
Roles: gallinas y cerdos.
Una gallina y un cerdo paseaban por la carretera. La gallina dijo al
cerdo: “Quieres abrir un restaurante conmigo”. El cerdo consideró la
propuesta y respondió: “Sí, me gustaría. ¿Y que venderíamos ?”. La
gallina respondió: “Huevos con jamón”.
El cerdo se detuvo, hizo una pausa y contestó: “Pensándolo
mejor, creo que no voy a abrir un restaurante contigo”. La gallina
los cuestiono por la razón de su negativa, a lo que el cerdo le
contesto: “En este negocio, Yo estaría realmente comprometido,
mientras que tu estarías sólo implicada”.
Scrum hace una clara diferencia entre estos dos grupos
(gallinas y cerdos) para garantizar que quienes tienen la
responsabilidad tienen también la autoridad necesaria para
poder lograr el éxito del proceso, y que quienes no la tienen no
puedan producen interferencias innecesarias
15. Flujo de Scrum
Flujo de Scrum
Fuente: Agile Project Management with Scrum
Ken Schwaber
Visión:
ROI – versiones
hitos
Product Backlog
Requisitos priorizados
Selección de la
Product Backlo
Sprint Backlog
Nueva funcionalidad
17. Sprint
Sprint
• Tiempo en el cual se desarrolla un
Tiempo en el cual se desarrolla un
incremento en la funcionalidad
incremento en la funcionalidad
– Duración máxima: 30 días
Duración máxima: 30 días
– Durante el Sprint no puede modificarse el
Durante el Sprint no puede modificarse el
contenido del Sprint Backlog.
contenido del Sprint Backlog.
18. Sprint
Sprint
Razones para abortar un Sprint.
Razones para abortar un Sprint.
– La tecnología seleccionada no funciona.
La tecnología seleccionada no funciona.
– Han cambiado las circunstancias del negocio
Han cambiado las circunstancias del negocio
– El Scrum Team ha tenido interferencias.
El Scrum Team ha tenido interferencias.
Solo el ScrumMaster puede abortar un Sprint.
Solo el ScrumMaster puede abortar un Sprint.
19. Artefactos
Artefactos
• Scrum define una pequeña cantidad de
Scrum define una pequeña cantidad de
artefactos para el seguimiento del proyecto
artefactos para el seguimiento del proyecto
y control de las actividades asociadas al
y control de las actividades asociadas al
sprint.
sprint.
– Sprint Backlog
Sprint Backlog
– Product Backlog
Product Backlog
– Grafica de progreso.
Grafica de progreso.
20. Product Backlog
Product Backlog
Listado con los requisitos del sistema
Listado con los requisitos del sistema
• Mantenido y priorizado por el Product
Mantenido y priorizado por el Product
Owner
Owner
• Documento dinámico que incorpora
Documento dinámico que incorpora
constantemente las necesidades del
constantemente las necesidades del
sistema
sistema
• Se mantiene durante todo el ciclo de vida
Se mantiene durante todo el ciclo de vida
21. Product Backlog
Product Backlog
Estimación
inicial
Complejidad
Estim.
ajustada
ID Elemento
1 Nuevo formulario para peticiones de clientes 2 0.2 2,4
2 Configuración de respuestas automáticas 3 0.2 3,6
3 Envío automático de respuestas 1 0.2 1,2
4 Consulta para los clientes de peticiones enviadas 1 0.2 1,2
5 Modificación del cliente de sus peticiones enviadas 2 0.2 2,4
6 Acceso a peticiones sólo para clientes del portal jurídico 5 0.2 6
7 Consulta de peticiones por parte del staff 1 0.2 1,2
8 Inserción de comentarios y reasignación a peticiones (staff) 2 0.2 1,2
9 Consultas por clientes, fechas y temas 3 0,2 3,6
Product Backlog
1
2,4
3,6
1,2
1,2
2,4
6
1,2
1,2
3,6
2
0
0
0
0
0
0
0
1,2
3,6
3
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
Trabajo pendiente
Sprint
10 [Continúa]….
SPRINT 1 15 18 18 0 0 0
22. Sprint Backlog
Sprint Backlog
Lista de tareas (realistas) extraídas del
Lista de tareas (realistas) extraídas del
Product Backlog que serán convertidas en
Product Backlog que serán convertidas en
un incremento de funcionalidad.
un incremento de funcionalidad.
– Es recomendable que las tareas tengan una
Es recomendable que las tareas tengan una
duración entre 4 y 16 hrs., en caso de tareas
duración entre 4 y 16 hrs., en caso de tareas
mayores deben intentar descomponerse en
mayores deben intentar descomponerse en
sub-tareas de ese rango de tiempo.
sub-tareas de ese rango de tiempo.
24. Comunicación
Comunicación
Scrum Meeting
Sprint Review
Sprint Retrospective
La forma mas eficiente y efectiva de comunicar información
de ida y vuelta dentro de un equipo de desarrollo es
mediante la comunicación cara a cara. Manifiesto Ágil
Scrum Planing Meeting
25. Sprint Planning Meeting
Sprint Planning Meeting
• Sprint Planning 1
Sprint Planning 1
– Se priorizan las actividades contenidas en el Product BackLog
Se priorizan las actividades contenidas en el Product BackLog
– Participan las gallinas y el Product Owner
Participan las gallinas y el Product Owner
– Se define la meta
Se define la meta
• Sprint Planning 2
Sprint Planning 2
– Reunión previa al Sprint en donde el Product Owner muestra las
Reunión previa al Sprint en donde el Product Owner muestra las
actividades contenidas en el Product Backlog, ya priorizadas, el Scrum
actividades contenidas en el Product Backlog, ya priorizadas, el Scrum
Team en conjunto con el Scrum Master determinan las actividades que
Team en conjunto con el Scrum Master determinan las actividades que
contendrá el siguiente Sprint Backlog
contendrá el siguiente Sprint Backlog
– Si el Scrum Team acepta la viabilidad de la meta definida previamente,
Si el Scrum Team acepta la viabilidad de la meta definida previamente,
se puede iniciar el Sprint, en caso contrario se comunica para la toma de
se puede iniciar el Sprint, en caso contrario se comunica para la toma de
dediciones ( incrementar recursos, reducir alcance)
dediciones ( incrementar recursos, reducir alcance)
– El Scrum Team define la plataforma y el diseño a utilizar
El Scrum Team define la plataforma y el diseño a utilizar
– El Scrum Team puede realizar pregunta a fin de determinar la
El Scrum Team puede realizar pregunta a fin de determinar la
complejidad de las tareas presentadas.
complejidad de las tareas presentadas.
26. Scrum Meeting
Scrum Meeting
• Reunión diaria, informal, interactiva, ágil de no mas de 30 minutos.
Reunión diaria, informal, interactiva, ágil de no mas de 30 minutos.
• Primera actividad del día
Primera actividad del día
• Todos los miembros del equipo acuden,
Todos los miembros del equipo acuden,
• Las gallinas no pueden intervenir ni distraer, de ser necesario, el
Las gallinas no pueden intervenir ni distraer, de ser necesario, el
Scrum Master puede limitar el numero de gallinas asistentes
Scrum Master puede limitar el numero de gallinas asistentes
• Moderada por el Scrum Master quien pregunta a todos los miembros
Moderada por el Scrum Master quien pregunta a todos los miembros
del equipo
del equipo
– ¿Qué has hecho ayer?
¿Qué has hecho ayer?
– ¿Qué vas hacer hoy?
¿Qué vas hacer hoy?
– ¿Qué ayuda necesitas?
¿Qué ayuda necesitas?
En caso de requerir ayuda, los miembros del equipo involucrados se reúnen
En caso de requerir ayuda, los miembros del equipo involucrados se reúnen
al terminar la revisión a fin de acordar las acciones necesarias
al terminar la revisión a fin de acordar las acciones necesarias
• Solo habla la persona que informa, el resto escucha, no hay lugar
Solo habla la persona que informa, el resto escucha, no hay lugar
para otras conversaciones.
para otras conversaciones.
27. Sprint Review
Sprint Review
Reunión del equipo, Scrum Master, Product Owner con
todas las personas implicadas en el proyecto (gallinas).
– Duración máxima: 4 horas.
– Objetivo: presentar al propietario del producto y a las gallinas las
nuevas funcionalidades implementadas.
– Las funcionalidades no implementadas o terminadas no se
presentan.
– En la reunión, los miembros del equipo muestran las nuevas
funcionalidades.
– Al final de la reunión se interroga individualmente a todos los
asistentes para recabar impresiones, sugerencias de cambio y
mejora, y su relevancia.
– El propietario del producto trata con los asistentes y con el equipo
las posibles modificaciones en el Product Backlog.
28. Sprint Retrospective
Sprint Retrospective
• Reunión entre el Scrum Team y el Scrum Master,
opcionalmente el Product Owner.
– Todos los miembros del equipo responden a dos preguntas:
• ¿Qué cosas funcionaron bien en el último sprint?
• ¿Qué cosas se podrían mejorar?
– El Scrum Master anota todas las respuestas
– El Scrum Team prioriza las mejoras posibles al proceso
– El Scrum Master no proporciona respuestas, ayuda al equipo a
encontrar la mejor forma de trabajar con Scrum.
– Las acciones de mejora localizadas que se puedan implementar
en el próximo Sprint deben introducirse en el Product Backlog
como elementos no funcionales.
29. Implementando Scrum
Implementando Scrum
• Scrum no es para todos los proyectos.
Scrum no es para todos los proyectos.
• Generar plan de implementación
Generar plan de implementación
– Capacitación de los involucrados. (reglas,
Capacitación de los involucrados. (reglas,
procesos)
procesos)
– Definición de ScrumMaster
Definición de ScrumMaster
– Proyecto Piloto
Proyecto Piloto
• Equipos no dispersos.
Equipos no dispersos.
30. Ventajas
Ventajas
• Entrega de un producto funcional al
Entrega de un producto funcional al
finalizar cada Sprint.
finalizar cada Sprint.
• Posibilidad de ajustar la funcionalidad en
Posibilidad de ajustar la funcionalidad en
base a la necesidad de negocio del cliente
base a la necesidad de negocio del cliente
• Visualización del proyecto día a día
Visualización del proyecto día a día
• Alcance acotado y viable.
Alcance acotado y viable.
• Equipos integrados y comprometidos con el
Equipos integrados y comprometidos con el
proyecto, toda vez que ellos definieron el
proyecto, toda vez que ellos definieron el
alcance y se auto-administran.
alcance y se auto-administran.
31. Desventajas
Desventajas
• No genera toda la evidencia o
No genera toda la evidencia o
documentación de otras metodologías
documentación de otras metodologías
• No es apto para todos los proyectos.
No es apto para todos los proyectos.
• Tal vez sea necesario complementarlo con
Tal vez sea necesario complementarlo con
otros procesos (XP)
otros procesos (XP)
32. Herramientas
Herramientas
Existen en el mercado implementaciones de
Existen en el mercado implementaciones de
herramientas que permiten llevar el control de un
herramientas que permiten llevar el control de un
desarrollo con Scrum.
desarrollo con Scrum.
• Microsoft Visual Studio Team System
Microsoft Visual Studio Team System
– http
http://
://scrumforteamsystem.com
scrumforteamsystem.com
• Scrumz
Scrumz
– http://
http://www.codeplex.com
www.codeplex.com/
/scrumz
scrumz
• ScrumWorks
ScrumWorks
– http://www.danube.com/scrumworks/basic/features
http://www.danube.com/scrumworks/basic/features
33. Pero…. Y el Testing..
Pero…. Y el Testing..
• La implementación de Planes de pruebas dentro
La implementación de Planes de pruebas dentro
y fuera del Sprint es en todo caso opcional, en
y fuera del Sprint es en todo caso opcional, en
todo caso aun cuando el Scrum Team este
todo caso aun cuando el Scrum Team este
comprometido con la calidad, siempre es
comprometido con la calidad, siempre es
necesario llevar a cabo pruebas adicionales.
necesario llevar a cabo pruebas adicionales.
• Algunas actividades del siguiente Sprint pueden
Algunas actividades del siguiente Sprint pueden
ser la resolución de errores previos.
ser la resolución de errores previos.
• La recolección de métricas en cuando a defectos
La recolección de métricas en cuando a defectos
puede brindar información importante y debe ser
puede brindar información importante y debe ser
tomada en cuenta en el Sprint Retrospective.
tomada en cuenta en el Sprint Retrospective.
34. Mas información.
Mas información.
• Manifiesto Agil
Manifiesto Agil
– http://www.agilemanifesto.org/
http://www.agilemanifesto.org/
• Control Chaos
Control Chaos
– http://www.controlchaos.com/
http://www.controlchaos.com/
• Agile Project Management with Scrum
Agile Project Management with Scrum
• Agile Software Development with Scrum
Agile Software Development with Scrum
• Joiz.Net
Joiz.Net
– http://www.joiz.net/
http://www.joiz.net/
• InfoQ
InfoQ
– http://www.infoq.com/
http://www.infoq.com/