Está en la página 1de 60

SCRUM

Universidad de los Andes


Demin Gutierrez
Enero 2013

Esta presentacin contiene en parte material


tomado de la presentacin de
Xavier Albalalejo La alternativa gil

Modelos giles
(SCRUM / Origenes, Desarrollo de Productos)

Japn, aos 80
Takeuchi y Nonaka
basado en las mejores prcticas de las
empresas con buenos resultados de
rapidez y flexibilidad en la produccin
de la poca
Xerox, Canon, Honda, NEC, Epson,
Brother, 3M, Hewlet Packard
3

Modelos giles
(SCRUM / Origenes, Software)

OOPSLA 95 (conferencia)
Jeff Sutherland y Ken Schwaber
ScrumAlliance (2002)
Ken Schwaber y Mike Cohn
Scrum.org (2009)
Ken Schwaber
4

Modelos giles
(SCRUM / Principios)
Es mejor tener equipos pequeos y
auto-organizados:
Formados por miembros de diferentes disciplinas
Capaces de organizarse por si mismos
(auto-organizacin)
Con una comunicacin transparente
De esta forma, en general,
se suelen obtener mejores resultados y
todos los miembros del equipo estn
ms comprometidos y motivados
5

Modelos giles
(SCRUM / Principios)

La palabra Scrum procede del vocabulario del rugby y significa mel;


es decir, esa figura en la que los compaeros del equipo se
amontonan, forman una pia y empujan todos en la misma direccin
6

Modelos giles
(SCRUM)

(4)
ceremonias
(reuniones)

(3)
roles

(3)
artefactos

(1)
proceso
7

roles?
(quines?)

Modelos giles
(SCRUM / Roles)

Product Owner
(dueo del producto)

Team / Equipo
(dueos del desarrollo)

Scrum Master
(dueo facilitador del proceso)

cerdos
Los dems: Clientes,
Ejecutivos, Usuarios, etc...
no son ms que pollos ;-)

SCRUM
(Roles)

ese cuento ha sido


inmortalizado de
muchas formas
10

proceso?
(cmo?)

11

Modelos giles
(SCRUM / Proceso)
Lazo de
feedback
diario

Lazo de feedback
cada 1-4 semanas

?
Un Sprint
(iteracin, ciclo, etc)

12

Modelos giles
(SCRUM / Proceso)
Lazo de
feedback
diario

...?
Lazo de feedback
semanal

Lazo de
feedback
diario

Lazo de
feedback
diario

?
Lazo de feedback
semanal

?...

?
Lazo de feedback
semanal

Varios Sprints

13

14

artefactos?
(qu?)

15

Modelos giles
(SCRUM / Artefactos)
requisitos features de
la aplicacin
(de todo el producto)
resultado / producto
(entregas frecuentes)

tareas de < 16 horas


(slo del sprint)

3 artefactos

definicin de listo
(Definition of Done)
16

Modelos giles
(SCRUM / Artefactos)

artefactos, herramientas
y otros radiadores de informacin

Tablero de Kanban

Scrum Burn Down

aunque oficialmente NO SON parte de Scrum


(ms adelante hablaremos de ellos)
17

ceremonias?
(de qu forma?)

18

Modelos giles
(SCRUM / Ceremonias)
(2) daily scrum
cmo vamos?

(4) retrospectiva
cmo podemos
mejorar?

(1) sprint planning


que tan complejas son las
historias?
que historias van para este
sprint?

(3) sprint review/demo


qu hemos
logrado?
19

requisitos?
(qu debe hacer el producto?)

20

Historias de Usuarios
(Modelos giles XP, SCRUM)
Una historia de usuario es una narracin que describe una
funcionalidad del sistema que tiene valor para un usuario
Se recogen en unas sencillas tarjetas de forma
esquemtica y en un lenguaje claro y preciso
Aprobacindenuevosusuarios

Yocomoadministradordelforo
quisierapoderaceptarorechazarlos
nuevosusuariosregistradosparaas
poderevitarqueelforosellenede
spammers
qu?

quin?
por

qu?

