Introducción a Scrum

23
Introducción a Scrum

description

Introducción básica a Scrum, la metodología de desarrollo de software ágil. Usamos esta presentación como primer paso para inducir a nuevos miembros del equipo a nuestra manera de trabajar.

Transcript of Introducción a Scrum

Page 2: Introducción a Scrum

Manifiesto por el Desarrollo Ágil de Software

Estamos descubriendo formas mejores de desarrollar software tanto haciéndolo nosotros mismos como ayudando a otros. A través de este trabajo hemos aprendido a valorar:

• Individuos e interacciones sobre procesos y herramientas

• Software funcionando sobre documentación extensiva

• Colaboración con el cliente sobre negociación de contratos

• Responder ante el cambio sobre seguir un plan

Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.

http://agilemanifesto.org

Page 3: Introducción a Scrum

Metodologías de Desarrollo Ágil

Universo Ágil

Scrum eXtreme

Programming Crystal Orange

Dynamic Systems Development Method

Page 5: Introducción a Scrum

Scrum • Roles

• Artefactos

• Ceremonias

Page 6: Introducción a Scrum

Roles en Scrum

• Dueño del Producto (Product Owner)

• Equipo de Desarrollo

• ScrumMaster

Page 7: Introducción a Scrum

Dueño del Producto (Product Owner - PO)

• Tiene la visión de lo que el producto debe ser

• Define la funcionalidad del producto

• Prepara la lista del backlog del producto

• Asigna prioridad a la funcionalidad para decidir en qué Sprint se construye

• Es el único que puede cambiar la funcionalidad y/o su prioridad

• Aprueba o rechaza el trabajo completado por el equipo

Page 8: Introducción a Scrum

Equipo de Desarrollo

• Los miembros del equipo se auto-organizan para completar el trabajo, no dependen de un líder de proyecto

• El equipo es multidisciplinario, tienen todas las habilidades necesarias para completar el proyecto

• Trabajan juntos, en un espacio abierto

• Estiman y predicen cuáles elementos del backlog pueden completar dentro de un Sprint, y cuáles no

Page 9: Introducción a Scrum

Interacción entre el PO y el Equipo

• El equipo dedica 5-10% del tiempo del Sprint para reunirse con el PO a planear y estimar

• El PO participa en la reunión de Scrum diaria, pero no debe intervenir con los planes del equipo o del Sprint

• El PO está disponible para contestar preguntas del equipo diariamente, se asegura de que el equipo comprende cada una de las historias de usuario

• El PO inspecciona el trabajo y evalúa la calidad de los productos entregados por el equipo

Page 10: Introducción a Scrum

ScrumMaster

• Responsable de que el equipo sea y se mantenga funcional y productivo

• Facilita la colaboración entre todos los roles y ayuda a eliminar barreras que impidan o dificulten el progreso del equipo

• Escuda al equipo de interferencias externas

• Es responsable de que el equipo y los participantes externos se adhieran al proceso Scrum

• Captura y da seguimiento a la lista de barreras e impedimentos

Page 11: Introducción a Scrum

Flujo Scrum

Sprint

Page 12: Introducción a Scrum

Artefactos de Scrum

• Backlog del Producto • Historia de Usuario • Backlog del Sprint • Gráfica de Progreso (Burndown

Chart)

Page 13: Introducción a Scrum

Backlog del Producto

• Es la lista de funcionalidad (expresada como Historias de Usuario) del producto completo

• Conforme avanza el proyecto se le añaden tareas del proyecto y defectos (bugs) del software

• Está ordenado por orden de prioridad, donde los elementos de mayor prioridad están al principio de la lista

• Cada elemento tiene una estimación • Los elementos de mayor prioridad son los que se analizan

en detalle primero (por lo que la estimación de los elementos de más prioridad suele ser más acertada que la de los otros elementos)

• Cualquier miembro del equipo puede agregar elementos al backlog del producto (pero solo el PO puede prioritizarlos)

• Se mantiene visible a todo el equipo • La primera versión se desarrolla al inicio del proyecto

Page 14: Introducción a Scrum

Historia de Usuario

Qué es una historia de usuario? Una historia de usuario describe una pieza de

funcionalidad que es de valor a un usuario o comprador del producto

Una historia de usuario tiene tres componentes: • Narrativa: define quién es el usuario, qué funcionalidad es la que

