Introducción a Scrum
-
Upload
luis-aburto -
Category
Technology
-
view
534 -
download
0
description
Transcript of 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
Metodologías de Desarrollo Ágil
Universo Ágil
Scrum eXtreme
Programming Crystal Orange
Dynamic Systems Development Method
Roles en Scrum
• Dueño del Producto (Product Owner)
• Equipo de Desarrollo
• ScrumMaster
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
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
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
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
Artefactos de Scrum
• Backlog del Producto • Historia de Usuario • Backlog del Sprint • Gráfica de Progreso (Burndown
Chart)
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
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
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
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
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?
Ceremonias de Scrum
• Planeación del Sprint • Reunión de Scrum Diaria • Revisión del Sprint • Retrospectiva del Sprint
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
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?
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)
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
Quieres saber más?
• Tenemos más materiales sobre el desarrollo de software ágil en:
www.scio.com.mx