Historias de Usuarios
(Modelos giles XP, SCRUM)
Aprobacindenuevosusuarios

Yocomoadministradordelforo
quisierapoderaceptarorechazarlos
nuevosusuariosregistradosparaas
poderevitarqueelforosellenede
spammers
Las historias de usuario sirven de recordatorio de la
funcionalidad que es necesario implementar en el
sistema
Antes de implementar una funcionalidad en particular se
produce una discusin con el usuario, se refina y
extiende la informacin de la historia de usuario

Historias de Usuarios
(SCRUM / Requisitos)

Es posible (y til) tambin escribir un


breve documento donde se define la
visin general del sistema/producto
Esto ayuda a tener una visin global
del producto que se est
desarrollando
23

cmo se ordenan
y gestionan los
requisitos?
24

Modelos giles
(SCRUM / Requisitos)

El product backlog
tiene todos los
requisitos del producto

Se puede ver como


una lista de todo lo
que el usuario/cliente
desea del producto
(a wishlist)
25

Modelos giles
(SCRUM / Requisitos)
Prximo Sprint, historias
con suficiente detalle y
estimadas

Release Plan?
Siguientes Sprints, no
mucho detalle,
estimaciones y plan
tentativos

Los requisitos del product backlog se priorizan y se


asignan a los distintos sprints planificados, es decir, al
sprint backlog de cada sprint
26

27

Modelos giles
(SCRUM / Requisitos)
Sin embargo siempre es posible
aadir nuevas historias de usuario
al product backlog y/o cambiar las
prioridades de las historias existentes

Una vez comenzado el


sprint no se aaden
nuevas historias de
usuario al sprint backlog
En general, no hay
cambios, ni en duracin ni
en objetivos

El equipo es el dueo
del sprint backlog

28

cmo se estima
y planifica?
29

Modelos giles
(SCRUM / Planificacin)

(1) sprint planning


que tan complejas son las
historias?
que historias van para este
sprint?
30

Modelos giles
(SCRUM / Requisitos)

Antes de comenzar el sprint,


de ser necesario, el product
owner refinan las historias
de usuario, usando
cualquier tcnica que se
considere adecuada

Nombre:

Crear mensaje foro

Autor:

Pedro Prez

Fecha:

21/04/09

Descripcin:
Permite crear un nuevo mensaje (hilo) en el foro de discusin.
Actores:
Usuario / Moderador
Precondiciones:
El usuario debe de estar autenticado en el sistema.
Flujo Normal:
1.- El actor pulsa sobre el botn para crear un nuevo mensaje.
2.- El sistema muestra una caja de texto para introducir el ttulo del mensaje y una zona de
mayor tamao para introducir el cuerpo del mensaje.
3.- El actor introduce el ttulo del mensaje y el cuerpo del mismo.
4.- El sistema comprueba la validez de los datos y los almacena.
5.- El moderador recibe una notificacin de que hay un nuevo mensaje.
6.- El moderador acepta y el sistema publica el mensaje si ste fue aceptado por el moderador.
Flujo Alternativo:
4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al
actor de ello permitindole que los corrija.
6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario.
Poscondiciones:
El mensaje ha sido almacenado en el sistema y fue publicado.

31

Modelos giles
(SCRUM / Planificacin)

Qu tal si jugamos poker?

32

cmo se ve todo
hasta ahora?
33

Modelos giles
(SCRUM / Proceso)

iteracin
sprint 1

no se comienza un
sprint hasta que se
termina el anterior

iteracin
sprint 2

iteracin
sprint 3

etctera...

34

roles?

35

SCRUM
(Roles)

cerdos
(realmente
comprometidos)

pollos
(involucrados)
36

SCRUM
(Roles / Pollos)

Usuarios / Ejecutivos
Son los que usarn y
eventualmente pagarn
el producto

37

SCRUM
(Roles / Product Owner)
Product Owner:
Representa la voz del
cliente y aporta la visin
del negocio. Se encarga
de escribir y mantener
las historias de usuario
(Backlog Grooming),
les da prioridad y las
ubica en el product
backlog.
Es el nico con la
autoridad para cancelar
el proyecto (debe tener
esta autoridad)
38

