Scrum Una Alternativa Ágil para el desarrollo de Software Clemir Rondón Ramón Gorrín Noviembre 2011
¿Metodologías agiles? ¿Qué es eso?
Metodologías y Ceremonias Fuente: Phillipe Kruchten
Manifiesto ágil www.agilemanifesto.org Individuos e interacciones sobre procesos y herramientas Software funcionando sobre documentación extensiva Colaboración con el cliente sobre negociación contractual Respuesta ante el cambio sobre seguir un plan
Scrum
Scrum Marco de trabajo en procesos agiles. Equipos auto-organizados El producto entregable se desarrolla en iteraciones cortas (2 – 4 semanas) Valor real del negocio Entregas frecuentes y regulares Software de alta calidad
Incremento de producto potencialmente entregable Modelo de Scrum Reunión diaria 24 horas Incremento de producto potencialmente entregable 2 – 4 semanas Pila de Sprint Pila de producto Sprint
Sprint Un cierto periodo de tiempo con entregables específicos. Duración: 2 – 4 semanas. Ni más ni menos. El producto es diseñado, codificado y probado durante el sprint. No hay cambios durante el sprint
Marco de trabajo de Scrum Roles Equipo Scrum Dueño del producto Scrum Master Ceremonias Planeación del Sprint Reunión diaria Scrum Revisión Sprint Retrospectiva de Sprint Artefactos Pila de Producto Pila de Sprint Gráfico Burndown
Roles
Equipo de Scrum Define las tareas y estima su esfuerzo Construye el producto que el cliente va a consumir Auto-organizado con un alto grado de autonomía y responsabilidad Multifuncional 4 – 9 personas
Dueño del producto Representa a todos los interesados en el proyecto Define las funcionalidades del producto según su visión. Decide fecha y contenido de las entregas Es responsable por la rentabilidad del producto Prioriza las funcionalidades según al valor del mercado Ajusta las funcionalidades y prioriza cada iteración, cuando es necesario Acepta / rechaza los resultados
Scrum Master Representa a la gestión del proyecto Es responsable que se cumplan los valores y las prácticas de Scrum Remueve obstáculos Evita interferencias Mantiene enfocado la meta del sprint Garantiza que el equipo es funcional y productivo
Ceremonias Planificación del Sprint Revisión del Sprint Reptrospectiva del Sprint Planificación del Sprint Duración del Sprint Diarias de Scrum
Planificación del Sprint Reunión de planificación Capacidad del equipo Dueño del producto Presenta y describe las funcionalidades de mayor valor. Aclara dudas y alcance Objetivo del Sprint Pila de producto priorizada Tecnología Equipo Scrum Decide cómo lograr el objetivo del sprint (diseño) Divide las funcionalidades de la pila de producto en tareas y las estima. Crea la pila del sprint a partir de la estimación y su capacidad Pila del Sprint Producto actual El dueño del producto presenta las historias de mayor prioridad El equipo selecciona las historias que comprenderán el Sprint, estimándolas y las dividiendolas en tareas. El dueño del producto y el equipo definen el objetivo del sprint y crean la pila de Sprint. Condiciones del negocio
Reunión de Scrum diaria Equipo Scrum completo 15 minutos máximos de pie para responder: ¿Qué hice ayer? ¿Qué hare hoy? ¿Tengo algún problema?
Revisión del Sprint El equipo presenta lo que logró durante el Sprint. Demo de las nuevas funcionalidades desarrolladas. Informal (sin diapositivas) Se invita a todos los interesados Acepta / rechaza los resultados En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto.
Retrospectiva del Sprint El equipo completo discute los resultados del último Sprint. ¿Qué comenzar a hacer? ¿Qué dejar de hacer? ¿Qué seguir haciendo? El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad.
Artefactos
Pila de producto Requisitos de alto nivel del producto Lista de qué hacer priorizada por el dueño del producto. Expresado tal y como cada requisito tiene valor para el usuario o el cliente. Siempre se espera cambiar y evolucionar.
Pila de Sprint Es el resultado de dividir las funcionalidades de la pila de producto en tareas asignables. Es responsabilidad del equipo. El equipo se auto-asigna el trabajo.
Gráficos burndown Un gráfico de trabajo pendiente a lo largo del tiempo muestra la velocidad a la que se está completando los objetivos/requisitos.
Efectos de adoptar Scrum Manejo de la incertidumbre Alcance flexible Entregas más rápidas Calidad incrementada Visibilidad incrementada Productividad incrementada Basura eliminada
Pre-requisitos Disciplina Coraje Pasión Cliente disponible Multi-funcional Resistencia Autonomía Responsabilidad
Importante No tiene prácticas de ingeniería Parece simple, pero es duro No es una bala de plata No es completa Toma tiempo
Conclusiones La adopción de metodologías ágiles no es una tarea sencilla como muchos pueden creer. Scrum ofrece un modelo para grupos auto-gestionados y disciplinados. La aplicación de Scrum persigue rápida puesta en marcha sin obviar los procesos relativos a calidad y documentación.
Gracias por su Atención mail: ramon. gorrin@gmail Gracias por su Atención mail: ramon.gorrin@gmail.com Twitter:@rgorrin Blog: www.ramongorrin.com