Vous êtes sur la page 1sur 38

Una Introduccin a Scrum

Ernesto Grafeuille Noviembre 2008


Mountain Goat Software, LLC

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, pasando la pelota hacia adelante y hacia atrs -pueden servir mejor a los actuales requisitos competitivos".
Hirotaka Takeuchi and Ikujiro Nonaka, The New New Product Development Game, Harvard Business Review, January 1986.

Mountain Goat Software, LLC

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 autoorganizan 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 Software, LLC

Orgenes de Scrum


Jeff Sutherland
Scrums iniciales en Easel Corp en 1993 IDX 500 personas haciendo Scrum ADM Se presenta Scrum en OOPSLA 96 con Sutherland

Ken Schwaber

Autor de tres libros sobre Scrum


Patrones Scrum en PLOPD4 Fundaron conjuntamente la Scrum Alliance en 2002, inicialmente dentro de la Agile Alliance

Mike Beedle Ken Schwaber and Mike Cohn

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

Desarrollo de video juegos Sistemas crticos de soporte Sitios Web Software para Handheld Telfonos porttiles Aplicaciones de Network
switching Aplicaciones de ISV aplicaciones en uso

vital, aprobados por laFDA Software de control satelital

Aplicaciones certificadas ISO 9001


Sistemas Embebidos Sistemas con requisitos 7x24 y 99.999% de disponibilidad Joint Strike Fighter

Algunas de las ms grandes

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

Nivel de ruido de un proyecto


Lejos de Acuerdo

Anarqua Requisitos Complejo

Cerca de Certeza

Tecnologa

Mountain Goat Software, LLC

Lejos de Certeza

Cerca de Acuerdo

Simple

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

Scrum

24 horas

Objetivo del Sprint Sprint Backlog

Sprint 2-4 semanas

Return Gift wrap Cancel Product Backlog


Mountain Goat Software, LLC

Incremento del producto potencialmente entregable

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

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 Software, LLC

Scrum Framework
Roles

Product owner ScrumMaster Team Reuniones Sprint planning Sprint review Sprint retrospective Daily scrum meeting
Artefactos

Product backlog Sprint backlog Burndown charts


Mountain Goat Software, LLC

Scrum framework
Roles

Product owner ScrumMaster Team Reuniones Sprint planning Sprint review Sprint retrospective Daily scrum meeting
Artefactos

Product backlog Sprint backlog Burndown charts


Mountain Goat Software, LLC

Product Owner
Define las funcionalidades del producto Decide sobre las fechas y contenidos de Es responsable por la rentabilidad del Prioriza funcionalidades de acuerdo al Ajusta funcionalidades y prioridades en
Mountain Goat Software, LLC

los releases

producto (ROI)

valor del mercado/negocio

cada iteracin si es necesario

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

Scrum Framework
Roles

Product owner ScrumMaster Team

Reuniones

Sprint planning Sprint review Sprint retrospective Daily scrum meeting


Artefactos

Product backlog Sprint backlog Burndown charts


Mountain Goat Software, LLC

Capacidad del Equipo

Sprint Planning meeting


Priorizacin

Product Backlog Condicione s del Negocio Producto Actual

Analizar y evaluar el Product Backlog Seleccionar el objetivo del Sprint

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

Sprint Backlog

Tecnologa

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.


Mountain Goat Software, LLC

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)

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


Qu hiciste ayer? Qu vas a hacer hoy?

1 2

Hay obstculos en tu camino?

No es dar un status report al Scrum Master Se trata de compromisos delante de pares

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
Esto es slo una de las muchas maneras de hacer una retrospectiva.
Mountain Goat Software, LLC

Continuar haciendo

Scrum framework
Roles

Product owner ScrumMaster Team Reuniones Sprint planning Sprint review Sprint retrospective Daily scrum meeting
Artefactos

Product backlog Sprint backlog Burndown charts


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
Permitir que un invitado a hacer una reserva. Como invitado, quiero cancelar una reserva. Como invitado, quiero cambiar las fechas de una reserva.

Estimacin
3 5 3

Como un empleado de hotel, puedo ejecutar informes de los ingresos por habitacin disponible
Mejorar el manejo de excepciones

8 8

...
...
Mountain Goat Software, LLC

30
50

El objetivo del Sprint


Una breve declaracin de cual ser el foco
del trabajo durante el sprint
Ciencias Biolgicas

Aplicacin con B.Datos

Funciones de apoyo tcnico necesarios para estudios de gentica de poblaciones.

Hacer que la aplicacin se ejecute en SQL Server, adems de Oracle. Servicios Financieros
Soportar ms indicadores tcnicos que la empresa ABC en tiempo real y streaming de datos.
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 deGoat tiempo y subdividirla luego. Mountain Software,
LLC

Ejemplo de Sprint Backlog


Tareas
Codificar UI Codificar negocio Testear negocio Escribir ayuda online Escribir la clase foo Agregar error logging

L
8

M
4

M
8

J
4 11 8 4

16 8 12 8

12 16 8

10 16 8 8

8 8

Mountain Goat Software, LLC

Un Sprint Burndown Chart

Hours
Mountain Goat Software, LLC

Tareas
Codificar UI Codificar Negocio Testear Negocio Escribir ayuda online

L
8 16 8 12

M
4 12 16

M
8 10 16

J
7 11

50 40

Hours

30 20 10

Mon

Tue

Wed

Thu

Fri

Mountain Goat Software, LLC

Escalabilidad

Normalmente los equipos son de 7 2 personas

La escalabilidad proviene de equipos de equipos Tipo de aplicacin Tamao del equipo Dispersin del equipo Duracin del proyecto

Factores a tener cuenta

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



LLC

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,