Você está na página 1de 42

Una Introduccin

a Scrum
Ernesto Grafeuille
Noviembre 2008
Mountain Goat

Estamos perdiendo la
carrera de relevos
En enfoque de carrera de
relevos en el desarrollo de
productos ... puede entrar en
conflicto con los objetivos de
mxima velocidad y flexibilidad.
En su lugar, un enfoque
holstico o estilo rugby - donde
un equipo intenta ir a la
distancia como una unidad,
Hirotaka Takeuchi and Ikujiro
pasando la pelota
hacia
Nonaka,
The Newadelante
New Product
Development Game,
Harvard
y hacia atrs -pueden
servir
Business Review, January 1986.
mejor a los actuales requisitos
Mountaincompetitivos".
Goat

Scrum en 100
palabras
Scrum es un proceso

gil que nos permite


centrarnos en ofrecer el ms alto valor
de negocio en el menor tiempo.
Nos permite rpidamente y en repetidas
ocasiones inspeccionar software real de
trabajo (cada dos semanas o un mes).
El negocio fija las prioridades. Los
equipos se auto-organizan a fin de
determinar la mejor manera de entregar las
funcionalidades de ms alta prioridad.
Cada dos semanas o un mes, cualquiera
puede ver el software real funcionando y
decidir si liberarlo o seguir mejorandolo
en otro sprint.
Mountain Goat

Orgenes de Scrum
Jeff

Sutherland

Scrums iniciales en Easel Corp en 1993


IDX 500 personas haciendo Scrum

Ken

Schwaber

ADM

Autor de tres libros sobre Scrum

Se presenta Scrum en OOPSLA 95 con


Sutherland

Mike

Patrones Scrum en PLOPD4

Ken

Beedle
Schwaber and Mike Cohn

Fundaron conjuntamente la Scrum Alliance


en 2002, inicialmente dentro de la Agile
Alliance

Mountain Goat

Scrum ha sido utilizado


por:
Microsoft
Intuit

Yahoo
Nielsen Media
Google
First American Real
Electronic Arts BMC Software
High Moon Studios
Ipswitch
Lockheed Martin John Deere
Philips
Lexis Nexis
Siemens
Sabre
Nokia
Salesforce.com
Capital One
Time Warner
BBC
Turner Broadcasting
Intuit
Oce

Mountain Goat

Scrum ha sido utilizado


para:
Desarrollo de video
Software comercial

juegos
Sistemas crticos de
soporte vital,
aprobados por laFDA
Proyectos
Fixed-price

Software de control
Aplicaciones
satelital
Financieras
Sitios Web
Aplicaciones
certificadas ISO 9001
Software para Handheld

Sistemas Embebidos
Telfonos porttiles

Sistemas con requisitos


7x24 y 99.999% de
Aplicaciones de Network

disponibilidad
switching
Joint Strike Fighter
Aplicaciones de ISV
Algunas de las ms
grandes aplicaciones en
Mountain Goat
uso
Desarrollos internos
Desarrollos bajo
Contrato

Caractersticas
Equipos auto-organizados
El producto avanza en una

serie de
Sprints" de dos semanas a un mes de
duracin
Los requisitos son capturados como
elementos de una lista de Product Backlog"
No hay prcticas de ingeniera prescritas
Utiliza normas generativas para crear un
entorno gil para la entrega de proyectos
Uno de los procesos giles

Mountain Goat

El Manifesto gil
una declaracin de
valores
Individuos
Procesos
sobr
Individuos ee
Procesos yy
interacciones
interacciones

herramientas
herramientas

Software
Software que
que
funciona
funciona

sobr
e

Documentacin
Documentacin
exhaustiva
exhaustiva

Colaboracin
Colaboracin
con
con el
el cliente
cliente

sobr
e

Negociacin
Negociacin de
de
contratos
contratos

Responder
Responder
ante
ante el
el cambio
cambio

sobre

Fuente:
www.agilemanifesto.org

Mountain Goat

Seguimiento
Seguimiento
de
de un
un plan
plan

