principios Ágiles, lean y scrum
TRANSCRIPT
David de Francisco MarcosMsc, MBA, PMP y CSM
Principios Ágiles, Lean y Scrum
Máster en InformáticaUniversidad de Valladolid2014-2015Sesión 2
www.linkedin.com/in/daviddefco
Principios Ágiles
Un Poco de Historia
Definición de procesosFlujos productivosProducción en cadena
“Mis clientes pueden tener el modelo T en el color que quieran… siempre que quieran el color negro”
Henry Ford, 1913
Sakichi Toyoda
Just In time (JIT)Pull vs PushLean Manufacturing
Principios Lean Management
Proporcionar valor al clientePriorizando el valorEntregas planificadas y
frecuentesEliminar lo que no aporta valor (waste)
Equipos auto-organizados y autónomos
Mejora continua durante el proceso
Imágen obtenida de www.flickr.com/photos/keithallison/
7 Fuentes de Desperdicio en Desarrollo Software
1 Trabajo Parcialmente Hecho
2 Procesos Extra
3 Funcionalidades Extra
4 Transferencia de Conocimiento
5 Retrasos
6 Cambios de Tareas
7 Defectos y Bugs
Imágen obtenida de www.flickr.com/photos/somethingstartedcrazyy/
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 herramientasSoftware funcionando sobre documentación extensivaColaboración con el cliente sobre negociación contractualRespuesta ante el cambio sobre seguir un plan
Esto es, aunque valoramos los elementos de la derecha,valoramos más los de la izquierda.
Agile Manifesto
www.agilemanifesto.org
Principios ÁgilesBajo mi Prisma Personal ;)
Entrega temprana y continua de valorMás ROI = más confianza del cliente
Aceptamos requisitos cambiantesSi no el cliente pierde negocio
Entrega frecuente de SW funcional Problemas ocultos = muertos vivientes
Negocio e ingenieros juntosMi gran programa en un cajón?!
Necesitamos individuos motivadosPorque necesitamos sus ideas!
Comunicación cara a cara Rápida, sincera y eficaz, sin tapujos…
Progreso = SW funcionandoQué quiere decir un Gantt al 80%?
Desarrollo sostenibleLos zombies no programan bien
Excelencia técnica y diseñoEs como el karma, siempre compensa
Simplicidad: hago solo lo necesario(y por lo que me pagan y valoran)
Equipos auto-organizadosSi tú lo haces, tú decides
Reflexionar y perfeccionarSólo se puede mejorar con humildad
Celebremos un Fiesta! Cap. 1
Proyecto: Celebrar una fiestaObjetivo: Que la fiesta sea un
éxito y sigáis siendo amig@s después
Duración: Cuatro días (Miércoles-Sábado)
Equipo: 3 amig@s y tú– El experto en cocktails– El cocinillas– El repostero– El relaciones públicas
Fases: Cada noche nos juntamos para:
– Miércoles: planificar y obtener recursos
– Jueves: producir sub-componentes– Viernes: dar la fiesta– Sábado: recoger y pensar cómo
mejorarImágen obtenida de
www.flickr.com/photos/gjnairn /
Celebremos un Fiesta! Cap. 2
MiércolesOs sentáis a decidir qué vais a servir, música, temática…
JuevesPreparación de la comida por parte del grupo en la cocina
Resultado• Lista de la compra• Se asigna a cada uno lo que debe comprar y dónde
Resultado• Ingredientes preparados en el frigorífico
Incremento MMF
Entregas relacionadas
Co-ubicación
Imágen obtenida de www.flickr.com/photos/ felibrilu /
Celebremos un Fiesta! Cap. 3
ViernesFiesta!
SábadoRecoger, poner en común lo que hemos hecho y celebrarlo!
Resultado• La fiesta se celebra• Todo ha salido como estaba previsto
Resultado• Lecciones aprendidas• La próxima fiesta la haremos aún mejor!
Entrega (release) Review Meeting
Retrospective (mejora continua)
Imágen obtenida de www.flickr.com/photos/ rhest09/
Tradicional
Ámbito
Costes Fechas
Planificación
Agile
Costes Fechas
Ámbito
Priorización
Planificación vs Priorización
Control descentralizado La complejidad rompe las reglas
Feedback frecuente y temprano
Incrementos priorizados por
valor
Involucrar a todo el equipo
Cada equipo gobierna su
destino
Mejores resultados del proyecto
¿Por Qué Funciona?
Imágen obtenida de www.flickr.com/photos/ olastuen/
Imágen obtenida de www.flickr.com/photos/ oatsy40/
Scrum
Scrum es
Un marco ágil de gestión…
…para crear productos de calidad de forma flexible…
…a través de entregas frecuentes y predecibles…
…por parte de un equipo multidisciplinar y autoorganizado
¿Qué es Scrum (y qué no)?
Scrum NO es
Una metodología
Un conjunto de prácticas para mejorar
el código
Solamente un conjunto de herramientas y
buenas prácticas
Un conjunto de complejas
especificaciones parametrizable Imágen obtenida de
www.flickr.com/photos/60892750@N00/
Un Proyecto Scrum
ComprometidoInteresado
Grupos de Interés
Requisitos
Producto
Product Backlog
Priorizado
Proceso SCRUM
Incremento
Product Owner (PO)
Scrum Master (SM)
Team
Scrum Lingo!
Sprint: Iteración de duración fija (1-4 semanas)
User Story: escenario de uso con valor de negocio y que explica el qué, y no el cómo. A menudo se asocia a personas.
Persona: arquetipo de usuario extraído de estudios de mercado/negocio y que comparte pautas de uso.
Criterio de aceptación: qué es lo que considera el cliente para que una historia sea aceptada.
Definición de Hecho (DoD): Lista de actividades para que el equipo considere una tarea pueda ser considerada como entregable al cliente.
Minimum Marketable Feature (MMF): Funcionalidad mínima con sentido suficiente para ser llevada al mercado
Epic: historia grande susceptible de ser dividida en mayor detalle y que supone un desafío para el equipoImágen obtenida de
www.flickr.com/photos/ 46694549@N03 /
Roles: Dueño del Producto
Una persona. Responsable de priorizar
Maximiza el valor (ROI) del trabajo
Nexo entre el equipo y grupos de interés
Valida las entregas (acepta / rechaza)
Ayuda a definir Criterio de “Hecho”
Conocimiento, con poder e involucrado Imágen obtenida de
www.flickr.com/photos/robpoetsch/
Roles: Scrum Master
Servant Leader (facilitador)Protege al equipo de interrupcionesElimina impedimentosComunica la visión del proyectoNutre y fortalece al equipo
Mantiene la eficiencia del proceso
Educa y formaAnaliza y vigila para mejorar
Imágen obtenida de www.flickr.com/photos/calciocatania/
Roles: Equipo
Multifuncional y responsable
7 ± 2 personas
Convierten los elementos del backlog en valor para el cliente cada poco tiempo
Auto-organizado, son “Generalizing Specialists”
Todo el mundo hace lo que puede
Enfocados a la calidad y excelencia
Imágen obtenida de www.flickr.com/photos/ wwwarenasartcomphotos /
Product Backlog
Lista priorizada de historias de producto Se revisa en cada iteración Incluye acciones de control de riesgos Historias progresivamente detalladas
Sprint Backlog
Lista priorizada de tareas detalladas Fijas y acordadas para el final del sprint Criterios de aceptación definidos Se auto-asignan por parte del equipo
Impediment Backlog
Lista de dificultades a resolver Administrativas, técnicas, etc… Se actualiza en cada daily meeting
Artefactos SCRUM
Product Backlog
Sprint Backlog
Incremento de Producto
Sprint 2-4 semanas
24 horas
Sprint Planning
Daily Meeting
Sprint Presentation
Retrospective
Product Owner Scrum Master Team Customer
Visión
El Proceso Iterativo
Planificación: Conceptos
Story Points
Indican la complejidad de una tarea respecto a otras
La medida de base se define en cada grupo
NO tienen relación directa con unidades temporales
NO sirven para comparar entre distintos grupos
Velocity
Se puede estimar en función a proyectos previos
También se ajusta viendo el histórico de los sprints
Permite estimar el número de sprints necesarios
Marca la progresión de eficiencia de un equipo
NO sirve para comparar distintos grupos
Sprint Planning
¿Qué se puede llevar a cabo en el sprint?1) PO presenta el objetivo del sprint2) El PO propone los elementos del backlog3) El equipo y el PO identifican las dependencias4) El SM y el equipo evalúan disponibilidad5) El equipo evalúa lo que va a lograr en el sprint
¿Cómo vamos a llevar a cabo el trabajo?6) El equipo identifica las tareas necesarias7) Se descomponen las primeras tareas8) Se negocian ajustes al ámbito del sprint9) El equipo se compromete a cumplir la meta de
sprint10)El SM crea el sprint backlog y el burndown
Sizing
Poker Planning
product backlog
último incremento
histórico de rendimiento
estimación de capacidad
meta del sprint
sprint backlog
User Stories
Pruebas:Probar con alumnos de primer año.Probar asignaturas de última convocatoria.Probar antes y después de exámenes.
Aceptación:Podemos ver en tablas y separadas por años las asignaturas, calificaciones y convocatorias.Se identifica claramente las asignaturas aún no evaluadas y matriculadas.
Consulta del Expediente Académico
Como estudiante alumno quiero poder consultar mi expediente académico de forma que pueda consultar e imprimir los datos referentes a calificaciones y asignaturas matriculadas.
Prioridad: MUSTStory Points: 5
Vero: Separadas por años.Marco: Incluir el número de convocatoria.
INVESTIndependent EstimableNegotiable SmallValuable Testable
Control Visual Kanban
Básico
Ejemplo de fases de desarrollo de producto
Extraído de www.kanbantool.com
Control Visual Burndown Chart
Esfuerzo (Story Points)
Escala temporal del sprint (días)
Momento actual (día 12/20)
Previsión de finalización (día 18, por ejemplo)
El trabajo fluye rápido (45º)
Ojo! Hay problemas, el trabajo no fluye (5º)
Problema Resuelto
Ceremonia Daily Scrum
El equipo se junta diariamente y cada uno responde:
¿Qué he logrado completar ayer?¿En qué voy a trabajar hoy?¿Hay algún impedimento?
Actualiza el Impediment backlog
Sincroniza y da visibilidad
Máximo 15 minutos (stand-up)
Imágen obtenida de www.flickr.com/photos/ acarlos1000/
Ceremonia Sprint Review
Demuestras el progreso a los grupos de interés
Se realiza aunque no haya progreso
Sirve para conseguir la aceptación de la entrega
Basada en el producto
Aporta confianza y transparencia
Obtener feedbackImágen obtenida de www.telegraph.co.uk
Show me the
Money!
Ceremonia Retrospective
Orientado a mejorar el proceso
Productividad, calidad, capacidad
Resolver dinámicas de equipo
Proceso de mejora continua1. Establecer el clima adecuado2. Obtener y analizar datos3. Extraer conclusiones4. Decidir qué hacer5. Plan de acción y cierre
Imágen obtenida de www.flickr.com/photos/ acarlos1000/