Curso Practico Scrum
Curso Practico Scrum
Curso Practico Scrum
www.alpha-consultoria.com 2
Legal
Todo el material, definiciones y gráficas que aparecen en este material, contenidas originalmente en “A
Guide to the Project Management Body of Knowledge” (PMBOK® Guide), son reproducidas con autorización
del Project Management Institute mediante el convenio de registro de Alpha Consultoría como Registered
Education Provider (PMI R.E.P.)
Queda prohibida su reproducción o transmisión parcial o total, por ningún medio, sin la autorización expresa
y por escrito de Alpha Consultoría de Proyectos.
3
AGIL
MEDE Francisco Vaca
[email protected]
Estructura del curso
Conceptos de SCRUM
Es un contexto no una metodología.
Valores, procesos y herramientas.
Organización.
Iteraciones e incrementos.
Control.
Práctica SCRUM
Poner en práctica los conceptos básicos.
Objetivo de curso
www.alpha-consultoria.com 6
Contenido Temático
• Introducción
• Fundamentos de la “Filosofía Agile”
• Dominios de prácticas ágiles
• Scrum
• Lean kanban
• Extreme Programming (XP)
• Test-Driven Development (TDD)
• Dynamic Systems Development Method (DSDM)
• Crystal
• Feature-Driven Development (FDD)
• Comparación de metodologías ágiles
www.alpha-consultoria.com 7
El entorno obliga a responder de manera diferente
www.alpha-consultoria.com 11
Distintos contextos Ágiles
SCRUM
EXTREME
KANBAN
PROGRAMMING
FDD CRYSTAL
LEAN
DSDM
DEVELOPMENT
AGILE UP OPEN UP
www.alpha-consultoria.com 12
Principios Agiles
Principio 1. Control de Procesos Empíricos
• Scrum propone gestionar proyectos a través de la toma de decisiones basada en la
observación y experimentación.
• Sólo hay dos maneras de controlar cualquier proceso. A través de procesos definidos y a
través de procesos empíricos.
• Los procesos empíricos están basados en las tres ideas principales de:
o Transparencia
o Inspección
o Adaptación
www.alpha-consultoria.com 13
Principios Agiles
Principio 2. Auto-Organización
• Scrum enseña que los trabajadores de hoy tienen mucho más conocimiento que
ofrecer que solamente la experiencia técnica y que liberan más valor cuando ellos
mismos se auto-organizan.
www.alpha-consultoria.com 14
Principios Agiles
Principio 3. Colaboración
• La colaboración se basa en que la creación de un producto es un proceso de
creación de valor compartida.
www.alpha-consultoria.com 15
Principios Agiles
www.alpha-consultoria.com 16
Principios Agiles
Principio 5. Time-boxing
• Este principio de Scrum se basa en considerar al tiempo como una restricción del
proyecto.
• De esta manera se puede planear mejor los tiempos de las fases de un proyecto
para que el equipo no se tarde ni mucho más ni mucho menos de lo que debería
durar cada proceso o fase.
www.alpha-consultoria.com 17
Principios Agiles
• Desde los años 70s se supo que el desarrollo en cascada no es adecuado para
proyectos grandes y complejos.
• Como una necesidad a esto surgieron los primeros métodos iterativos de desarrollo
de software que fueron conocidos como métodos iterativos e incrementales.
• Este principio permite que los cambios en scrum se manejen de una manera muy
flexible debido al nivel de adaptación que llegan a alcanzar los proyectos.
www.alpha-consultoria.com 18
Inducción a SCRUM
EQUIPO DE
SCRUM PRODUCT DESARROLLO
MASTER OWNER Hace
Remueve Define la visión estimanciones
obstáculos Establece Construye las
Facilita prioridades historias de
procesos Aporta recursos usuario
Asegura el valor Asegura la calidad
El Scrum Master
Tareas Esfuerzo
Codificar 8
Escribir prueba 4
Realizar prueba 2
Validar flujo 2
• Potentially Shippable NO ES
IGUAL a Shippable..
• Demuestra la viabilidad
técnica del equipo y del
proyecto.
Sprint Review
• Inspeccionar y adaptar el
proceso.
• El objetivo es proponer
mejoras que aumentan la
velocidad, reduzcan el riesgo,
mejoren la colaboración.
• ¿Una nueva herramienta?
• ¿Un ajuste en la manera
relacionarnos con algo?
• ¿Adecuar alguna política o
estándar?
• ¿Algún recurso adicional?
Historia de usuario
www.alpha-consultoria.com 33
Estructura y ejemplo de una historia de usuario
Como <usuario del
gimnasio> quiero
Como <rol de <programar mis rutinas de
usuario> deseo, entrenamiento> para
quiero, necesito <estar listo para mi
<objetivo> para competencia de los
<obtener un valor> 10km>
Criterios de
aceptación Elegir tipo de rutina
Criterio 1 .. Criterio Elegir calendario
n Elegir aparato / actividad
www.alpha-consultoria.com
Elegir intensidad 34
Diferentes niveles de detalle
• Horas.
• Tarea
• Días.
• Historia de usuario.
• Semanas.
• Tema.
• Epica. • Meses.
www.alpha-consultoria.com 35
Concepto: Puntos por historia
www.alpha-consultoria.com 36
Técnica de estimación: Planning Poker
www.alpha-consultoria.com 37
Técnica de Estimación: Tamaño relativo
www.alpha-consultoria.com 38
Tablero SCRUM
PRODUCT HECHO
SPRINT EN
BACKLOG BACKLOG PROCESO
www.alpha-consultoria.com 39
Ejercicio: Construir la ciudad LEGO
• Sprint planning.
• Sprint review.
Product Backlog, Planeación de las liberaciones.
Esfuerzo, riesgo,
complejidad
www.alpha-consultoria.com 41
Priorización basada en el valor.
Esquemas Simples
Esquemas Simples implica etiquetear elementos como prioridad "1", "2", "3" o "Alto",
"Medio" y "Bajo" y así sucesivamente.
Priorización MoSCoW
El esquema Priorización MoSCoW deriva su nombre de las primeras letras de las frases
"Must have" (debe tener), "Should have” (debería tener), "Could have” (podría tener),
y "Won’t have” (no tendrá).
www.alpha-consultoria.com 43
Gráfica de control de desgaste
Burndown Chart
www.alpha-consultoria.com 44
Definición de Hecho (DoD).
Al final de cada Sprint , la calidad técnica del producto cumple con los
criterios de calidad establecidos para el lanzamiento del producto.
www.alpha-consultoria.com 45
Spike
www.alpha-consultoria.com 46
Escalamiento del contexto SCRUM
cuando la complejidad es muy alta.
Ejercicio: Bodega de vinos “La valenciana”
1. Proponer la visión.
2. Definir el Product Backlog.
• Definir historias.
• Priorizar.
• Estimar.
3. Inicar Sprint:
• Duración de 20 minutos.
• Todas las actividades dentro del Sprint.
• 5 minutos para las Review´s
Los mejores libros sobre SCRUM que te puedo recomendar.
KANBAN
Kanban
www.alpha-consultoria.com 51
Kanban
Valores Clave
Kaizen: “Good Change”, se refiere a la mejora continua.
www.alpha-consultoria.com 52
Kanban
Valores Clave
Muda: Se refiere a las actividades consideradas un desperdicio porque no agregan
ningún valor.
www.alpha-consultoria.com 53
Kanban
Valores Clave
• Mura: Se refiere a inconsistencia, desigualdad, altibajos en el proceso. Ni hacer de
más ni hacer de menos para evitar desperdicios o sobreproducción. Se enfoca mucho en
el JIT (Just-In-Time).
www.alpha-consultoria.com 54
Kanban
Valores Clave
• Muda, Mura y Muri
www.alpha-consultoria.com 55
Lean Software Development
Principios Valores
• Optimización a nivel sistema • Valorar las necesidades del
• Eliminación de desperdicio cliente
• Valorar lo que el cliente está
• Calidad
dispuesto a pagar
• Compromiso
• Valorar lo que se desea
• Respeto y reconocimiento a la gente construir para el cliente
• Crear conocimiento
• Entrega rápida
www.alpha-consultoria.com 56
Lean Software Development
www.alpha-consultoria.com 57
Kanban Software Development
www.alpha-consultoria.com 58
Kanban Software Development
Prácticas Específicas
• Mapear flujos de valor
• Definir el punto de inicio y fin para control
• Tipos de work items
• Disponer de una pared y dibujar las columnas para las tarjetas
• Análisis de la demanda
• Asignar el trabajo basado en la capacidad
www.alpha-consultoria.com 59
KANBAN
KANBAN
www.alpha-consultoria.com 62
Lean Kanban
4. Aprendizaje constante
o Desarrollar un sistema que responda rápido al cambio
o Hacer tolerante el mantenimiento al código
o Los equipos y el cliente deben estar conscientes del impacto de los cambios
o Aprender de los errores
o Mejorar continuamente, porque lo de hoy puede ser obsoleto mañana
o Usar técnicas empíricas o cuantitativas para generar conclusiones
5. Generar compromiso en todos
o Fomentar la autonomía en los equipos
o Fomentar el dominar temas a través de retos y feedback
o Comunicar el propósito de cada proyecto a cada miembro del equipo
www.alpha-consultoria.com 63
XP (Extreme programming)
www.alpha-consultoria.com 64
XP
www.alpha-consultoria.com 65
XP
www.alpha-consultoria.com 66
XP
Valores Clave
1. Comunicación
2. Feedback
3. Simplicidad
4. Coraje/Carácter
www.alpha-consultoria.com 67
XP
Roles
1. Customer
2. Developer
3. Supplementary roles
4. Tracker
5. Coach
www.alpha-consultoria.com 68
XP
Prácticas
• Coding Practices
1. Coding and designing
2. Refactoring
3. Developing coding standards
4. Developing a common vocabulary
• Developer Practices
5. TDD
6. Pair Programming
7. Collective code ownership
8. Continuous integration
• Business Practices
9. Adding a customer
10. Regular release
11. Planning Game
12. Sustainable pace
www.alpha-consultoria.com 69
XP
Planning/Feedback Loops
www.alpha-consultoria.com 70
XP
Pair Programming
www.alpha-consultoria.com 71
TDD (Test-driven development)
www.alpha-consultoria.com 73
TDD
www.alpha-consultoria.com 74
TDD
Proceso
www.alpha-consultoria.com 75
DSDM
(Dynamic Systems development methods)
www.alpha-consultoria.com 76
DSDM
www.alpha-consultoria.com 77
DSDM
www.alpha-consultoria.com 78
DSDM
Valores Clave
1. Se enfoca en la necesidad
2. Entrega a tiempo
3. Colaboración
4. Nunca comprometer la calidad
5. Construir incrementalmente a partir de fundamentos firmes
6. Desarrollar iterativamente
7. Comunicación continua y clara
8. Demostrar control
www.alpha-consultoria.com 79
DSDM
Roles
1. Executive Sponsor
2. Visionary
3. Ambassador User
4. Advisor User
5. Project Manager
6. Technical Coordinator
7. Team Leader
8. Developer
www.alpha-consultoria.com 80
DSDM
Prácticas
1. Pre-project phase
2. Feasibility phase
3. Foundations phase
4. Exploration and engineering phase
5. Deployment phase
6. Post-project phase
www.alpha-consultoria.com 81
Métodos Crystal
www.alpha-consultoria.com 82
Métodos Crystal
www.alpha-consultoria.com 83
Métodos Crystal
Valores Clave
1. People are the most important
2. Lightweight methodology
3. Easy to adapt approach
4. Incremental development of features
5. Flexibility and fluidity
6. Team size is an important deciding factor
7. Active user involvement
8. Osmotic communication
9. Frequent tracking of progress
www.alpha-consultoria.com 84
Métodos Crystal
Roles
• Executive Sponsor • Architect
• Lead designer • Coordinator
• Designer/programmer • Requirements gatherer
• Experienced user • Business expert
• Business analyst
• Architect • Project manager
• Coordinator • Design mentor
• Requirements gatherer • Usage expert
• Business expert • Lead design programmer
• Business analyst • UI designer
• Project manager • Technical facilitator
• Design mentor • Technical writer
www.alpha-consultoria.com 85
Métodos Crystal
Prácticas
Strategies Techniques
• Exploratory 360 • Methodology shaping
• Early Victory • Reflection workshop
• Walking Skeleton • Blitz planning
• Incremental re-architecture • Delphi estimation
• Information radiators • Daily stand-up meetings
• Essential interaction design
• Process miniature
• Side-by-side programming
• Burn charts
www.alpha-consultoria.com 86
Métodos Crystal
Proceso
1. Chartering
2. Delivery cycle
3. Wrap up
www.alpha-consultoria.com 87
FDD
(Feature driven development)
www.alpha-consultoria.com 88
FDD
Valores Clave
1. Un sistema para construir sistemas es necesario para escalar a proyectos mas
grandes.
2. Un proceso simple y bien definido funciona mejor.
3. Los pasos del proceso deben ser lógicos y ser valiosos de manera inmediata para
cada miembro del equipo.
4. El “orgullos del proceso” puede evitar que el trabajo real suceda.
5. Los buenos procesos son el marco para que los miembros del equipo se puedan
enfocar en los resultados.
6. Son mejores los ciclos de vida cortos, iterativos y dirigidos por las características
(feature-driven).
www.alpha-consultoria.com 89
FDD
Roles
• Project manager • Testers
• Chief architect
• Deployers
• Development manager
• Technical writers
• Chief programmers
• Class owners
• Domain experts
• Domain manager
• Release manager
• Language guru
• Build engineer
• Toolsmith
• System administrator
www.alpha-consultoria.com 90
FDD
Prácticas
1. Domain object modeling
2. Developing by feature
3. Individual class ownership
4. Feature teams
5. Inspections
6. Regular builds
7. Configuration management
8. Reporting/visibility of results
www.alpha-consultoria.com 91
FDD
Proceso
1. Developing an overall model
2. Building a features list
3. Planning by feature
4. Designing by feature
5. Building by feature
www.alpha-consultoria.com 92