Nivel de ruido de un
proyecto
Anarqua
Complejo
Co

mp

li

Mountain Goat

Cerca de
Certeza

Cerca de Simple
Acuerdo

ca

do

Tecnologa

Fuente: Strategic Management


and Organizational Dynamics
by Ralph Stacey in Agile
Software Development with
Scrum by Ken Schwaber and
Mike Beedle.

Lejos de
Certeza

Requisitos

Lejos de
Acuerdo

Scrum

24 horas

Objetivo del Sprint

Return
Gift wrap
Cancel
Product
Backlog
Mountain Goat

Sprint
Backlog

Sprint
2-4 semanas

Incremento del producto


potencialmente entregab

Poniendo todo junto

Imagen disponible en
www.mountaingoatsoftware.com/scr
um
Mountain Goat

Sprints
En

Scrum los proyectos avanzan en una


serie de Sprints

Anlogo a las iteraciones en XP


La duracin tpica es 24 semanas

alo sumo un mes calendario

La

duracin constante conduce a un


mejor ritmo

El

product es diseado, codificado y


testeado durante el Sprint

Mountain Goat

Desarrollo
secuencial vs.
Requisito
superpuesto
Diseo
Cdigo
s
En lugar de hacer
todo de una cosa
a la vez ...

Test

...los equipos
Scrum hacen un poco
de todo todo el
tiempo

Source: The New New Product Development Game


by Takeuchi and Nonaka. Harvard Business
Mountain
Review, Goat
January 1986.

No hay cambios en un
sprint
Cambios

Planee

la duracin del sprint en torno a


cunto tiempo usted puede comprometerse a
mantener los cambios fuera del sprint

Mountain Goat

Scrum Framework
Roles

Product

owner
ScrumMasterReunione
Team
sSprint planning

Sprint review
Sprint
retrospective
Daily scrum
Artefact
meeting
os
Product backlog

Sprint backlog
Burndown charts
Mountain Goat

Scrum framework
Roles

Product

owner
ScrumMasterReunione
Team
sSprint planning

Sprint review
Sprint
retrospective
Daily scrum
Artefact
meeting
os
Product backlog

Sprint backlog
Burndown charts
Mountain Goat

Product Owner
Define
Decide

las funcionalidades del producto

sobre las fechas y contenidos de los


releases

Es

responsable por la rentabilidad del


producto (ROI)

Prioriza

funcionalidades de acuerdo al valor


del mercado/negocio

Ajusta

funcionalidades y prioridades en cada


iteracin si es necesario

Acepta

o rechaza los resultados del trabajo


del equipo

Mountain Goat

El ScrumMaster
Representa a la gestin
Responsable de promover

del proyecto
los valores y

prcticas de Scrum

Remueve impedimentos
Se asegura de que el

equipo es
completamente funcional y productivo

Permite

la estrecha cooperacin en todos


los roles y funciones

Escudo

del equipo de interferencias


externas

Mountain Goat

El Team
Tpicamente de 5
Multi-funcional:
Programadores,

Los

testers, analistas, diseadores, etc.

miembros deben ser full-time

Puede haber excepciones (Ej.: Infraestructura, SCM,


etc.)

Los

a 9 personas

equipos son auto-organizativos

Idealmente, no existen ttulos pero a veces se utilizan


de acuerdo a la organizacin

Solo

puede haber cambio de miembros


entre los sprints

Mountain Goat

Scrum Framework
Roles

Product

owner
ScrumMaster
Reunione
Team
sSprint planning

Sprint review
Sprint
retrospective
Daily scrum
Artefact
meeting
os
Product backlog

Sprint backlog
Burndown charts

Mountain Goat

Capacida
Capacida
dd del
del
Equipo
Equipo
Product
Product
Backlog
Backlog
Condicio
Condicio
nes
nes del
del
Negocio
Negocio
Producto
Producto
Actual
Actual

Sprint Planning
meeting
Priorizacin

Analizar y evaluar el

Planificacin

Decidir como alcanzar el

