Clase 02 Scrum

3,991 views
3,793 views

Published on

Published in: Technology
2 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total views
3,991
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
323
Comments
2
Likes
5
Embeds 0
No embeds

No notes for slide

Clase 02 Scrum

  1. 1. SCRUMUniversidad de los Andes Demián Gutierrez Enero 2013 1
  2. 2. Esta presentación contiene en parte material tomado de la presentación de Xavier Albalalejo “La alternativa Ágil” 2
  3. 3. Modelos ágiles(SCRUM / Origenes, Desarrollo de Productos) Japón, años 80 Takeuchi y Nonaka basado en las mejores prácticas de las empresas con buenos resultados de rapidez y flexibilidad en la producción de la época Xerox, Canon, Honda, NEC, Epson, Brother, 3M, Hewlet Packard 3
  4. 4. Modelos ágiles(SCRUM / Origenes, Software) OOPSLA ’95 (conferencia) Jeff Sutherland y Ken Schwaber ScrumAlliance (2002) Ken Schwaber y Mike Cohn Scrum.org (2009) Ken Schwaber 4
  5. 5. Modelos ágiles(SCRUM / Principios) Es mejor tener equipos pequeños y auto-organizados: Formados por miembros de diferentes disciplinas Capaces de organizarse por si mismos (auto-organización) Con una comunicación transparente De esta forma, en general, se suelen obtener mejores resultados y todos los miembros del equipo están más comprometidos y motivados 5
  6. 6. Modelos ágiles(SCRUM / Principios) La palabra Scrum procede del vocabulario del rugby y significa melé; es decir, esa “figura” en la que los compañeros del equipo se amontonan, forman una piña y empujan todos en la misma dirección 6
  7. 7. Modelos ágiles(SCRUM) (4) ceremonias (reuniones) (3) (3) roles artefactos (1) proceso 7
  8. 8. ¿roles?(¿quiénes?) 8
  9. 9. Modelos Ágiles(SCRUM / Roles) Product Owner (dueño del producto) Team / Equipo (dueños del desarrollo) Scrum Master (dueño facilitador del proceso) cerdos Los demás: Clientes, Ejecutivos, Usuarios, etc... no son más que pollos ;-) 9
  10. 10. SCRUM(Roles) ese cuento ha sido inmortalizado de muchas formas 10
  11. 11. ¿proceso? (¿cómo?) 11
  12. 12. Modelos Ágiles(SCRUM / Proceso) Lazo de Lazo de feedback feedback cada 1-4 semanas diario ? ? Un Sprint (iteración, ciclo, etc) 12
  13. 13. Modelos Ágiles(SCRUM / Proceso) Lazo de Lazo de Lazo de feedback feedback feedback diario diario diario...? ?... ? ? Lazo de feedback Lazo de feedback Lazo de feedback semanal semanal semanal Varios Sprints 13
  14. 14. 14
  15. 15. ¿artefactos? (¿qué?) 15
  16. 16. Modelos Ágiles(SCRUM / Artefactos) requisitos “features” de la aplicación (de todo el producto) resultado / producto (entregas frecuentes) tareas de < 16 horas definición de listo (sólo del sprint) (Definition of Done) 3 artefactos 16
  17. 17. Modelos Ágiles(SCRUM / Artefactos) artefactos, herramientas y otros radiadores de información Tablero de Kanban Scrum Burn Down aunque oficialmente NO SON parte de Scrum (más adelante hablaremos de ellos) 17
  18. 18. ¿ceremonias? (¿de qué forma?) 18
  19. 19. Modelos Ágiles(SCRUM / Ceremonias) (2) daily scrum ¿cómo vamos? (4) retrospectiva ¿cómo podemos mejorar? (1) sprint planning ¿que tan complejas son las (3) sprint review/demo historias? ¿que historias van para este ¿qué hemos sprint? logrado? 19
  20. 20. ¿requisitos?(¿qué debe hacer el producto?) 20
  21. 21. Historias de Usuarios(Modelos ágiles – XP, SCRUM) Una historia de usuario es una narración que describe una funcionalidad del sistema que tiene valor para un usuario Se recogen en unas sencillas tarjetas de forma esquemática y en un lenguaje claro y preciso Aprobación de nuevos usuarios ¿quién? Yo como administrador del foro  quisiera poder aceptar o rechazar los  nuevos usuarios registrados para así  ¿qué? poder evitar que el foro se llene de ¿por qué? spammers
  22. 22. Historias de Usuarios(Modelos ágiles – XP, SCRUM) Aprobación de nuevos usuarios Yo como administrador del foro  quisiera poder aceptar o rechazar los  nuevos usuarios registrados para así  poder evitar que el foro se llene de  spammers Las historias de usuario sirven de “recordatorio” de la funcionalidad que es necesario implementar en el sistema Antes de implementar una funcionalidad en particular se produce una discusión con el usuario, se refina y extiende la información de la historia de usuario
  23. 23. Historias de Usuarios(SCRUM / Requisitos) Es posible (y útil) también escribir un breve documento donde se define la visión general del sistema/producto Esto ayuda a tener una visión global del producto que se está desarrollando 23
  24. 24. ¿cómo se ordenan y gestionan los requisitos? 24
  25. 25. Modelos Ágiles(SCRUM / Requisitos) El product backlog tiene todos los requisitos del producto Se puede ver como una lista de todo lo que el usuario/cliente desea del producto (a wishlist) 25
  26. 26. Modelos Ágiles(SCRUM / Requisitos) Próximo Sprint, historias con suficiente detalle y estimadas ¿Release Plan? Siguientes Sprints, no mucho detalle, estimaciones y plan tentativos Los requisitos del product backlog se priorizan y se asignan a los distintos sprints planificados, es decir, al sprint backlog de cada sprint 26
  27. 27. 27
  28. 28. Modelos Ágiles(SCRUM / Requisitos) Sin embargo siempre es posible Una vez comenzado el añadir nuevas historias de usuario sprint no se añaden al product backlog y/o cambiar las nuevas historias de prioridades de las historias existentes usuario al sprint backlog En general, no hay cambios, ni en duración ni en objetivos El equipo es el dueño del sprint backlog 28
  29. 29. ¿cómo se estima y planifica? 29
  30. 30. Modelos Ágiles(SCRUM / Planificación) (1) sprint planning ¿que tan complejas son las historias? ¿que historias van para este sprint? 30
  31. 31. Modelos Ágiles(SCRUM / Requisitos) Nombre: Crear mensaje foro Autor: Pedro Pérez Fecha: 21/04/09 Antes de comenzar el sprint, Descripción: Permite crear un nuevo mensaje (hilo) en el foro de discusión. Actores: de ser necesario, el product Usuario / Moderador Precondiciones: El usuario debe de estar autenticado en el sistema. Flujo Normal: owner refinan las historias 1.- El actor pulsa sobre el botón para crear un nuevo mensaje. 2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de mayor tamaño para introducir el cuerpo del mensaje. 3.- El actor introduce el título del mensaje y el cuerpo del mismo. de usuario, usando 4.- El sistema comprueba la validez de los datos y los almacena. 5.- El moderador recibe una notificación de que hay un nuevo mensaje. 6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador. Flujo Alternativo: cualquier técnica que se 4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija. 6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario. considere adecuada Poscondiciones: El mensaje ha sido almacenado en el sistema y fue publicado. 31
  32. 32. Modelos Ágiles(SCRUM / Planificación) ¿Qué tal si jugamos poker? 32
  33. 33. ¿cómo se ve todo hasta ahora? 33
  34. 34. Modelos Ágiles(SCRUM / Proceso) iteración no se comienza un sprint hasta que se sprint 1 termina el anterior iteración sprint 2 iteración sprint 3 etcétera... 34
  35. 35. ¿roles? 35
  36. 36. SCRUM(Roles) cerdos (realmente pollos comprometidos) (involucrados) 36
  37. 37. SCRUM(Roles / Pollos) Usuarios / Ejecutivos Son los que usarán y eventualmente pagarán el producto 37
  38. 38. SCRUM(Roles / Product Owner) Product Owner: Representa la voz del cliente y aporta la visión del negocio. Se encarga de escribir y mantener las historias de usuario (Backlog Grooming), les da prioridad y las ubica en el product backlog. Es el único con la autoridad para cancelar el proyecto (debe tener esta autoridad) 38
  39. 39. SCRUM(Roles / Scrum Master) Scrum Master Es el dueño/facilitador del proceso Tiene como principal papel el de dejar el camino libre de obstáculos e impedimentos para que el resto del equipo consiga el objetivo del sprint 39
  40. 40. SCRUM(Roles / Scrum Master) Scrum Master Organiza reuniones, hace seguimiento del trabajo que se está llevando a cabo, apoya en la planificación de los sprints / entregas, etc 40
  41. 41. SCRUM(Roles / Scrum Master) Scrum Master NO ES un Jefe/Gerente/Líder de Proyecto en el sentido tradicional... es más bien un “Líder Servil” En general no tiene poder de “forzar” al equipo a hacer algo, pero puede resaltar las consecuencias de no seguir bien el proceso Es un “profesor” de Scrum... 41
  42. 42. SCRUM(Roles / Equipo) Equipo Está compuesto por los roles tradicionales: desarrolladores, probadores, etc. Estima el esfuerzo de las historias a desarrollar Hace lo que sea necesario para desarrolla el producto y cumplir con las historias del sprint backlog 42
  43. 43. ¿gestión, control y seguimiento? 43
  44. 44. Modelos Ágiles(Reunión Diaria) Reunión Diaria: Es una figura fundamental en SCRUM. Tiene que reunirse TODO el equipo y debe hacerse según ciertas reglas Lazo de feedback Lazo de feedback diario cada 1-4 semanas 44
  45. 45. Modelos Ágiles(Reunión Diaria) Reunión Diaria: REGLAS: La reunión es diaria y se hace siempre a una hora predefinida, normalmente por la mañana Es importante que todos los miembros del equipo acudan puntuales 45
  46. 46. Modelos Ágiles(Gestión y Seguimiento / Reunión Diaria) Reunión Diaria: REGLAS: La reunión debe durar alrededor de 15 minutos Se realiza de pie, para mantener el máximo de concentración y atención Todos los roles son bienvenidos, pero sólo los cerdos pueden hablar 46
  47. 47. Modelos Ágiles(Reunión Diaria) Reunión Diaria: REGLAS: En la reunión se realizan las siguientes 3 preguntas clave: ¿Qué has hecho desde ayer? ¿Qué tienes planeado hacer mañana? ¿Has encontrado algún problema para conseguir tu objetivo? 47
  48. 48. Modelos Ágiles(Reunión Diaria) Reunión Diaria: REGLAS: La transparencia es un aspecto muy importante en estas reuniones Todos los miembros saben que están haciendo los demás, y los problemas deben ser sacados a la luz en cuanto se detectan La idea es que los problemas se puedan detectar y resolver a tiempo 48
  49. 49. Modelos Ágiles(Scrum Burn Down) EJE Y Trabajo restante, horas, puntos de función u otra unidad de medida EJE X Día o fecha del sprint generalmente, esto es responsabilidad del Scrum Master 49
  50. 50. ¿qué tal si jugamos un rato con una hoja de cálculo? 50
  51. 51. Las siguientes hojas deexcel fueron tomadas de: http://agilesoftwaredevelopment.com/Un video explicativo en: http://www.youtube.com/watch?v=WqgZCiqiYAY 51
  52. 52. Modelos Ágiles(Gestión y Seguimiento / Scrum Burn Down) Sprint 3. Plug in the Real Weather days in sprint / effort left Story ID Story/task 0 1 2 3 4 5 6 7 8 9 10 11 12 13 63 74 68 64 56 49 41 31 29 32 32 32 32 32 10 Fetch one day temperature data from the weather provider system Make our server connect and authenticate to the provider system 4 16 12 8 3 3 3 3 3 3 3 3 3 3 Read providers data directory 8 7 7 7 4 0 0 0 0 0 0 0 0 0 Parse the current temperature out of the data 6 6 4 4 4 1 1 1 1 1 1 1 1 1 Push the temperature data to the client 16 16 16 16 16 16 8 2 0 0 0 0 0 0 11 Fetch rain, snow, etc details from the provider Parse snow/rain data from the providers data 4 4 4 4 4 4 4 0 0 0 0 0 0 0 Push the snow/rain data to the client 4 4 4 4 4 4 4 4 4 0 0 0 0 0 Redesign client screen a bit 3 3 3 3 3 Refactor the server code 4 4 4 4 4 12 Fetch several days data from the provider Parse the weather data in day packs 10 10 10 10 10 10 10 10 10 10 10 10 10 10 Push several days data to the client 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 Auto-refresh feature Make the client ping server once per 4 hours 6 6 6 6 6 6 6 6 6 6 6 6 6 6 Make the server update the client 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Effort left in sprint 80 74 70 68 63 64 60 56 50 49 effort left 40 41 30 31 32 32 32 32 32 29 20 10 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 days in sprint Backlog state taken after day 9 52 based on: http://agilesoftwaredevelopment.com/scrum/simple-sprint-backlog
  53. 53. Modelos Ágiles(Scrum Burn Down) Weather on MobileID Description Sprint # 1 2 3 4 5 6 Effort left until Release 1 Effort needed for Release 1 as in the beginning of the sprint 90 70 34 0 0 0 100 1 Set up continuous integration system 5 0 0 0 0 0 90 90 2 Create compilable application skeleton 5 0 0 0 0 0 3 Display current temperature in a simplest possible way 13 0 0 0 0 0 80 4 Set up the web server for serving weather data 3 0 0 0 0 0 70 70 5 Implement stubby WeatherML support on the server side 13 0 0 0 0 0 60 Work leftSprint 1 Make sample data go from server to device 50 6 Graphics support on the client side 20 0 0 0 0 0 40 16 Make the graphics library draw some icon and sample temperature text - 13 0 0 0 0 34 17 Draw the real weather screen - 8 0 0 0 0 30 7 Implement support for several days 8 8 0 0 0 0 20 8 Implement support for rain, snow, etc. icons 2 2 0 0 0 0 10 9 City changing support - 5 0 0 0 0 0 0 0 0Sprint 2 Minimal working version 1 2 3 4 5 6 10 Fetch one day temperature data from the weather provider system ? 13 13 0 0 0 Sprint # 11 Fetch rain, snow, etc details from the provider 8 8 8 0 0 0 12 Fetch several days data from the provider 5 5 5 0 0 0 13 Auto-refresh feature 8 8 8 0 0 0 Effort left in the backlogSprint 3 Plug in the real weather data 180Release 1 Sellable version 170 160 14 Inject simulated ads from the test server 20 20 20 20 20 20 150 15 Plug real ads in 20 20 20 20 20 20 140 18 Change current city automatically according to the cell info 40 40 40 40 40 40 120 114Sprint 4 Advertisements support 100 Work leftRelease 2 Ad-supported version Effort in the whole backlog 170 150 114 80 80 80 80 80 80 80 60 40Backlog state taken after the end of sprint 3 = after release 1http://agilesoftwaredevelopment.com/scrum/simple-product-backlog 20 0 1 2 3 4 5 6 Sprint # ¿Release Plan? 53
  54. 54. Modelos Ágiles(Kanban / Task Boards) Límites de Trabajo en Progreso Work In Progress (WIP) se puede poner en una pared en la oficina y sirve para hacer el seguimiento de las tareas del sprint en curso también hay herramientas en línea: https://trello.com 54
  55. 55. Modelos Ágiles(Gestión y Seguimiento / Task Boards) http://www.mountaingoatsoftware.com/scrum/task-boards 55
  56. 56. Modelos Ágiles(Gestión y Seguimiento / Task Boards) http://www.mountaingoatsoftware.com/scrum/task-boards 56
  57. 57. video recomendado (en ingles) Scrum Master in Under 10 Minutes Hamid Shojaee http://www.youtube.com/watch?v=Q5k7a9YEoUI 57
  58. 58. algunos casos de estudiohttp://lookforwardconsulting.com/2012/11/28/14-scrum-case-studies 58
  59. 59. Henrik Knibergdisponible en varios idiomas (español incluido) descarga gratuita en: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches http://www.infoq.com/minibooks/kanban-scrum-minibook 59
  60. 60. Gracias ¡Gracias! 60

×