Introduccion a Scrum

60
Scrum DY

description

Pequeña introduccion a SCRUM

Transcript of Introduccion a Scrum

Page 1: Introduccion a Scrum

Scrum

DY

Page 2: Introduccion a Scrum

"Los buenos programadores usan sus cerebros, pero unas buenas directrices

nos ahorran de tener que hacerlo en cada caso"

-- Francis Glassborow

DY

Page 3: Introduccion a Scrum

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

Page 4: Introduccion a Scrum

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

Page 5: Introduccion a Scrum

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

Page 6: Introduccion a Scrum

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

Page 7: Introduccion a Scrum

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

Page 8: Introduccion a Scrum

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

Page 9: Introduccion a Scrum

“Una documentación voluminosa es parte del

problema, no de la solución” -- Tom DeMarco

JK

Page 10: Introduccion a Scrum

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

Page 11: Introduccion a Scrum

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

Page 12: Introduccion a Scrum

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

Page 13: Introduccion a Scrum

•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

Page 14: Introduccion a Scrum

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

Page 15: Introduccion a Scrum

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

Page 16: Introduccion a Scrum

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

Page 17: Introduccion a Scrum

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

Page 18: Introduccion a Scrum

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

Page 19: Introduccion a Scrum

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

Page 20: Introduccion a Scrum

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

Page 21: Introduccion a Scrum

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

Page 22: Introduccion a Scrum

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

Page 23: Introduccion a Scrum

"Unas buenas especificaciones incrementará la productividad del

programador mucho más de lo que puede hacerlo cualquier herramienta

o técnica" -- Milt Bryce

DY

Page 24: Introduccion a Scrum

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

Page 25: Introduccion a Scrum

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

Page 26: Introduccion a Scrum

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

Page 27: Introduccion a Scrum

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

Page 28: Introduccion a Scrum

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

Page 29: Introduccion a Scrum

Enfoque Iterativo Vs Orgánico

JD

Page 30: Introduccion a Scrum

Ciclo de Vida

JD

Page 31: Introduccion a Scrum

“Hacer lo simple complicado es bastante corriente; hacer lo complicado simple, sorprendentemente simple, eso

es la creatividad” -- Charles Mingus

JD

Page 32: Introduccion a Scrum

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

Page 33: Introduccion a Scrum

Framework

•Product owner•ScrumMaster•Team

Roles

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Reuniones

•Product backlog•Sprint backlog•Burndown charts

Artefactos

D

Page 34: Introduccion a Scrum

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

Page 35: Introduccion a Scrum

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

Page 36: Introduccion a Scrum

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

Page 37: Introduccion a Scrum

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

Page 38: Introduccion a Scrum

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

Page 39: Introduccion a Scrum

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

Page 40: Introduccion a Scrum

“Incluir trabajadores en un proyecto retrasado hará que

éste avance aún más lentamente” -- Ley de Brooks

D

Page 41: Introduccion a Scrum

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

Page 42: Introduccion a Scrum

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

Page 43: Introduccion a Scrum

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

Page 44: Introduccion a Scrum

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

Page 45: Introduccion a Scrum

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

Page 46: Introduccion a Scrum

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

Page 47: Introduccion a Scrum

“Si tu proyecto no funciona, busca en la parte que no pensaste que

fuera importante“ -- Arthur Bloch

C

Page 48: Introduccion a Scrum

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

Page 49: Introduccion a Scrum

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

Page 50: Introduccion a Scrum

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

Page 51: Introduccion a Scrum

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

Page 52: Introduccion a Scrum

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

Page 53: Introduccion a Scrum

Artefactos – Scrum TaskBoard

DY

Page 54: Introduccion a Scrum

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

Page 55: Introduccion a Scrum

Cada persona, saque una hoja y un lápiz o lapicero.

Siga las recomendaciones del moderador.

Actividad 2 – Actividad de Memoria

JK

Page 56: Introduccion a Scrum

"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

Page 57: Introduccion a Scrum

¿Preguntas?

Page 58: Introduccion a Scrum

http://www.scrum.org/Resources

http://www.proyectosagiles.org

www.mountaingoatsoftware.com/scrum

www.scrumalliance.org

www.controlchaos.com

www.scrum.org

[email protected]

Lecturas Recomendadas

Page 59: Introduccion a Scrum

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