introduccion a scrum
DESCRIPTION
Pequeña introduccion a SCRUMTRANSCRIPT
Scrum
DY
"Los buenos programadores usan sus cerebros, pero unas buenas directrices
nos ahorran de tener que hacerlo en cada caso"
-- Francis Glassborow
DY
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
DY
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
JK
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 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
Esto es, aunque valoramos los elementos de la derecha,valoramos más los de la izquierda.
Manifiesto Ágil
JK
1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
12 Principios
JK
5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
7. El software funcionando es la medida principal de progreso.
8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
12 Principios
JK
9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
10.La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
11.Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
12.A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
12 Principios
JK
“Una documentación voluminosa es parte del
problema, no de la solución” -- Tom DeMarco
JK
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
JK
Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software.
¿Qué es Scrum?
JK
Su atención se centra en una estrategia flexible y holística de desarrollo de productos, donde un equipo de desarrollo trabaja como una unidad para alcanzar un objetivo común frente a un enfoque tradicional, secuencial.
¿Qué es Scrum?
“El Arte de Amar los Lunes”.
Alan Cyment
JK
•Scrum es un proceso ágil que nos permite centrarnos en ofrecer el más alto valor de negocio en el menor tiempo.
•Nos permite rápidamente y en repetidas ocasiones inspeccionar software real de trabajo (cada dos semanas o un mes).
•El negocio fija las prioridades. Los equipos se auto-organizan a fin de determinar la mejor manera de entregar las funcionalidades de más alta prioridad.
•Cada dos semanas o un mes, cualquiera puede ver el software real funcionando y decidir si liberarlo o seguir mejorándolo en otro sprint.
Y en Resumen ¿Qué es Scrum?
JK
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
JK
El concepto de Scrum tiene su origen en un estudio de 1986 sobre los nuevos procesos de desarrollo utilizados en productos exitosos en Japón y los Estados Unidos.
Los equipos que desarrollaron estos productos partían de requisitos muy generales, así como novedosos, y debían salir al mercado en mucho menos del tiempo del que se tardó en lanzar productos anteriores.
Historia
JK
Estos equipos seguían patrones de ejecución de proyecto muy similares. En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboración entre los jugadores de Rugby y su formación de Scrum
Historia
JK
En 1993 se realizó el primer Scrum para desarrollo de software y en 1995 el proceso fue formalizado. En 2001 un grupo de personas muy relevantes en lo que empezaba a ser el desarrollo ágil escribieron los valores fundamentales de los procesos ágiles.
Historia
JK
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
DY
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto.
Es indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
Características
DY
Scrum también se utiliza para resolver situaciones en que las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente.
Características
DY
Equipos auto-organizadosEl producto avanza en una serie de
“Sprints" de dos semanas a un mes de duración
Los requisitos son capturados como elementos de una lista de “Product Backlog"
No hay prácticas de ingeniería prescritasUtiliza normas generativas para crear un
entorno ágil para la entrega de proyectosUno de los “procesos ágiles”
Características
DY
Beneficios de Scrum
Cómo se consiguen
Gestión regular de las expectativas del cliente
Lista de requisitos priorizada
Demostración de los resultados de proyecto en cada iteración
Resultados anticipados (“time to market”)
Priorización de requisitos por valor y coste
Flexibilidad y adaptación Re-planificación en el inicio de cada iteración
Retorno de inversión (ROI)Priorización de requisitos por valor
Mitigación de riesgos Desarrollo iterativo e incremental
Productividad y calidad Mejora continuaComunicación diaria del equipoTimeBoxingEquipo multidisciplinarEstimación de esfuerzo conjuntaCompromiso del equipoDemostración de resultados preparados para ser utilizados Cliente y equipo trabajando “en equipo”
Equipo motivado Equipo auto-gestionadoDemostración
DY
"Unas buenas especificaciones incrementará la productividad del
programador mucho más de lo que puede hacerlo cualquier herramienta
o técnica" -- Milt Bryce
DY
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
JD
Sprint
En Scrum los proyectos avanzan en una serie de “Sprints” Análogo a las iteraciones en XP
La duración típica es 2–4 semanas o a lo sumo un mes calendario
La duración constante conduce a un mejor ritmo
El product es diseñado, codificado y testeado durante el Sprint
JD
Desarrollo secuencial vs. superpuesto
En lugar de hacer todo de una cosa a la vez ...
...los equipos Scrum hacen un poco de todo todo el tiempo
Requisitos Diseño Código Test
JD
Para esta actividad hacer equipos de 6 personas mientras los moderadores plantean la dinámica del juego.
El juego consiste en 2 fases, donde se tiene que cumplir un requisito, desde la perspectiva de 2 empresas.
Al final los integrantes deberán sacar las conclusiones del juego.
Actividad – El juego del nombre
JK
Toma de requisitos al cliente.
1. Para cada requisito principal se crea un bloque de trabajo, llamado historia.
El cliente ordena los bloques de trabajo en una pila de producto según su prioridad de entrega.
El equipo de trabajo toma un grupo de historias, con el que trabajan durante una iteración o sprint.
Una vez finalizado un sprint entregan al cliente el resultado del trabajo. Se vuelve al punto 2º hasta terminar la pila de producto. Page 28
Requisitos y Sprint
JD
Enfoque Iterativo Vs Orgánico
JD
Ciclo de Vida
JD
“Hacer lo simple complicado es bastante corriente; hacer lo complicado simple, sorprendentemente simple, eso
es la creatividad” -- Charles Mingus
JD
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
D
Framework
•Product owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Reuniones
•Product backlog•Sprint backlog•Burndown charts
Artefactos
D
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
D
Hay dos categorías Pig (Comprometido) Chicken (Involucrado) (esto se cambio en el 2011 Ahora, la guía hace referencia
a “la organización”, “los empleados” y “las partes interesadas” en lugar de cerdos y pollos.)
Roles
D
Roles cerdo: Product Owner: responsable de que el desarrollo
iterativo del producto va cumpliendo las necesidades del cliente.
Equipo de desarrollo: el equipo encargado de desarrollar el producto
Scrum Master: encargado de que el proceso Scrum se realiza correctamente.
Roles gallina: Usuarios de la aplicación Clientes Managers
Roles
D
Define las funcionalidades del producto
Decide sobre las fechas y contenidos de los releases
Es responsable por la rentabilidad del producto (ROI)
Prioriza funcionalidades de acuerdo al valor del mercado/negocio
Ajusta funcionalidades y prioridades en cada iteración si es necesario
Acepta o rechaza los resultados del trabajo del equipo
Product Owner
D
Representa a la gestión del proyecto Responsable de promover los
valores y prácticas de Scrum Remueve impedimentos Se asegura de que el equipo es
completamente funcional y productivo
Permite la estrecha cooperación en todos los roles y funciones
Escudo del equipo de interferencias externas
Scrum Master
D
Típicamente de 5 a 9 personasMulti-funcional:
◦ Programadores, testers, analistas, diseñadores, etc.
Los miembros deben ser full-time◦ Puede haber excepciones (Ej.:
Infraestructura, SCM, etc.)Los equipos son auto-organizativos
◦ Idealmente, no existen títulos pero a veces se utilizan de acuerdo a la organización
Solo puede haber cambio de miembros entre los sprints
Scrum Team
D
“Incluir trabajadores en un proyecto retrasado hará que
éste avance aún más lentamente” -- Ley de Brooks
D
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
C
Reuniones – Sprint Planning
Sprint Planning meeting
Priorización
• Analizar y evaluar el Product Backlog
• Seleccionar el objetivo del Sprint
Planificación
• Decidir como alcanzar el objetivo del Sprint (diseño)
• Crear el Sprint Backlog (tareas) en base a los temas del Product Backlog (user stories / features)
• Estimar Sprint Backlog en horas
Objetivo del SprintObjetivo del Sprint
SprintBacklogSprintBacklog
Condiciones del NegocioCondiciones del Negocio
Capacidad del EquipoCapacidad del Equipo
Product BacklogProduct Backlog
TecnologíaTecnología
Producto ActualProducto Actual
C
El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:
Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.
Reuniones – Sprint Planning
C
Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del equipo inspecciona el trabajo que el resto está realizando
En la reunión cada miembro del equipo responde a tres preguntas:
¿Qué he hecho desde la última reunión de sincronización?
¿Qué voy a hacer a partir de este momento?
¿Qué impedimentos tengo o voy a tener?
Reuniones – Daily Scrum
C
El equipo presenta lo realizado durante el sprint
Normalmente adopta la forma de una demo de las nuevas características o la arquitectura subyacente
Informal◦ Regla de 2 hs preparación
◦ No usar diapositivas
Todo el equipo participaSe invita a todo el mundo
Reuniones – Sprint Review
C
Periódicamente, se echa un vistazo a lo que funciona y lo que no
Normalmente 1 hora Se realiza luego de cada
sprint Todo el equipo participa
ScrumMaster Product owner Equipo Posiblemente clientes y otros
Reuniones – Sprint Retrospective
C
“Si tu proyecto no funciona, busca en la parte que no pensaste que
fuera importante“ -- Arthur Bloch
C
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
DY
Son el resultado de trabajo parcial o final que es producido y usado durante un proyecto. Los artefactos son usados para capturar y llevar la información del proyecto.
Un artefacto puede ser:
Un documento: como un Caso de Negocio o un documento de la arquitectura del Software.Un modelo: como un modelo de caso de uso.Un elemento de un modelo: como una sola clase de todo el Diagrama de Clases.
Artefactos
DY
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 Se aplica PARETO (el 20% de las
historias de usuario cumplen con el 80% de las necesidades del P.O.
Artefactos – Product BackLog
DY
Una breve declaración de cual será el foco del trabajo durante el sprint.
Lista de tareas que el equipo elabora en la reunión de planificación de la iteración (Sprint planning) como plan para completar los objetivos/requisitos seleccionados para la iteración y que se compromete a demostrar al cliente al finalizar la iteración, en forma de incremento de producto preparado para ser entregado.
Artefactos – Spring Backlog
DY
Es recomendable, que el propietario del producto emplee una hoja de cálculo, alguna herramienta similar, o el soporte de una intranet, para guardar en formato digital la pila del producto.
Pero no es aconsejable emplearla como base para trabajar sobre ella en la reunión proyectándola sobre la pantalla de la sala.
Es mucho mejor trabajar y manipular elementos físicos; y usar una pizarra y fichas removibles (adhesivas, con chinchetas o magnéticas).
Artefactos-Seguimiento
DY
Artefactos – Scrum TaskBoard
DY
AGENDA
Manifiesto Ágil 12 Principios
¿Que es Scrum? Y en resumen ¿Qué es
Scrum?
Historia
Características Beneficios
Sprint Desarrollo Secuencial vs
Superpuesto Actividad 1 Requisitos y Sprint Enfoque Iterativo vs Organico Ciclo de Vida
Framework
Roles Product Owner Scrum Master Team
Reuniones Sprint Planning Daily Scrum Meeting Sprint Review Sprint Retrospective
Artefactos Product BackLog Sprint Backlog Scrum Blackboard
Actividad 2
JK
Cada persona, saque una hoja y un lápiz o lapicero.
Siga las recomendaciones del moderador.
Actividad 2 – Actividad de Memoria
JK
"No puedes crear un gran software sin un gran equipo, y la mayoría de
los equipos de desarrollo se comportan como familias
disfuncionales"-- Jim McCarthy
JK
¿Preguntas?
http://www.scrum.org/Resources
http://www.proyectosagiles.org
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
www.scrum.org
Lecturas Recomendadas
http://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scrum_Guide%202011%20-%20ES.pdf#zoom=100
Schwaber, Ken; Beedle, Mike (2002). Agile software development with Scrum. Prentice Hall. ISBN 0-13-067634-9.
Schwaber, Ken (Febrero 2004). Agile Project Management with Scrum. Microsoft Press. ISBN 978-0-7356-1993-7.
Cohn, Mike (Noviembre 2009). Succeeding with Agile: Software Development Using Scrum. ADDISON-WESLEY PROFESSIONAL. ISBN 978-8-1317-3226-7
http://agilemanifesto.org/iso/es/
Bibliografia
http://www.scrummanager.net/blog/wp-content/uploads/2011/12/Multitasking-Name-Game_ESP.pdf
http://www.scrummanager.net/blog/2013/03/imagenes-en-equipo-ejercicio-para-formacion-de-equipos-agiles/
Actividades