37
Scrum Introducción a las Metodologías Ágiles 75:45 Taller de Desarrollo de Proyectos Mario Pignataro / Gabriel Piñeiro / Pablo Tortorella

Fiuba_IntrotoscrumV1.6

Embed Size (px)

Citation preview

Page 1: Fiuba_IntrotoscrumV1.6

ScrumIntroducción a las Metodologías Ágiles

75:45 – Taller de Desarrollo de Proyectos

Mario Pignataro / Gabriel Piñeiro / Pablo Tortorella

Page 2: Fiuba_IntrotoscrumV1.6

Nivel de “Caos” en los

proyectos

Simple

Anarquía

Complejo

Cerca de la

certeza

Lejos de la

CertezaTecnología

Cerca del

acuerdo

Lejos del

AcuerdoR

equerim

iento

s

Source: Strategic Management and

Organizational Dynamics by Ralph Stacey

in Agile Software Development with Scrum

by Ken Schwaber and Mike Beedle.

3

Page 3: Fiuba_IntrotoscrumV1.6

Que es lo que requiere el “negocio”?

4

Page 4: Fiuba_IntrotoscrumV1.6

Estrategias actuales para desarrollar

software

• Sin procesos

• Sin documentación

• Planificación informal

• Equipos no disciplinados

• Equipos no entrenados

• Etc., etc…

5

• Procesos compliance CMMI

• RUP, prototipación

• Con documentación

• Planificación formal

• Equipos disciplinados

• Equipos entrenados

• Etc., etc…

Page 5: Fiuba_IntrotoscrumV1.6

Cliente Satisfecho

6

Page 6: Fiuba_IntrotoscrumV1.6

Administración del cambio

7

Caminar sobre las aguas y administrar

proyectos a partir de las especificaciones

es fácil...

si ambas están congeladas.

Edward V. Berard

Page 7: Fiuba_IntrotoscrumV1.6

Administración del cambio

9

Algunas enfermedades, como dicen los médicos,

son al principio fáciles de curar pero difíciles de

reconocer... pero a medida que pasa el tiempo,

se hacen fáciles de reconocer y difíciles de

curar.

Nicolás Maquiavelo, El Príncipe

Page 8: Fiuba_IntrotoscrumV1.6

The “Agile Manifesto”

• Las Personas y el aprendizaje en Iteraciones

por encima de los procesos y herramientas

• El Entregable Real de Producto por encima de

la documentación detallada

• La Interacción Colaborativa con el

Usuario/Cliente por encima de la negociación de

cláusulas de contrato

• Responder al Cambio por encima del

seguimiento estricto de un plan

http://www.agilemanifesto.org 10

Page 9: Fiuba_IntrotoscrumV1.6

Scrum

• “The New New Product Development Game” in Harvard Business

Review, 1986.

• “… El uso actual de las técnicas estilo “carrera de relevos” para el desarrollo de

nuevos productos… puede fácilmente “jugar en contra” de conseguir objetivos de

máxima velocidad y flexibilidad. Como una buena alternativa para mantener la visión

y conseguir las metas en un ambiente competitivo, la aplicación de técnicas

“holísticas” o del estilo del juego de Rugby, donde un equipo trata de alcanzar la

meta del contrario en forma compacta como una unidad, y el individuo que lidera el

esfuerzo es el que en ese instante posee la pelota.”

• Wicked Problems, Righteous Solutions by DeGrace and Stahl, 1990.

• Primera mención de Scrum en un contexto de desarrollo de software

11

Page 10: Fiuba_IntrotoscrumV1.6

Scrum – Características

• Equipos con capacidad de auto-organización

• Progreso de desarrollo de Producto en series de “sprints” de

1 ó 2 semanas de duración

• Los requerimientos se listan como un ítem en una lista de

“product backlog”

• No se especifica norma o práctica alguna de la ingeniería

sobre como se realizará el trabajo

• Uso de practicas conversacionales generativas para crear un

entorno ágil para el delivery del producto

• Es una de varias “metodologías ágiles” 12

Page 11: Fiuba_IntrotoscrumV1.6

Scrum: El Proceso

13

Page 12: Fiuba_IntrotoscrumV1.6

Sprints

• Los proyectos con Scrum progresan en series de

“sprints”• Corto, acotado en tiempo, completo

• Duración: cerca de 2 semanas• +/- una semana

