SCRUMCon 2 huevos y 1 patata
Borja García@borjavalle
#con2huevosy1patataSCRUM
María Navas@marianavast
Ignacio Carcas@icarcasalda
Patricia Moreno@pmoperez
2
¿Quiénes somos?
www.hiberus.com
Aragonesa
2012, 3 empresas
Más de 350 profesionales
Hiberus Tecnología
3
¿Qué vamos a hacer?
① Agilidad② ¿Qué es SCRUM?③ Roles④ Artefactos⑤ Eventos⑥ Herramientas gráficas
Guión
Objetivo
Entender y aprender a aplicar SCRUM
2h + ½h + 2h
6
“Agilidad es la capacidad de crear y responder al cambio con el fin de obtener ganancias en un entorno empresarial turbulento.”
Jim Highsmith, uno de los creadores del Manifiesto Ágil
7
Manifiesto Ágil, marzo 2001
“Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar”:
Individuos e iteraciones procesos y herramientas
Software funcionando documentación extensiva
Colaboración con el cliente negociación contractual
Respuesta ante el cambio seguir un plan
Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda.
http://agilemanifesto.org/
8
Manifiesto Ágil, marzo 2001
1 Satisfacer al cliente2 Aceptar cambios3 Entregas frecuentes4 Trabajar como equipo5 Motivación6 Cara a cara7 Software que funciona8 Desarrollo sostenido9 Excelencia técnica10 Simplicidad11 Equipos auto-organizados12 Retrospectiva
Postulados:
http://agilemanifesto.org/
10
¿Qué es SCRUM? Definición
SCRUM es un marco de trabajo que define un conjunto de reglas y roles para la gestión y el desarrollo de proyectos.
11
¿Qué es SCRUM?: Un poco de historia…
Ikujiro Nonka e Hirotaka Takeuchi. Principios 80’s
Ken Schwaber & Jeff Sutherland: “SCRUM Development Process”
OOPSLA 95
12
¿Qué es SCRUM?: Principios
Base empírica
Transparencia: todo lo que afecta al resultado del trabajo debe ser conocido y visible para todo el mundo.
Inspección: es necesario realizar un seguimiento de la evolución del trabajo para detectar desviaciones con respecto a lo previsto.
Adaptación: en el momento en el que se detecta alguna desviación o se tienen indicios de que esta se puede producir, es necesario actuar en consecuencia para adaptarse a las nuevas circunstancias.
13
¿Qué es SCRUM?: Características
Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.
Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos auto-organizados, que en la calidad de los procesos empleados.
Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras otra en un ciclo secuencial o de cascada.
Diferencias frente predictiva
14
¿Qué es SCRUM?: Beneficios
Flexibilidad y adaptación
Gestión de las expectativas del cliente
Resultados anticipados
Mayor calidad del software
Gestión del retorno de la inversión
Reducción de riesgos
17
Roles
Propietario del producto
Representa al cliente y su responsabilidad es el valor del producto.
Decide en última instancia el resultado del producto final y el orden en el que se van construyendo los sucesivos incrementos.
Conoce el plan de producto, sus posibilidades y plan de inversión, así como el retorno esperado a la inversión realizada, y se responsabiliza sobre fechas y funcionalidades.
18
Roles
Equipo de desarrollo
Son los encargados de llevar a cabo el desarrollo
Auto-organizado
Multidisciplinar
Se recomienda entre 4 y 8 personas
19
Roles
Scrum Máster
Responsable de la buena aplicación de las reglas de SCRUM
Moderador de reuniones
Facilitador o eliminador de obstáculos
20
Roles
Interesados
Clientes, usuarios, expertos en negocio, etc.
Sugerencias y asesoramiento
Retro-alimentación
21
Roles
Comprometidos
Propietario de producto
Equipo de desarrollo
Implicados
Interesados
Scrum Máster *
24
Proyecto: Tortilla de patatas
Propietario del producto
Scrum Master
Equipo desarrollo
PRODUCTO
ROLES
25
Proyecto: Tortilla de patatas
5 PERSONAS
3 HUEVOS
TORTILLA DE PATATA
• Tortilla típica• Esponjosa• Natural que
recuerde a casa.
• Que el huevo
conserve sus propiedades de sabor, color y aroma
REQUISITOS DEL CLIENTE
HISTORIAS DE USUARIO (QUIÉN, QUÉ Y PARA QUÉ)
Toma de requisitos
27
Artefactos
Pila de producto
Lista de funcionalidades, mejoras, corrección de errores, etc.
Estimadas y priorizadas
Documento dinámico, vivo, en continua evolución
Gestionada por el propietario del producto
Todos pueden contribuir
29
Proyecto: Tortilla de patatas
PREPARAR PATATAS
COMPRAR INGREDIENTES
BATIR HUEVOS MEZCLAR
HACER TORTILLA
Elaborar pila de producto
30
Artefactos
Pila de sprint
Subconjunto de funcionalidades de la pila de producto comprometidas por el equipo de desarrollo
Funcionalidades descompuestas en tareas. Las tareas grandes (más de 16h) se descomponen en otras más pequeñas
Monitorización del avance basado en el trabajo restante
Gestionada por el equipo de desarrollo
Visible por todo el equipo
32
Proyecto: Tortilla de patatas
Pila de sprint
Estimación ID Descripción Prioridad2,5 1 Comprar patatas Muy alta2,5 10 Comprar huevos Muy alta2,5 11 Comprar aceite Muy alta2,5 12 Comprar sal Muy alta
5 2 Pelar patatas Alta10 3 Cortar patatas Alta20 4 Freír patatas Muy alta
5 5 Batir huevos Muy alta2 6 Echar sal Media2 7 Añadir patatas y mezclar Media2 8 Calentar aceite sartén Alta
20 9 Hacer tortilla en sartén Muy alta
33
Artefactos
Incremento
Parte de producto resultado del desarrollo de un Sprint
Potencialmente entregable, terminada y probada
En condiciones de ser usada por el cliente
No es un prototipo, módulo o parte pendiente de integración
37
Eventos
Reunión de planificación del Sprint
Antes de comenzar un nuevo Sprint
Propietario del producto, equipo de desarrollo, Scrum Máster e Interesados si lo desean
Se escoge el trabajo a realizar en el Sprint
Se genera la pila de Sprint con las tareas detallas y el tiempo que costará llevarlas a cabo
Fijar duración del Sprint y fecha de la reunión de revisión
Como mucho una jornada de trabajo (8h)
38
Artefactos
Sprint
Periodo en el cual se desarrollan las tareas de la Pila de Sprint
Duración pre-fijada y constante (se recomienda entre 2 y 4 semanas)
El resultado obtenido es un producto potencialmente entregable al cliente
También conocido como iteración
40
Proyecto: Tortilla de patatas
OBJETIVO: Tener listos todos los ingredientes DURACIÓN: 1 día ENTREGABLE: Los ingredientes preparados
SPRINT 1
Estimación ID Descripción Prioridad Dia Persona2,5 1 Comprar patatas Muy alta D1 P12,5 10 Comprar huevos Muy alta D1 P12,5 11 Comprar aceite Muy alta D1 P12,5 12 Comprar sal Muy alta D1 P1
Sprint
41
Eventos
Reunión diaria
Todos los días, misma hora, mismo sitio (se recomienda de pie)
Equipo de desarrollo y Scrum Máster
Se expone: trabajo realizado ayer, trabajo para hoy y posibles problemas
Responsabilidad del equipo de desarrollo
Se actualiza la Pila de Sprint
Máximo 15 minutos
43
Proyecto: Tortilla de patatas
Comprar patatas
Comprar sal
Comprar aceite
Comprar huevos
Reunión diaria
44
Eventos
Reunión de revisión del Sprint
Al final de cada Sprint
Propietario del producto, equipo de desarrollo, Scrum Máster e Interesados si lo desean
Se comprueba el Incremento desarrollado (“hecho” y “no hecho”)
Retro-alimentación para revisar la Pila de Producto
Fijar fecha próxima reunión de Planificación de Sprint
No más de 4 horas
46
Proyecto: Tortilla de patatas
La tortilla es con cebolla
Actualizar pila de producto
Revisión del sprint
Estimación ID Descripción Prioridad2,5 1 Comprar patatas Muy alta2,5 10 Comprar huevos Muy alta2,5 11 Comprar aceite Muy alta2,5 12 Comprar sal Muy alta
5 2 Pelar patatas Alta10 3 Cortar patatas Alta30 4 Freír patatas y cebolla Muy alta
5 5 Batir huevos Muy alta2 6 Echar sal Media2 7 Añadir patatas y mezclar Media2 8 Calentar aceite sartén Alta
20 9 Hacer tortilla en sartén Muy alta2,5 13 Comprar cebolla Alta10 14 Cortar cebolla Alta
47
PROYECTO: TORTILLA DE PATATA
OBJETIVO: Precocinar todo lo necesario DURACIÓN: 2 días ENTREGABLE: Los ingredientes precocinados
PILA DE SPRINT 2:
Planificación de sprint
Estimación ID Descripción Prioridad Dia Persona2,5 13 Comprar cebolla Muy alta Dia 1 P1
5 2 Pelar patatas Alta Dia 2 P210 3 Cortar patatas Alta Dia 2 P210 14 Cortar cebolla Alta Dia 2 P230 4 Freír patatas y cebolla Muy alta Dia 2 P3
48
PROYECTO: TORTILLA DE PATATA
OBJETIVO: Cocinar la tortilla DURACIÓN: 1 día ENTREGABLE: Entregable final
PILA DE SPRINT 3:
Planificación de sprint
Estimación ID Descripción Prioridad Dia Persona5 5 Batir huevos Muy alta D1 P22 6 Echar sal Media D1 P22 7 Añadir patatas y mezclar Media D1 P32 8 Calentar aceite sartén Alta D1 P2
20 9 Hacer tortilla en sartén Muy alta D1 P3
49
Eventos
Reunión de retrospectiva del Sprint
Tras la revisión del Sprint y antes de la planificación del nuevo Sprint
Equipo de desarrollo y Scrum Máster
Auto-análisis, identificar fortalezas y debilidades
El propósito es mejorar la forma de trabajar
De 1 a 3 horas
51
PROYECTO: TORTILLA DE PATATA
La tortilla más esponjosa
Fortalezas y debilidades
Reunión de retrospectiva del Sprint
Batir los huevos más
A fuego más lento
Punto de cocinado
53
Herramientas de monitorización
Gráfico de avance
Monitoriza el ritmo de avance del Sprint
Detección temprana de posibles desviaciones
Se basa en la medición del esfuerzo restante
Se actualiza diariamente con la información de la Pila del Sprint
54
Herramientas de monitorización
Kanban
https://www.youtube.com/watch?v=I-H-WXAX_oM (3,40’)
55
Contacto
@borjavalle
@marianavast
@icarcasalda
@pmoperez