Tecnolog
Tecnolog
a
a
Mountain Goat

Product Backlog
Seleccionar el objetivo
del Sprint

Objetiv
Objetiv
oo del
del
Sprint
Sprint

objetivo del Sprint


(diseo)
Crear el Sprint Backlog
(tareas) en base a los
temas del Product
Backlog (user stories /
features)
Estimar Sprint Backlog
en horas

Sprint
Sprint
Backlog
Backlog

Planificacin del
Sprint

El equipo selecciona los temas a partir del


Product Backlog que pueden comprometerse a
completar
Se crea el Sprint Backlog

Se identifican tareas y cada una es estimada (1-16


horas)

Realizado colaborativamente, no solo por el ScrumMaster

El

diseo de Alto Nivel es considerado

COMO
COMO planificador
planificador
de
de vacaciones,
vacaciones, YO
YO
QUIERO
QUIERO ver
ver fotos
fotos
de
de los
los hoteles.
hoteles.
Mountain Goat

Codificar la capa
intermedia (8 hs)
Codificar la interfaz de
usuario (4)
Escribir los test
fixtures (4)
Codificar la clase foo
(6)

Daily Scrum
Parmetros
Diaria
Dura 15
Parados

No

minutos

para la solucin de problemas

Todo
Slo

el mundo est invitado

los miembros del equipo,


ScrumMaster y Product Owner, pueden
hablar

Ayuda

a evitar otras reuniones


innecesarias

Mountain Goat

Todos responden 3
preguntas
1
Qu hiciste ayer?
ayer?

Qu vas a hacer hoy?

2
3

Hay obstculos en tu camino?


camino?

No
Se

es dar un status report al Scrum Master


trata de compromisos delante de pares

Mountain Goat

Sprint review
El

equipo presenta lo realizado durante


el sprint

Normalmente

adopta la forma de una demo


de las nuevas caractersticas o la
arquitectura subyacente

Informal
Regla de 2 hs preparacin
No usar diapositivas
Todo el equipo participa
Se invita a todo el mundo
Mountain Goat

Sprint
retrospective
Peridicamente, se echa un

vistazo
a lo que funciona y lo que no

Normalmente 15 a 30 minutos
Se realiza luego de cada sprint
Todo el equipo participa
ScrumMaster
Product owner
Equipo
Posiblemente clientes y otros
Mountain Goat

Start / Stop /
Continue
Todo el equipo se rene

y
discute lo que les gustara:

Comenzar a
hacer

Dejar de hacer
Esto es slo una
de las muchas
maneras de
hacer una
retrospectiva.
Mountain Goat

Continuar
haciendo

Scrum framework
Roles

Product

owner
ScrumMasterReunione
Team
sSprint planning

Sprint review
Sprint
retrospective
Daily scrum
Artefact
meeting
os
Product backlog

Sprint backlog
Burndown charts
Mountain Goat

Product Backlog
Los
Una

Este
Este es
es el
el
product
product
backlog
backlog

Mountain Goat

requisitos
lista de todos
los trabajos deseados
en el proyecto
Idealmente cada tema
tiene valor para el
usuarios o el cliente
Priorizada por el
Product Owner
Repriorizada al
comienzo de cada
Sprint

Ejemplo de Product
Backlog
Estimaci
Backlog item
n

Permitir que un invitado a hacer


una reserva.
Como invitado, quiero cancelar una
reserva.
Como invitado, quiero cambiar las
fechas de una reserva.
Como un empleado de hotel, puedo
ejecutar informes de los ingresos
por habitacin disponible
Mejorar el manejo de excepciones
...
... Goat
Mountain

3
5
3
8
8
30
50

El objetivo del
Una breve declaracin de cual ser el
Sprint
foco del trabajo durante el sprint
Ciencias
Biolgicas de apoyo
Funciones
Aplicacin con
B.Datos

Hacer que la aplicacin


se ejecute en SQL
Server, adems de
Oracle.

Mountain Goat

tcnico necesarios para


estudios de gentica de
poblaciones.
Servicios
Financieros