• Tener en cuenta que una duración constante lleva a un mejor ritmo

• El entregable de producto es diseñado, codificado,

y testeado durante el sprint

14

Page 13: Fiuba_IntrotoscrumV1.6

No hay cambios durante el sprint

• Planear que las duraciones del sprint sean breves pero comprendan el tamaño mínimo de entregable que el equipo se pueda comprometer.

SprintInputs Producto Testeado

Cambio

15

Page 14: Fiuba_IntrotoscrumV1.6

Restricciones durante el Sprint

• Lista completa de restricciones y limitaciones a

aplicar durante el Sprint:-

-

-

-

-

• </end of list>

… NO HAY !!!16

Page 15: Fiuba_IntrotoscrumV1.6

Scrum Framework

• Roles : Product Owner, ScrumMaster, Team

• Ceremonias: Sprint Planning, Sprint Review,

Sprint Retrospective, & Daily Scrum Meeting

• Artefactos: Product Backlog, Sprint Backlog, and

Burndown Chart

18

Page 16: Fiuba_IntrotoscrumV1.6

El cerdo y el pollo…la historia dice que…

19

Page 17: Fiuba_IntrotoscrumV1.6

Roles en Scrum (Implicados y Comprometidos)

Scrum Master

TeamProduct Owner

20

Page 18: Fiuba_IntrotoscrumV1.6

Product Owner

• Define las funcionalidades del producto

• Decide sobre el “release date” y el contenido

• Es responsable por la “rentabilidad” del producto

(ROI)

• Prioriza funcionalidades de acuerdo al valor de

mercado

• Ajusta las funcionalidades y prioridades en cada

iteración, a la medida que se requieran

• Acepta or rechaza los resultados de trabajo21

Page 19: Fiuba_IntrotoscrumV1.6

Scrum Master

• Representa la “gestión” del projecto

• Responsable de aplicar los valores y prácticas

de Scrum

• Remueve impedimentos

• Se asegura que el team es completamente

funcional y productivo

• Facilita la cooperacion de entre todos los

rooles y funciones

• Aisla al team de interrupciones externas

22

Page 20: Fiuba_IntrotoscrumV1.6

Scrum Team

• Típicamente 5 a10 personas (recomendado hasta 7)

• Cross-functional skills• UI Designers, Programmers, QA, etc.

• Asignados full-time• Puede haber excepciones temporales (e.g., SysAdmin, etc.)

• Self-organizing team• Idealmente, no hay jerarquías sino liderazgos

• El equipo sólo se modifica entre Sprints

23

Page 21: Fiuba_IntrotoscrumV1.6

Scrum Framework

• Roles : Product Owner, ScrumMaster, Team

• Ceremonies : Sprint Planning, Sprint Review,

Sprint Retrospective, & Daily Scrum Meeting

• Artifacts : Product Backlog, Sprint Backlog, and

Burndown Chart

24

Page 22: Fiuba_IntrotoscrumV1.6

26

Sprint Planning Meeting. Decidiendo qué historias incluir en el Sprint

Pila de Producto: historiaspriorizadas con su duracionestimada en “puntos de historia”

Velocidad Estimada = cuántos

puntos de historia cree el equipo que

puede completar durante el próximo

Sprint

Page 23: Fiuba_IntrotoscrumV1.6

• Parámetros• Una vez al día

• 15 minutos por reloj

• De pie, no sentados

• Solo daily planning. No problem solving

• Tres (3) preguntas :1. Que hiciste ayer ?

2. Que harás hoy?

3. Que obstáculos estás encontrando?

• Participan Chickens y Pigs• Ayuda a evitar otros meetings no necesarios

• Solo los Cerdos pueden hablar

Daily Scrum meetings

27

Page 24: Fiuba_IntrotoscrumV1.6

Daily Scrum meetings. Para que ?

• Porque una vez al día ?Pregunta: “Que hace que un proyecto se retrase un año ?”

Respuesta: “Que con cada inconveniente se retrase un día …”

• Fred Brooks, The Mythical Man-Month.

• Se pueden reemplazar los Scrum meetings por

reportes de avance por e-mail?

• NoEn los Scrum meetings se deciden acciones imposibles de resolver por e-mail

1) El team completo puede ver “the whole picture” cada día

2) Se crea un ambiente de compromiso personal de “voy a hacer lo que

prometi que iba a hacer”28

