Gestión Ágil con Scrum
Casos Practicos
1. Supongamos que nos han contratado de una
empresa de transporte para construir autobuses
para el traslado de niños desde su casa a la escuela
y desde la escuela a su casa.
1. Supongamos que nos han contratado de una
empresa de transporte para desarrollar la app para
los autobuses qué traslada a los niños desde su casa
a la escuela y desde la escuela a su casa.
1. Supongamos que nos han contratado el
ayuntamiento para diseñar y construir las rutas de
autobuses qué traslada a los niños desde su casa a
la escuela y desde la escuela a su casa.
1. Supongamos que nos han contratado el
ayuntamiento para desarrollar la app de las rutas de
autobuses qué traslada a los niños desde su casa a
la escuela y desde la escuela a su casa.
Donde tendremos en cuenta las características o funcionalidades
que el autobús debe tener, hemos dividido la problemática en:
Metodología Desarrollo en Cascada al Desarrollo Ágil!
Predictiva
Desarrollo en
Cascada
Este método sigue fases
estrictas que se adhieren a un
plan previamente diseñado con
requerimientos inamovibles al
principio del proyecto.
Director de Proyecto
Emplea:
Tiempo en negociación.
Ejecutando hitos,funcionalidades, recursos, etc.
Duración de las fases de planificación.
Steve Blank.
"Desarrollo en cascada"
ü Los clientes exponen todos
sus requisitos antes de
comenzar el largo proceso de
desarrollo incluido en el
proyecto.
ü El director de proyecto
traza todos los movimientos
del proyecto mediante la
gestión de las entregas.
´Si todo va bien,
el proyecto produce
un lanzamiento en el tiempo
y presupuesto acordados´.
No obstante, existen grandes
inconvenientes asociados a la
gestión de proyectos utilizando
metodologías predictivas:
ü No son capaces de
responder a los cambios.
ü La entrega de un producto
funcional toma mucho tiempo.
Teniendo en cuenta la naturaleza de la
tecnología:
“Es posible que un lanzamiento de
producto a seis meses vista, sobre
requisitos fijos, no se corresponda con las
necesidades de los clientes”
“Surge la historia
del desarrollo ágil”
Que se diseña para
acomodar mejor los cambios
y la necesidad de desarrollar
más rápido los productos.
Javier Garzas.
"Metodologías ágiles"
El director de
Proyecto
ü Facilitar el trabajo del equipo de
desarrollo.
ü Eliminar los cuellos de botella.
ü Ayuda al equipo a mantenerse
centrado en
ü Entregar iteraciones con cierta
regularidad.
“Los proyectos de desarrollo ágil incluyen menos hitos,
pero más horas, selección de funcionalidades,
priorización y reuniones “.
“El equipo de desarrollo decide en
última instancia, al principio de cada
sprint o iteración, lo que se puede
conseguir en el tiempo asignado y
produce una serie de funcionalidades,
entregando un producto que puede
ser instalado en un. ambiente de
producción al final de un sprint.”
¿Qué es el Manifiesto
ágil?
El Agile Manifesto, Manifiesto ágil o
Manifiesto para el desarrollo de software
ágil es una declaración de valores y
principios sobre nuevas formas de
desarrollar software que surgió en 2001,
como reacción a los tradicionales
métodos formales con los que se
trabajaba entonces en la industria.
¿Qué es el Manifiesto
ágil?
En 2001, diecisiete informáticos críticos de
los métodos de desarrollo de software
basados en procesos se reunieron en Utah
para reflexionar sobre nuevos modos de
crear software. En ese encuentro acuñaron
el término “metodologías ágiles” para
referirse a aquellas (Extreme Programming,
Scrum, DSDM, etc.) que estaban surgiendo
como alternativa a los métodos formales
(como CMMI o SPICE), a los que
consideraban demasiado rígidos por su
carácter normativo y las planificaciones
exhaustivas previas al desarrollo que
requerían.
¿Qué son los valores ágiles?
Los 4 valores
ágiles son:
1. Individuos e interacciones
sobre procesos y herramientas.
2. Software funcionando sobre
documentación extensiva.
3. Colaboración con el cliente
sobre negociación contractual
4. Respuesta ante el cambio
sobre seguir un plan.
Los 12 principios ágiles,
definidos en el manifiesto agile y
que nos ayudan a poner en
práctica los 4 valores ágiles,
son:
• 1. Nuestra mayor prioridad es satisfacer al cliente. ¿Y
cómo? Pues mediante la entrega temprana y continua de
software con valor.
• 2. Aceptamos que los requisitos cambien, incluso en
etapas tardías del desarrollo. Los procesos ágiles
aprovechan el cambio para proporcionar ventaja
competitiva al cliente.
• 3. Entregamos software funcional frecuentemente, entre
dos semanas y dos meses, con preferencia al periodo de
tiempo más corto posible.
Los 12 principios
ágiles…
• 4. Los responsables de negocio y los
desarrolladores tenemos que trabajar juntos de forma
cotidiana durante todo el proyecto.
• 5. Los proyectos se desarrollan en torno a individuos
motivados. Hay que darles el entorno y el apoyo que
necesitan, y confiarles la ejecución del trabajo.
• 6. El método más eficiente y efectivo de
comunicar información al equipo de desarrollo y entre sus
miembros es siempre la conversación cara a cara. En los
tiempos que corren es más complicado, pero en su defecto
tenemos la videoconferencia.
Los 12 principios ágiles….
• 7. El software funcionando es la medida principal de
progreso.
• 8. Los procesos ágiles promueven el desarrollo
sostenible. Los promotores, desarrolladores y usuarios
debemos ser capaces de mantener un ritmo constante de
forma indefinida.
• 9. La atención continua a la excelencia técnica y al
buen diseño mejora la Agilidad.
Los 12 principios
ágiles….
• 10. La simplicidad, o el arte de
maximizar la cantidad de trabajo no
realizado, es esencial.
• 11. Las mejores arquitecturas, requisitos
y diseños emergen de equipos
autoorganizados.
• 12. A intervalos regulares, el equipo
reflexiona sobre cómo ser más efectivo
para a continuación ajustar y
perfeccionar su comportamiento en
consecuencia.
Definición de la
Metodología Ágil
La Metodología Ágil es un enfoque
de gestión de proyectos que se
basa en la entrega iterativa e
incremental, la colaboración y la
adaptación continua. Se centra en
la flexibilidad, la respuesta rápida a
los cambios y la satisfacción del
cliente.
Principios de la Metodología Ágil
1. INDIVIDUOS E INTERACCIONES 2. SOFTWARE FUNCIONANDO 3. COLABORACIÓN CON EL CLIENTE 4. RESPONDER AL CAMBIO SOBRE
SOBRE PROCESOS Y HERRAMIENTAS SOBRE DOCUMENTACIÓN SOBRE NEGOCIACIÓN SEGUIR UN PLAN
EXTENSIVA CONTRACTUAL
Beneficios de la
Metodología Ágil
- Mayor satisfacción del cliente
- Mayor adaptabilidad a los cambios
- Entregas incrementales de valor
- Mayor colaboración y comunicación
- Mayor motivación y compromiso del equipo
¿Qué es Scrum?
ü Scrum es un marco de trabajo ágil para la
gestión y desarrollo de proyectos de
software.
ü Se basa en la colaboración, transparencia y
adaptabilidad para entregar productos de
alta calidad de manera iterativa e
incremental.
Roles en Scrum: • El Product Owner (Dueño del Producto)
Está conformado por 3 roles principales:
• El Scrum Master (Dueño del proceso)
• El Team (Miembros del Equipo de Desarrollo).
Existen 5 Eventos
en Scrum
• Sprint
• Planificación del sprint (Sprint Planning)
• Scrums diarios (Daily Scrum)
• Revisión del Sprint (Sprint Review)
• Retrospectiva del Sprint (Sprint
retrospective)
1. Sprint
2. Reunión de
planificación del
Sprint (Sprint
Planning Meeting)
3. Scrum
diarios (Daily
Scrum
Meeting)
4. Revisión del
sprint (Sprint
review)
5. Retrospectiva
del Sprint (Sprint
retrospective)
Fundamentos de Scrum
Es un marco de trabajo en el cual las personas
pueden enfrentarse a cuestiones complejas y
problemas de complejidad adaptativa mientras
consiguen lanzar productos de manera productiva y
creativa con el mayor valor añadido posible.
El desarrollo incremental
de los requisitos del
proyecto en bloques
temporales o iteraciones,
cortos y fijos (de un mes
natural y hasta de dos
semanas, si así se
necesita).
El control
empírico del
proyecto.
La potenciación
del equipo.
La sistematización de
la colaboración y la
comunicación tanto
entre el equipo como
con el cliente.
El timeboxing de las
actividades del
proyecto para ayudar
a la toma de
decisiones y conseguir
resultados.
El Scrum es: • Ligero
• Fácil de entender
• Difícil de dominar plenamente
Artefactos en Scrum
Scrum cuenta con tres
artefactos, las herramientas
que sirven para solucionar
problemas o comprobar el
trabajo realizado: Product
Backlog, Sprint
Backlog e Incremento.
Product Backlog
Sprint Backlog
La metodología de cascada y Scrum son dos enfoques diferentes utilizados en
el desarrollo de software. A continuación, te mostraré las diferencias entre
ambas:
Metodología de cascada: Scrum:
1. Secuencial 1. Iterativo e incremental:
2. Requisitos completos al principio 2. Requisitos flexibles:
3. Fases bien definidas: 3. Roles definidos
4. Poca flexibilidad: 4. Enfoque en la colaboración y
5. Entregables al final del proyecto: comunicación
5. Entregables en cada sprint