Soportar ms indicadores
tcnicos que la empresa
ABC en tiempo real y
streaming de datos.

Gestin del Sprint


Backlog
Los individuos eligen las tareas
El
La

trabajo nunca es asignado


estimacin del trabajo restante es
actualizada diariamente
Cualquier miembro del equipo puede aadir,
borrar o cambiar el Sprint Backlog
El trabajo para el Sprint emerge
Si el trabajo no est claro, definir un tema
del Sprint Backlog con una mayor cantidad de
tiempo y subdividirla luego.
Actualizar el trabajo restante a medida de
que ms se conoce
Mountain Goat

Ejemplo de Sprint
Backlog
Tareas
Tareas
Codificar UI
Codificar negocio
Testear negocio
Escribir ayuda
online
Escribir la clase
foo
Agregar error
logging

Mountain Goat

LL

MM

MM

JJ

VV

16

12

10

16

16

11

12
8

Hours

Un Sprint Burndown
Chart

Mountain Goat

Tareas
Tareas
Codificar UI
Codificar Negocio
Testear Negocio
Escribir ayuda
online

LL

MM

MM

JJ

8
16
8
12

4
12
16

8
10
16

7
11

50

Hours

40
30
20
10
0
Mountain Goat

Mon

Tue

Wed

Thu

Fri

VV

Escalabilidad
Normalmente
personas

los equipos son de 7 2

La

escalabilidad proviene de equipos de


equipos

Factores

a tener cuenta

Tipo de aplicacin
Tamao del equipo
Dispersin del equipo
Duracin del proyecto

Scrum

se ha utilizado en mltiples
proyectos de ms de 500 personas

Mountain Goat

Expansin a travs
de Scrum de scrums

Mountain Goat

Scrum de scrums de
scrums

Mountain Goat

Donde seguir?
www.mountaingoatsoftware.com/scr
um

www.scrumalliance.org
www.controlchaos.com
scrumdevelopment@yahoogroups.com

Mountain Goat

Una lista de lecturas


sobre
ScrumDevelopment: A Managers Guide by
Agile and Iterative
Craig Larman

Agile
Agile
Agile
Agile
Agile

Estimating and Planning by Mike Cohn


Project Management with Scrum by Ken Schwaber
Retrospectives by Esther Derby and Diana Larsen
Software Development Ecosystems by Jim Highsmith
Software Development with Scrum by Ken Schwaber

and
Mike Beedle

Scrum and The Enterprise


User Stories Applied for
Mike Cohn

Artculos

Mountain Goat

by Ken Schwaber
Agile Software Development by

semanales en www.scrumalliance.org

Aviso de Copyright
Usted

Compartir- copiar, distribuir y trasmitir el trabajo


Modificar- adaptar el trabajo

Bajo

es libre de:
las siguientes condiciones

Atribucin. Ud. debe atribuir el trabajo en la manera


especificada por el autor o licenciante (pero de ninguna
manera que sugiera que ellos aprueban su uso del trabajo).

Nada

de lo dispuesto en esta licencia


menoscaba o restringe los derechos
morales del autor.

Para ms informacin ver


http://creativecommons.org/licenses/by/3.0/

Mountain Goat

Informacin de
Presentado
Presentado por:
por: Mike
Mike
Cohn
Cohn
Contacto mike@mountaingoatsoftwar
mike@mountaingoatsoftwar
e.com
e.com
www.mountaingoatsoftware
www.mountaingoatsoftware
ar este (o
in
Puede elim.com
.com
quier diapositiva),
al
cu
(720)
890-6110
(office)
(720)
890-6110
(office)
o de
it
d
cr
r
da
be
de
ro
pe

Mountain Goat

la fuente en algn lugar


de su presentacin.
Utilizar el logotipo y el
o
nombre de la empresa (com
en la parte inferior
o
izquierda, por ejemplo)
en
incluir una diapositiva
algn lugar diciendo que
parte (o todo) de su
presentacin son de esta
fuente. Gracias.

Você também pode gostar