SCRUM
(Roles / Scrum Master)

Scrum Master
Es el dueo/facilitador
del proceso
Tiene como principal
papel el de dejar el
camino libre de
obstculos e
impedimentos para que
el resto del equipo
consiga el objetivo del
sprint
39

SCRUM
(Roles / Scrum Master)

Scrum Master
Organiza reuniones,
hace seguimiento del
trabajo que se est
llevando a cabo, apoya
en la planificacin de
los sprints / entregas,
etc

40

SCRUM
(Roles / Scrum Master)
Scrum Master
NO ES un
Jefe/Gerente/Lder de
Proyecto en el sentido
tradicional... es ms
bien un Lder Servil
En general no tiene
poder de forzar al
equipo a hacer algo,
pero puede resaltar las
consecuencias de no
seguir bien el proceso
Es un profesor de
Scrum...
41

SCRUM
(Roles / Equipo)
Equipo
Est compuesto por
los roles tradicionales:
desarrolladores,
probadores, etc.
Estima el esfuerzo de
las historias a
desarrollar
Hace lo que sea
necesario para
desarrolla el producto
y cumplir con las
historias del sprint
backlog

42

gestin, control
y seguimiento?
43

Modelos giles
(Reunin Diaria)
Reunin Diaria:
Es una figura fundamental en SCRUM.
Tiene que reunirse TODO el equipo y debe hacerse
segn ciertas reglas
Lazo de
feedback
diario

Lazo de feedback
cada 1-4 semanas

44

Modelos giles
(Reunin Diaria)

Reunin Diaria:
REGLAS:
La reunin es diaria y se hace siempre a una
hora predefinida, normalmente por la maana

Es importante que todos los miembros del


equipo acudan puntuales
45

Modelos giles
(Gestin y Seguimiento / Reunin Diaria)

Reunin Diaria:
REGLAS:
La reunin debe durar alrededor de 15
minutos
Se realiza de pie, para mantener el mximo de
concentracin y atencin
Todos los roles son bienvenidos, pero slo
los cerdos pueden hablar
46

Modelos giles
(Reunin Diaria)

Reunin Diaria:
REGLAS:
En la reunin se realizan las siguientes
3 preguntas clave:
Qu has hecho desde ayer?
Qu tienes planeado hacer maana?
Has encontrado algn problema para
conseguir tu objetivo?
47

Modelos giles
(Reunin Diaria)

Reunin Diaria:
REGLAS:
La transparencia es un aspecto muy
importante en estas reuniones
Todos los miembros saben que estn
haciendo los dems, y los problemas deben
ser sacados a la luz en cuanto se detectan
La idea es que los problemas se puedan
detectar y resolver a tiempo
48

Modelos giles
(Scrum Burn Down)

EJE Y
Trabajo restante,
horas, puntos de
funcin u otra
unidad de medida
EJE X
Da o fecha del sprint

generalmente, esto es
responsabilidad del Scrum Master

49

qu tal si jugamos un rato


con una hoja de clculo?

50

Las siguientes hojas de


excel fueron tomadas de:
http://agilesoftwaredevelopment.com/

Un video explicativo en:


http://www.youtube.com/watch?v=WqgZCiqiYAY

51

Modelos giles
(Gestin y Seguimiento / Scrum Burn Down)
Sprint 3. Plug in the Real Weather
Story ID

days in sprint / effort left


0 1 2 3 4 5 6 7 8 9 10 11 12 13
63 74 68 64 56 49 41 31 29 32 32 32 32 32

Story/task

10 Fetch one day temperature data from the weather provider system
Make our server connect and authenticate to the provider system
Read provider's data directory
Parse the current temperature out of the data
Push the temperature data to the client
11 Fetch rain, snow, etc details from the provider
Parse snow/rain data from the provider's data
Push the snow/rain data to the client
Redesign client screen a bit
Refactor the server code
12 Fetch several days data from the provider
Parse the weather data in day packs
Push several days data to the client
13 Auto-refresh feature
Make the client ping server once per 4 hours
Make the server update the client

