2. Scrum
Definición:
Metodología ágil y flexible
Se aborda los problemas complejos de adaptación
El equipo de desarrollo potencia su productividad y
creatividad en la entrega de productos con el valor
más alto posible.
Características:
• Ligero
• Sencillo de entender
• Difícil de dominar
3. Manifesto Ágil
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
“Aunque se valore los elementos de la derecha, se valora más los
de la izquierda.”
4. Individuos e interacciones sobre
procesos y herramientas
Enfocado en el equipo, el cual ofrece valor al negocio y el
cual trabaja en conjunto.
Interaccionan entre ellos para llegar a conseguir el objetivo
propuesto.
Una vez se establecen los objetivos del equipo:
Determinar cómo se va a realizar el trabajo
Hacer el trabajo
Identificar los pasos a realizar
Asumir las responsabilidades frente a los dificultades
presentadas
Trabajar junto a otros equipos fuera de su ámbito
5. Software funcionando sobre
documentación extensiva
En el desarrollo de cada sprint, Scrum realiza incrementos de
funcionalidad sobre el producto.
Las actividades a realizar durante en el sprint, se enfocan en el
valor aportado al producto.
En cada sprint no existe la obligación de desplegar las mejoras
realizadas sobre el producto, pero el equipo se tiene que
asegurar que los cambios a realizar son de calidad.
6. Colaboración con el cliente sobre
negociación contractual
Se promueve y facilita la colaboración entre los miembros del
equipo, colaborando entre sí para encontrar la mejor manera de
construir y entregar el software, o cualquier otro producto.
El product owner, se involucra en la colaboración del desarrollo
para inspeccionar y adaptar las mejoras en el producto final y
aportar el mayor valor posible al producto.
7. Respuesta ante el cambio sobre
seguir un plan
Los equipos frecuentemente hacen planes, antes de empezar se
tiene que planificar el sprint actual, con esto se ayuda al equipo
y al negocio en las toma de decisiones.
El objetivo del equipo es no seguir estrictamente un plan, de lo
contrario, es aportar valor al producto y aceptar el cambio.
Según se descubre nueva información, se va actualizando el
product backlog, por lo que la dirección del software puede ir
cambiando.
9. Product owner
Expresa claramente las necesidades del producto en el product
backlog
Ordena los elementos del Product backlog para conseguir los
objetivos
Optimiza el valor del trabajo que el equipo de desarrollo realiza
Se asegura de que el product backlog es visible, transparente y claro
para todos, muestre correctamente el trabajo que el equipo de
desarrollo va a realizar
Asegurar que el equipo de desarrollo entiende las historias del
product backlog en todos los niveles necesarios
10. Equipo de desarrollo
Son auto-organización y nadie (ni tan siquiera el Scrum Master)
le dice al equipo de desarrollo de cómo convertir el product
backlog en incrementos de funcionalidad potencialmente
entregable
Los equipos de desarrollo son multi-funcionales, con todas las
habilidades necesarias para crear un incremento del producto
No reconoce los títulos de los miembros del equipo de desarrollo
distintos de desarrollador, independientemente del trabajo que
realiza cada persona
Los miembros del equipo de desarrollo, individualmente pueden
tener habilidades especializadas y áreas de interés, pero la
responsabilidad pertenece al equipo de desarrollo en su
conjunto.
11. Equipo de desarrollo - Tamaño
El tamaño del equipo de desarrollo para ser óptimo tiene que ser
lo suficientemente pequeño como para permanecer ágil y lo
suficientemente grande como para completar un trabajo
significativo dentro de un Sprint
Menos de tres miembros del equipo de desarrollo disminuyen la
interacción y los resultados en la productividad
Pequeños equipos de desarrollo con habilidades pueden
encontrar restricciones durante el Sprint, haciendo que el equipo
de desarrollo sea incapaz de ofrecer un incremento
potencialmente entregable
Tener más de nueve miembros requiere demasiada
coordinación.
12. Scrum Master
Definición
Es el responsable de
asegurar que se entiende
Scrum y de comunicarlo,
asegurándose de que el
Equipo se adhiere a la
teoría Scrum, con sus
prácticas y normas.
Es un líder para el Equipo
que ayuda a los que están
fuera del equipo Scrum a
entender cuáles de sus
interacciones con el Equipo
son útiles y cuáles no lo
son.
Ayuda a todos a cambiar
estas interacciones para
maximizar el valor creado
Servicios
• Scrum master al servicio
del product owner
• Scrum master al servicio
del equipo de desarrollo
• Scrum master al servicio de
la organización
14. Actividades en Scrum
Sprint
Planificación del Sprint
Scrum diario
Revisión del Sprint
Sprint Retrospective
15. Sprint
Definición
Tiempo determinado de un mes o menos durante el cual se finalizan una
serie de tareas utilizables, y generando un producto potencialmente
entregable.
Un nuevo Sprint se inicia inmediatamente después de la conclusión del
Sprint anterior.
Cada Sprint tiene una definición de lo que es para ser construido, un
diseño y un plan flexible que guiará su construcción, el trabajo, y el
producto resultante.
Normas
No se realizan cambios que pondría en peligro el objetivo del Sprint
Los objetivos de calidad no disminuyen
Duración
Los sprints se limitan a un mes natural, cuando el horizonte de un
Sprint es demasiado tiempo, la definición de lo que se está
construyendo puede cambiar, la complejidad puede aumentar, y el
riesgo puede aumentar.
20. KANBAN
Palabra japonesa que en la que kan significa visual y ban tarjeta,
por lo que se denomina “tarjetas visuales”
Técnica creada en en Toyota, la cual se hace uso para para
controlar el avance del trabajo, en el contexto de una línea de
producción
Está dentro de la estrategia Kaizen, la mejora continua y
mejorada
Tras la metodología Lean, igualmente creada por Toyota para
mejorar su producción, con el uso de técnicas just-in-time (JIT)
No es una técnica específica del desarrollo software, su objetivo
es gestionar de manera general como se van completando
tareas
Durante los últimos años se ha utilizado en la gestión de
proyectos de desarrollo software, y en conjunto con Scrum
(Scrumban)
21. Reglas
Visualizar el trabajo y las fases del ciclo de producción o flujo de
trabajo
Determinar el límite de “trabajo en curso” (Work In Progress)
Medir el tiempo en completar una tarea (lead time)
22. Visualizar el trabajo y las fases del
ciclo de producción o flujo de trabajo
Kanban realiza el desarrollo incremental (semejante a Scrum)
Una de sus principales características es el uso de técnicas
visuales
El trabajo se divide en tareas, y se gestionan por medios de
herramientas o pizarras con post-it
La pizarra tiene tantas columnas como estados por los que
puede pasar la tarea
23. OBJETIVO
• Indicar el trabajo a realizar
• Consultar en que se encuentra trabajando
cada persona
• Asegurar que todo el equipo tenga algo que
hacer
• Tener conocimiento de la prioridad de las
tareas.
24. Determinar el límite de “trabajo en
curso” (Work In Progress)
Work In Progress (WIP) limitado
Se define el número de tareas que como máximo se puede realizar en
cada fase del ciclo de trabajo (WIP)
El número WIP se coloca entre paréntesis debajo del nombre de cada
tarea
La idea es centrarse en cerrar tareas y no en comenzar tareas
Limitar el WIP impide empezar nuevas tareas sin que se haya cerrado
aquellas en las que se encuentren en curso
Problema: Es muy complicado llegar a WIP adecuado
25. Medir el tiempo en completar una
tarea (lead time)
Tiempo que se tarda en terminar cada tarea
Se cuenta desde que se hace una petición hasta
que se hace la entrega
26. Medir el tiempo en completar una
tarea (cycle time)
Mide el trabajo sobre una tarea, desde que comienza hasta que
termina
Si con el “lead time” se mide lo que ven los clientes, lo que
esperan, y con el “cycle time” se mide más el rendimiento del
proceso
27. CONCLUSIONES
Lo mas común es utilizar la unión de Scrum y Kanban.
Diferencias:
Kanban posee menos reglas que Scrum
Kanban no define iteraciones (Sprints)
Kanban limita las tareas que se pueden realizar en
cada fase (WIP), en cambio Scrum lo hace
indirectamente por medio del sprint planning
Semejanzas:
Kanban realiza el desarrollo incremental
(semejante a Scrum)