Page 25: Fiuba_IntrotoscrumV1.6

Sprint Review Meeting

• El team presenta que ha sido realizado durante el Sprint

• Típicamente toma la forma de una demo de nuevas funcionalidades

• Informal• Regla de 2 horas de preparación

• Participantes• Clientes / Usuarios

• Gerencia

• Product Owner

• Otros ingenieros

29

Page 26: Fiuba_IntrotoscrumV1.6

Sprint Retrospective Meeting

• Solamente el Scrum Team

• Feedback meeting, tres (3) cuestiones …

• Bien: si hiciéramos el Sprint otra vez, que cosas

volveríamos a hacer igual.

• Mejorable: si hiciéramos otra vez el Sprint, que

cosas haríamos de forma diferente.

• Mejoras: ideas concretas sobre cómo podemos

mejorar en el futuro

• También se evalúa la velocidad (planificado Vs.

Realizado) 30

Page 27: Fiuba_IntrotoscrumV1.6

Analizando el avance (Incorrecto)

31

Page 28: Fiuba_IntrotoscrumV1.6

Analizando el avance (Correcto)

32

Page 29: Fiuba_IntrotoscrumV1.6

Scrum Framework

• Roles : Product Owner, ScrumMaster, Team

• Ceremonias: Sprint Planning, Sprint Review,

Sprint Retrospective, & Daily Scrum Meeting

• Artefactos: Product Backlog, Sprint Backlog, and

Burndown Chart

33

Page 30: Fiuba_IntrotoscrumV1.6

Product Backlog

• Una lista del trabajo deseado• Normalmente una combinación de:

• Historias de Usuario (Funcionalidades)

• Tareas a realizar

• La lista la prioriza y pondera el Product Owner• Normalmente el Product Manager, Gte. Marketing, Internal

Customer rep, etc.

34

Page 31: Fiuba_IntrotoscrumV1.6

The Sprint Goal / “Visión” del Sprint

• Identificar un “tema” para el sprint :

Implementación de Metodologías Ágiles en la AFIP

“Planificar y validar con las áreas de la

SDG Sit un plan para la adopción de

metodologías ágiles en el desarrollo

de proyectos durante la gestión 2011”

Pliego de Especificaciones

Capacitación Scrum en la AFIP

“Preparar un pliego de

especificaciones para el

proyecto de Capacitación

sobre Scrum en la AFIP”

Oficina de Gestión y QA ágil

“Generar y acordar con

las áreas de la SDG Sit

una metodología ágil de

seguimiento de gestión

que garantice una

entrega de valor para la

mejora continua”

36

Page 32: Fiuba_IntrotoscrumV1.6

Del Sprint Goal al Sprint Backlog

• El Team identifica el Sprint Goal y decide que

tareas son necesarias

• El Team se auto-organiza de acuerdo a como

cumplimentar el Sprint Goal• El manager NO asigna tareas en forma individual

• Los managers NO toman decisiones por el Team

• El Sprint Backlog es creado

37

Page 33: Fiuba_IntrotoscrumV1.6

Ejemplo

Sprint

Backlog

38

Page 34: Fiuba_IntrotoscrumV1.6

Escalabilidad de Scrum

• El Scrum Team debe ser de 5 a10 personas

(normalmente no mas de 8)

¿ Como se escala ?

• Sutherland ha utilizado Scrum en grupos de más de

500 desarrolladores

• Mike Cohn ha aplicado Scrum en grupos de más de

100 personas

39

Page 35: Fiuba_IntrotoscrumV1.6

Scrum de Scrums / Meta-Scrum

40

Page 36: Fiuba_IntrotoscrumV1.6

Ejercicio 1: Pajarraco

• 4 Team de hasta 5 personas cada uno

• 1 Scrum Master por Team

• 1 “Coach” como Product Manager

• Armar estructura de roles y del team

• 4 Sprints de 15´ c/u• 2´ o menos Sprint Planning

• 1´ o menos Sprint Review

• 2´ Demo del entregable

41

SP Day 1 Day 2 Day 3 R

2’ < 5’ < 5’ < 5’ 1’

Page 37: Fiuba_IntrotoscrumV1.6

Nombre Team

(Story 1)

Sprint #

Team 1 Team 2 Team 3 Team 4

Sprint 1 …

/

Sprint 2 …

/

Sprint 3 …

/

Sprint 4 …

/