4 16 12 8 3 3
8 7 7 7 4 0
6 6 4 4 4 1
16 16 16 16 16 16
4
4

4
4

4
4

4
4

4
4

4
4

3
0
1
8

3
0
1
2

3
0
1
0

3
0
1
0

3
0
1
0

3
0
1
0

3
0
1
0

3
0
1
0

4
4

0
4

0
4

0
0
3
4

0
0
3
4

0
0
3
4

0
0
3
4

0
0
3
4

10 10 10 10 10 10 10 10 10 10 10 10 10 10
3 3 3 3 3 3 3 3 3 3 3 3 3 3
6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

6
2

Effort left in sprint


80
74

70

68

64

63

60

56

effort left

50

49
41

40

31

30

32

29

32

32

32

32

20
10
0
0

10

11

12

13

days in sprint

Backlog state taken after day 9


based on: http://agilesoftwaredevelopment.com/scrum/simple-sprint-backlog

52

Modelos giles
(Scrum Burn Down)
Weather on Mobile
Sprint #
1
2
3
Effort needed for Release 1 as in the beginning of the sprint 90 70 34
1 Set up continuous integration system
5
0
0
2 Create compilable application skeleton
5
0
0
3 Display current temperature in a simplest possible way
13
0
0
4 Set up the web server for serving weather data
3
0
0
5 Implement stubby WeatherML support on the server side
13
0
0
Sprint 1
Make sample data go from server to device
6 Graphics support on the client side
20
0
0
16 Make the graphics library draw some icon and sample temperature text
13
0
17 Draw the real weather screen
8
0
7 Implement support for several days
8
8
0
8 Implement support for rain, snow, etc. icons
2
2
0
9 City changing support
5
0
Sprint 2
Minimal working version
10 Fetch one day temperature data from the weather provider system
?
13 13
11 Fetch rain, snow, etc details from the provider
8
8
8
12 Fetch several days data from the provider
5
5
5
13 Auto-refresh feature
8
8
8
Sprint 3
Plug in the real weather data
Release 1
Sellable version
14 Inject simulated ads from the test server
20 20 20
15 Plug real ads in
20 20 20
18 Change current city automatically according to the cell info
40 40 40
Sprint 4
Advertisements support
Release 2
Ad-supported version
Effort in the whole backlog 170 150 114
Backlog state taken after the end of sprint 3 = after release 1
http://agilesoftwaredevelopment.com/scrum/simple-product-backlog

4
0
0
0
0
0
0

5
0
0
0
0
0
0

6
0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0

0
0
0
0

Effort left until Release 1


100
90

90

80
70
Work left

Description

70

60
50
40

34

30
20
10
0

0
1

0
0
0
0

80

20
20
40
80

0
5

0
6

170

160

20
20
40
80

Effort left in the backlog


180

20
20
40

Sprint #

150

140
120
Work left

ID

114

100
80

80

80

80

60
40
20
0
1

Sprint #

Release Plan?

53

Modelos giles
(Kanban / Task Boards)

Lmites de
Trabajo en Progreso
Work In Progress
(WIP)

se puede poner en una pared en la oficina


y sirve para hacer el seguimiento
de las tareas del sprint en curso
tambin hay herramientas en lnea:
https://trello.com
54

Modelos giles
(Gestin y Seguimiento / Task Boards)

http://www.mountaingoatsoftware.com/scrum/task-boards
55

Modelos giles
(Gestin y Seguimiento / Task Boards)

http://www.mountaingoatsoftware.com/scrum/task-boards

56

video recomendado
(en ingles)
Scrum Master in Under 10 Minutes
Hamid Shojaee
http://www.youtube.com/watch?v=Q5k7a9YEoUI

57

algunos
casos de estudio
http://lookforwardconsulting.com/2012/11/28/14-scrum-case-studies

58

Henrik Kniberg
disponible en varios idiomas (espaol incluido)
descarga gratuita en:
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
http://www.infoq.com/minibooks/kanban-scrum-minibook

59

Gracias

Gracias!

60