Vous êtes sur la page 1sur 42

Mountain Goat Software,

LLC
Una Introduccin a
Scrum
Ernesto Grafeuille
Noviembre 2008
Mountain Goat Software,
LLC
Estamos perdiendo la carrera
de relevos
Hirotaka Takeuchi and Ikujiro Nonaka,
The New New Product Development
Game, Harvard Business Review,
January 1986.
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, pasando la pelota hacia adelante y
hacia atrs -pueden servir mejor a los
actuales requisitos competitivos".
Mountain Goat Software,
LLC
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.
Scrum en 100 palabras
Mountain Goat Software,
LLC
Orgenes de Scrum
Jeff Sutherland
Scrums iniciales en Easel Corp en 1993
IDX 500 personas haciendo Scrum
Ken Schwaber
ADM
Se presenta Scrum en OOPSLA 96 con Sutherland
Autor de tres libros sobre Scrum
Mike Beedle
Patrones Scrum en PLOPD4
Ken Schwaber and Mike Cohn
Fundaron conjuntamente la Scrum Alliance en 2002,
inicialmente dentro de la Agile Alliance
Mountain Goat Software,
LLC
Scrum ha sido utilizado por:
Microsoft
Yahoo
Google
Electronic Arts
High Moon Studios
Lockheed Martin
Philips
Siemens
Nokia
Capital One
BBC
Intuit
Intuit
Nielsen Media
First American Real Estate
BMC Software
Ipswitch
John Deere
Lexis Nexis
Sabre
Salesforce.com
Time Warner
Turner Broadcasting
Oce
Mountain Goat Software,
LLC
Scrum ha sido utilizado para:
Software comercial
Desarrollos internos
Desarrollos bajo Contrato
Proyectos Fixed-price
Aplicaciones Financieras
Aplicaciones certificadas
ISO 9001
Sistemas Embebidos
Sistemas con requisitos
7x24 y 99.999% de
disponibilidad
Joint Strike Fighter
Desarrollo de video juegos
Sistemas crticos de soporte
vital, aprobados por laFDA
Software de control satelital
Sitios Web
Software para Handheld
Telfonos porttiles
Aplicaciones de Network
switching
Aplicaciones de ISV
Algunas de las ms grandes
aplicaciones en uso
Mountain Goat Software,
LLC
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 Software,
LLC
El Manifesto gil una
declaracin de valores
Procesos y
herramientas
Individuos e
interacciones
sobre
Seguimiento
de un plan
Responder
ante el cambio
sobre
Fuente: www.agilemanifesto.org
Documentacin
exhaustiva
Software que
funciona
sobre
Negociacin de
contratos
Colaboracin
con el cliente
sobre
Mountain Goat Software,
LLC
Nivel de ruido de un proyecto
Simple
Complejo
Anarqua
Tecnologa
R
e
q
u
i
s
i
t
o
s

Lejos de
Acuerdo
Cerca de
Acuerdo
C
e
r
c
a

d
e

C
e
r
t
e
z
a

L
e
j
o
s

d
e

C
e
r
t
e
z
a

Fuente: Strategic Management and
Organizational Dynamics by Ralph
Stacey in Agile Software Development
with Scrum by Ken Schwaber and Mike
Beedle.
Mountain Goat Software,
LLC
Scrum
Cancel
Gift wrap
Return
Sprint
2-4 semanas
Objetivo del Sprint
Sprint
Backlog
Incremento del producto
potencialmente entregable
Product
Backlog
24 horas
Mountain Goat Software,
LLC
Poniendo todo junto
Imagen disponible en
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC
Sprints
En Scrum los proyectos avanzan en una serie
de Sprints
Anlogo a las iteraciones en XP
La duracin tpica es 24 semanas o 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 Software,
LLC
Desarrollo secuencial vs.
superpuesto
Source: The New New Product Development Game by
Takeuchi and Nonaka. Harvard Business Review, January
1986.
En lugar de hacer todo
de una cosa a la vez ...
...los equipos Scrum
hacen un poco de todo
todo el tiempo
Requisitos Diseo Cdigo Test
Mountain Goat Software,
LLC
No hay cambios en un sprint
Planee la duracin del sprint en torno a cunto
tiempo usted puede comprometerse a mantener
los cambios fuera del sprint
Cambios
Mountain Goat Software,
LLC
Scrum Framework
Product owner
ScrumMaster
Team
Roles
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Reuniones
Product backlog
Sprint backlog
Burndown charts
Artefactos
Mountain Goat Software,
LLC
Scrum framework
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Reuniones
Product backlog
Sprint backlog
Burndown charts
Artefactos
Product owner
ScrumMaster
Team
Roles
Mountain Goat Software,
LLC
Product Owner
Define las funcionalidades del producto
Decide 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 Software,
LLC
El ScrumMaster
Representa a la gestin del proyecto
Responsable de promover 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 Software,
LLC
El Team
Tpicamente de 5 a 9 personas
Multi-funcional:
Programadores, testers, analistas, diseadores, etc.
Los miembros deben ser full-time
Puede haber excepciones (Ej.: Infraestructura, SCM, etc.)
Los 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 Software,
LLC
Product owner
ScrumMaster
Team
Roles
Scrum Framework
Product backlog
Sprint backlog
Burndown charts
Artefactos
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Reuniones
Mountain Goat Software,
LLC
Sprint Planning meeting
Priorizacin
Analizar y evaluar el Product
Backlog
Seleccionar el objetivo del Sprint
Planificacin
Decidir como alcanzar el 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
Objetivo
del Sprint
Sprint
Backlog
Condicione
s del
Negocio
Capacidad
del Equipo
Product
Backlog
Tecnologa
Producto
Actual
Mountain Goat Software,
LLC
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 planificador
de vacaciones, YO
QUIERO ver fotos
de los hoteles.