necesita y porqué – Como un <tipo de usuario>, quiero <un objetivo> para que <una razón>

• Conversaciones: que el equipo tiene con el PO para entender los detalles sobre la historia

• Criterios de Aceptación: tests que ayudan a confirmar que la historia de usuario está completa

Page 15: Introducción a Scrum

Backlog del Sprint

• Compuesto de las tareas necesarias para convertir en software funcional aquellos elementos del Backlog del Producto que se seleccionaron para un Sprint

• Se hace una estimación para determinar cuantas y cuáles elementos del Backlog del Producto pueden incluirse en el Sprint

• Los miembros del equipo seleccionan las tareas que van a completar, no son asignadas a ellos

• Diariamente se actualiza la cantidad de trabajo restante estimada

Page 16: Introducción a Scrum

Burndown Chart Ayuda a ver “cómo vamos” en un Sprint (y en el proyecto)

0

20

40

60

80

100

120

140

160

180

200

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Un

idad

es

de

Tra

baj

o (

ho

ras,

pn

tos,

etc

.)

Días

Burndown Chart(Gráfica de Progreso)

Velocidad Planeada

Trabajo Restante

Page 17: Introducción a Scrum

Qué significa?

0

20

40

60

80

100

120

140

160

180

200

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Un

idad

es

de

Tra

baj

o (

ho

ras,

pn

tos,

etc

.)

Días

Burndown Chart(Gráfica de Progreso)

VelocidadPlaneada

TrabajoRestante

0

20

40

60

80

100

120

140

160

180

200

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Un

idad

es

de

Tra

baj

o (

ho

ras,

pn

tos,

etc

.)

Días

Burndown Chart(Gráfica de Progreso)

VelocidadPlaneada

TrabajoRestante

• Vamos más lentos de lo esperado • Sabemos por qué? • Podemos corregir la tendencia? • O quizás debamos sacar cosas del

backlog del Sprint

• Vamos más rápido de lo esperado • Sabemos por qué? • Va a seguir así la tendencia? • Podemos agregar cosas al

backlog del Sprint?

Page 18: Introducción a Scrum

Ceremonias de Scrum

• Planeación del Sprint • Reunión de Scrum Diaria • Revisión del Sprint • Retrospectiva del Sprint

Page 19: Introducción a Scrum

Planeación del Sprint

La reunión de Planeación del Sprint incluye al Dueño del Producto (PO), al ScrumMaster, al equipo de desarrollo completo y a representantes de la gerencia o el cliente que estén interesados.

• Definir el objetivo del Sprint

• Seleccionar los elementos del backlog del producto a incluir en el Sprint

• Identificar las tareas necesarias para completar los elementos del backlog seleccionados

• Estimar las tareas

• Re-priorizar, re-estimar, dividir elementos del backlog en sub-elementos

• Estimar la Velocidad del equipo

Page 20: Introducción a Scrum

Reunión de Scrum Diaria

• Reunión diaria de 15 minutos para compartir status individual al resto del equipo – no es un reporte de progreso al ScrumMaster

• Cada miembro del equipo da respuesta a 3 preguntas:

• Qué hice desde la última reunión de Scrum diaria?

• Qué voy a hacer y terminar antes de la próxima reunión?

• Qué obstáculos o barreras me obstruyen el camino?

Page 21: Introducción a Scrum

Revisión del Sprint

• Esta reunión se tiene al final del Sprint

• El equipo hace una demostración al PO de la funcionalidad que se completó durante el Sprint

• El PO aplica los criterios de aceptación a cada elemento del backlog para determinar si lo acepta o rechaza

• Los elementos del backlog del Sprint que son rechazados se regresan al backlog del Producto

• Otros interesados en el proyecto pueden asistir a esta reunión

• Se evalúa si se cumplió con el objetivo del Sprint (aunque algunos elementos del backlog del Sprint no se hayan terminado)

Page 22: Introducción a Scrum

Retrospectiva del Sprint

• Reunión al final de cada Sprint para encontrar oportunidades de mejora a procesos

• Se analiza:

• Qué cosas salieron bien

• Qué cosas salieron mal

• Qué cosas podríamos mejorar

• El equipo propone soluciones para los problemas más críticos

Page 23: Introducción a Scrum

Quieres saber más?

• Tenemos más materiales sobre el desarrollo de software ágil en:

www.scio.com.mx