unidad 03 metod agiles scrum ppt
TRANSCRIPT
Escuela de Informática y Telecomunicaciones DuocUC Plaza Oeste
Ingeniería de Software
I n fo r m á ti c a y Te l e c o m u n i c a c i o n e s
UNIDAD 2: Ingeniería de Software y Calidad del Software
Metodologías ágiles.Scrum
Christian Lazcano. Docente y Consultor Proyectos Web
2
Metodología Scrum
¿Qué es?
Scrum es una metodología ágil y flexible para gestionar el desarrollo de software,
cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI).
Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los
principios de inspección continua, adaptación, auto-gestión e innovación.
Christian Lazcano. Docente y Consultor Proyectos Web
3
Christian Lazcano. Docente y Consultor Proyectos Web
4
Christian Lazcano. Docente y Consultor Proyectos Web
5
¿CUÁNDO SE UTILIZA?
Con Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve
crecer iteración a iteración.
Asimismo le permite en cualquier momento realinear el software con los objetivos de
negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en
el inicio de cada nueva iteración.
Esta metódica de trabajo promueve la innovación, motivación y compromiso del
equipo que forma parte del proyecto, por lo que los profesionales encuentran un
ámbito propicio para desarrollar sus capacidades.
Christian Lazcano. Docente y Consultor Proyectos Web
6
BENEFICIOS
Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor que
le aporta cada requisito / historia del proyecto, el equipo los estima y con esta
información el Product Owner establece su prioridad. De manera regular, en las demos de
Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y
transmite se feedback al equipo.
Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de requerimientos
generados por necesidades del cliente o evoluciones del mercado. La metodología está
diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos
complejos.
Christian Lazcano. Docente y Consultor Proyectos Web
7
BENEFICIOS
Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades más
importantes del proyecto antes de que esté finalizado por completo.
Mayor calidad del software: La metódica de trabajo y la necesidad de obtener una versión
funcional después de cada iteración, ayuda a la obtención de un software de calidad
superior.
Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la
burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos
para organizarse.
Christian Lazcano. Docente y Consultor Proyectos Web
8
BENEFICIOSMaximiza el retorno de la inversión (ROI): Producción de software únicamente con las
prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de
inversión.
Predicciones de tiempos: Mediante esta metodología se conoce la velocidad media del
equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible
estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que
todavía está en el Backlog.
Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en
primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite
despejar riesgos eficazmente de manera anticipada.
Christian Lazcano. Docente y Consultor Proyectos Web
9
PROCESO Y ROLES DE SCRUM - EL PROCESO
El desarrollo se realiza de forma iterativa e incremental. Cada iteración,
denominada Sprint, tiene una duración preestablecida de entre 2 y 4 semanas,
obteniendo como resultado una versión del software con nuevas prestaciones listas
para ser usadas.
En cada nuevo Sprint, se va ajustando la funcionalidad ya construida y se añaden
nuevas prestaciones priorizándose siempre aquellas que aporten mayor valor de
negocio.
Christian Lazcano. Docente y Consultor Proyectos Web
10
PROCESO Y ROLES DE SCRUMEL PROCESO
Product Backlog: Conjunto de requisitos demoninados historias descritos en un lenguaje no técnico y priorizados por valor de negocio, o lo que es lo mismo, por retorno de inversión considerando su beneficio y coste. Los requisitos y prioridades se revisan y ajustan durante el curso del proyecto a intervalos regulares.
Christian Lazcano. Docente y Consultor Proyectos Web
11
PROCESO Y ROLES DE SCRUMEL PROCESO
Sprint Planning: Reunión durante la cual el Product Owner presenta las historias del backlog por orden de prioridad. El equipo determina la cantidad de historias que puede comprometerse a completar en ese sprint, para en una segunda parte de la reunión, decidir y organizar cómo lo va a conseguir.
Christian Lazcano. Docente y Consultor Proyectos Web
12
PROCESO Y ROLES DE SCRUMEL PROCESO
Sprint: Iteración de duración prefijada durante la cual el equipo trabaja para convertir las historias del Product Backlog a las que se ha comprometido, en una nueva versión del software totalmente operativo.
Christian Lazcano. Docente y Consultor Proyectos Web
13
PROCESO Y ROLES DE SCRUMEL PROCESO
Sprint Backlog: Lista de las tareas necesarias para llevar a cabo las historias del sprint.
Christian Lazcano. Docente y Consultor Proyectos Web
14
PROCESO Y ROLES DE SCRUMEL PROCESO
Daily sprint meeting: Reunión diaria de cómo máximo 15 min. en la que el equipo se sincroniza para trabajar de forma coordinada. Cada miembro comenta que hizo el día anterior, que hará hoy y si hay impedimentos.
Christian Lazcano. Docente y Consultor Proyectos Web
15
PROCESO Y ROLES DE SCRUMEL PROCESO
Demo y retrospectiva: Reunión que se celebra al final del sprint y en la que el equipo presenta las historias conseguidas mediante una demonstración del producto. Posteriormente, en la retrospectiva, el equipo analiza qué se hizo bien, qué procesos serían mejorables y discute acerca de cómo perfeccionarlos.
Christian Lazcano. Docente y Consultor Proyectos Web
16
Christian Lazcano. Docente y Consultor Proyectos Web
17
Christian Lazcano. Docente y Consultor Proyectos Web
18
ROLESEn Scrum, el equipo se focaliza en construir
software de calidad. La gestión de un
proyecto Scrum se centra en definir cuáles
son las características que debe tener el
producto a construir (qué construir, qué no
y en qué orden) y en vencer cualquier
obstáculo que pudiera entorpecer la tarea
del equipo de desarrollo.
El equipo Scrum está formado por los
siguientes roles:
Christian Lazcano. Docente y Consultor Proyectos Web
19
Scrum master: Persona que lidera al equipo guiándolo para que cumpla las reglas y
procesos de la metodología. Gestiona la reducción de impedimentos del proyecto y
trabaja con el Product Owner para maximizar el ROI.
Product owner (PO): Representante de los accionistas y clientes que usan el software. Se
focaliza en la parte de negocio y el es responsable del ROI del proyecto (entregar un valor
superior al dinero invertido). Traslada la visión del proyecto al equipo, formaliza las
prestaciones en historias a incorporar en el Product Backlog y las reprioriza de forma
regular.
Team: Grupo de profesionales con los conocimientos técnicos necesarios y que
desarrollan el proyecto de manera conjunta llevando a cabo las historias a las que se
comprometen al inicio de cada sprint.
Christian Lazcano. Docente y Consultor Proyectos Web
20
E J E M P L O S C R U M
Christian Lazcano. Docente y Consultor Proyectos Web
22
Christian Lazcano. Docente y Consultor Proyectos Web
23
Christian Lazcano. Docente y Consultor Proyectos Web
24
Christian Lazcano. Docente y Consultor Proyectos Web
25
Christian Lazcano. Docente y Consultor Proyectos Web
26
Christian Lazcano. Docente y Consultor Proyectos Web
27
Christian Lazcano. Docente y Consultor Proyectos Web
28
Christian Lazcano. Docente y Consultor Proyectos Web
29
Christian Lazcano. Docente y Consultor Proyectos Web
30
Christian Lazcano. Docente y Consultor Proyectos Web
31
Christian Lazcano. Docente y Consultor Proyectos Web
32
Christian Lazcano. Docente y Consultor Proyectos Web
33
Christian Lazcano. Docente y Consultor Proyectos Web
34
K A N B A NUn Primer paso hacia la agilidad
La agilidad se puede confundir con hacer cosas fáciles – de hecho, lo que se busca es definir
soluciones sencillas e implementarlas paso a paso , lo es que sí es algo dificil – y quienes nos
hemos echado a navegar en estas aguas sabemos que es un viaje largo y no exento de
contratiempos.
Por esto les queremos proponer un punto de partida, un experimento que servirá de primer paso a
la agilidad, que hemos denominado Desafío Kanban.
Esta actividad está pensada para ser ejecutada por una persona de forma individual.
Christian Lazcano. Docente y Consultor Proyectos Web
35
KANBAN
Preparación
1. Al comenzar la semana, listar en post-its las tareas de cada uno para la próxima
semanas
2. Frente al escritorio de trabajo, crear un panel (que llamaremos Tablero Kanban)
con 3 columnas:
• En Cola
• En Curso
• Terminado
Christian Lazcano. Docente y Consultor Proyectos Web
36
KANBANPreparación
3. En la columna En Curso
definimos un máximo de tareas
que vamos a permitir en ella. Así
limitamos el trabajo en curso y
evitamos caer en el desperdicio
que provoca la multi-tarea.
Recomendamos poner un límite
de 1, y si no es posible
mantenerlo, un máximo de 2.
Christian Lazcano. Docente y Consultor Proyectos Web
37
KANBAN
Preparación
Proyección
Listar las nuevas tareas a ejecutar que han aparecido. Estimar el puntaje de esfuerzo de
cada nueva tarea. Si una tarea estaba en curso, estimar el esfuerzo que queda.
A partir del ancho de banda medido de la semana anterior, seleccionar aquellas tareas que
sumen una cantidad de puntaje similar a lo realizado la semana anterior.
Así ajustamos nuestro compromiso a lo que sabemos que podemos realizar
Volver a ejecutar
Christian Lazcano. Docente y Consultor Proyectos Web
38