Codificar la capa intermedia (8 hs)
Codificar la interfaz de usuario (4)
Escribir los test fixtures (4)
Codificar la clase foo (6)
Actualizar test de performance (4)
Mountain Goat Software,
LLC
Daily Scrum
Parmetros
Diaria
Dura 15 minutos
Parados
No para la solucin de problemas
Todo el mundo est invitado
Slo los miembros del equipo, ScrumMaster y
Product Owner, pueden hablar
Ayuda a evitar otras reuniones innecesarias
Mountain Goat Software,
LLC
Todos responden 3 preguntas
No es dar un status report al Scrum Master
Se trata de compromisos delante de pares
Qu hiciste ayer?
1
Qu vas a hacer hoy?
2
Hay obstculos en tu camino?
3
Mountain Goat Software,
LLC
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 Software,
LLC
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 Software,
LLC
Start / Stop / Continue
Todo el equipo se rene y discute lo que
les gustara:
Comenzar a hacer
Dejar de hacer
Continuar haciendo
Esto es slo una
de las muchas
maneras de
hacer una
retrospectiva.
Mountain Goat Software,
LLC
Product owner
ScrumMaster
Team
Roles
Scrum framework
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Reuniones
Product backlog
Sprint backlog
Burndown charts
Artefactos
Mountain Goat Software,
LLC
Product Backlog
Los requisitos
Una 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
Este es el
product backlog
Mountain Goat Software,
LLC
Ejemplo de Product Backlog
Backlog item Estimacin
Permitir que un invitado a hacer una reserva. 3
Como invitado, quiero cancelar una reserva. 5
Como invitado, quiero cambiar las fechas de
una reserva.
3
Como un empleado de hotel, puedo ejecutar
informes de los ingresos por habitacin
disponible
8
Mejorar el manejo de excepciones 8
... 30
... 50
Mountain Goat Software,
LLC
El objetivo del Sprint
Una breve declaracin de cual ser el foco
del trabajo durante el sprint
Aplicacin con B.Datos
Servicios Financieros
Ciencias Biolgicas
Funciones de apoyo tcnico
necesarios para estudios de
gentica de poblaciones.
Soportar ms indicadores
tcnicos que la empresa ABC en
tiempo real y streaming de datos.
Hacer que la aplicacin se
ejecute en SQL Server, adems
de Oracle.
Mountain Goat Software,
LLC
Gestin del Sprint Backlog
Los individuos eligen las tareas
El trabajo nunca es asignado
La 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 Software,
LLC
Ejemplo de Sprint Backlog
Tareas
Codificar UI
Codificar negocio
Testear negocio
Escribir ayuda online
Escribir la clase foo
L
8
16
8
12
8
M
4
12
16
8
M J
4
11
8
4
V
8
8
Agregar error logging
8
10
16
8
8
Mountain Goat Software,
LLC
Un Sprint Burndown Chart
H
o
u
r
s

Mountain Goat Software,
LLC
H
o
u
r
s

40
30
20
10
0
Mon Tue Wed Thu Fri
Tareas
Codificar UI
Codificar Negocio
Testear Negocio
Escribir ayuda online
L
8
16
8
12
M M J V
4
12
16
7
11
8
10
16 8
50
Mountain Goat Software,
LLC
Escalabilidad
Normalmente los equipos son de 7 2 personas
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 Software,
LLC
Expansin a travs de
Scrum de scrums
Mountain Goat Software,
LLC
Scrum de scrums de
scrums
Mountain Goat Software,
LLC
Donde seguir?
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
scrumdevelopment@yahoogroups.com
Mountain Goat Software,
LLC
Una lista de lecturas sobre Scrum
Agile and Iterative Development: A Managers Guide by
Craig Larman
Agile Estimating and Planning by Mike Cohn
Agile Project Management with Scrum by Ken Schwaber
Agile Retrospectives by Esther Derby and Diana Larsen
Agile Software Development Ecosystems by Jim Highsmith
Agile Software Development with Scrum by Ken Schwaber
and
Mike Beedle
Scrum and The Enterprise by Ken Schwaber
User Stories Applied for Agile Software Development by
Mike Cohn
Artculos semanales en www.scrumalliance.org
Mountain Goat Software,
LLC
Aviso de Copyright
Usted es libre de:
Compartir- copiar, distribuir y trasmitir el trabajo
Modificar- adaptar el trabajo
Bajo 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 Software,
LLC
Informacin de Contacto
Presentado por: Mike Cohn
mike@mountaingoatsoftware.co
m
www.mountaingoatsoftware.com
(720) 890-6110 (office)