Está en la página 1de 21

SCRUM

Fundamentos de ingeniera de Software

Equipo:
Brandon Gamio Cruzaley
Jos Luis Delgado Torres

Definicin
Scrum es una metodologa gil, que puede ser usada para
manejar el desarrollo de productos complejos de software.
Se basa en construir primero la funcionalidad de mayor valor
para el cliente y en los principios de inspeccin continua,
adaptacin, auto-gestin e innovacin.

Ejemplos de donde se utiliza


Scrum
Ejemplos de software:

TargetProcess
Scrumrf: herramienta online
ScrumWorks
Agile Scrum Project CheatSheet(versin
para Android)

Quin lo usa?
Google
Microsoft
Siemens
Oracle

Para qu?
Software comercial
Proyectos internos
Proyecto de precio fijo
Aplicaciones financieras
Sitios web

Las principales caractersticas de


SCRUM:
El desarrollo de software se
realiza mediante
iteraciones, denominadas
sprints, con una duracin
de 30 das. El resultado de
cada sprint es un
incremento ejecutable que
se muestra al cliente.

La segunda caracterstica
importante son las
reuniones a lo largo del
proyecto, entre ellas destaca
la reunin diaria de 15
minutos del equipo de
desarrollo para
coordinacin e integracin.

Las reuniones

El Sprint es el perodo en el cual se lleva a cabo el trabajo en s

1.PLANIFICACIN
DE SPRINT
Caractersticas:
Jornada de trabajo previa al
inicio de cada sprint en la que se
determina cul va a ser el
trabajo y los objetivos que se
deben cumplir en esa iteracin.

1 jornada de trabajo
Propietario: explica las
prioridades y dudas del
equipo
Equipo: estima el esfuerzo
de los requisitos
prioritarios y se elabora la
pila del sprint
Scrum Manager: define el
objetivo del sprint.

2.-Reunion Diaria
Breve revisin del equipo del
trabajo realizado hasta la fecha y
la previsin para el da siguiente.

Caractersticas:
15 minutos
Dirigida por el Scrum
Manager
Solo puede intervenir
el equipo
Qu hiciste ayer y que
hars hoy?
Se actualiza la pila
del sprint

3.-Revision del Sprint


Caractersticas:
Anlisis y revisin del
incremento generado.

4 horas
Informativa
Moderada por el Scrum
Manager
Se presenta el
incremento,
planteamiento de
sugerencias y el anuncio
del prximo sprint

Equipo y
Roles

Estaran
comprometidos

Scrum
master

Equipo

Product
owner

Stakeholders

Usuarios
Estaran
implicados

Scrum
master

Una persona con grandes


conocimientos y experiencia en
tcnicas y mtodos de desarrollo de
software.
RESPONSABILIDADES:
Garantizar la correcta aplicacin
de Scrum.
Resolver los conflictos que
entorpezcan el progreso del
proyecto.
Incentivar y motivar al Scrum
Team, creando un clima de trabajo
colaborativo.

Equipo

Es el equipo de desarrolladores
multidisciplinario, formado por
programadores, diseadores,
testers y dems, que de forma autoorganizada, ser los encargados de
desarrollar el producto.
RESPONSABILIDADES:
Transformar el Backlog, en
cada iteracin, en un
incremento en la
funcionabilidad del producto.
Planificar su propio trabajo
para lograrlo.
Son responsables en conjunto
del xito de cada iteracin y del
proyecto en su totalidad.

Persona que representa a todos


los stakeholders y es la nica
autorizada para decidir qu
funcionalidades y caractersticas
funcionales tendr el producto.
Representa al cliente, usuarios del
software y todas aquellas partes
interesadas en el producto.

Product
owner

RESPONSABILIDADES:
Saber "escuchar" a las partes
interesadas en el producto y
transmitirlas en "objetivos de
valor para el producto" al equipo
de Scrum
Revisar el producto e ir
adaptndole sus funcionalidades

Los roles gallina en realidad no son


parte del proceso pero deben tenerse
en cuenta. Incluyen a los usuarios, y
otros interesados (stakeholders). Es
importante que esa gente participe y
entregue feedback con respecto a fin
de revisar y planear cada sprint.

Stakeholders son la fuente ms

Stakeholders
Usuarios

importante de la validacin del


proyecto. Tienen deseos y
necesidades, y son la razn por cual el
equipo est desarrollando el software.

Los usuarios son considerados


como las empresas o personas que
utilizarn el resultado del proyecto o
producto.

Procesos
El proceso parte de la lista de objetivos/requisitos priorizada del producto, que
acta como plan del proyecto. En esta lista el cliente prioriza los objetivos
balanceando el valor que le aportan respecto a su coste y quedan repartidos en
iteraciones y entregas.

PLANIFICACIN
DE LA
ITERACIN

EJECUCIN
DE LA
ITERACIN

INSPECCIN Y
ADAPTACIN

Planificacin de la iteracin
SELECCIN DE REQUISITOS: -Cliente presenta al equipo la lista de
requisitos priorizada del producto o proyecto.
-Equipo pregunta al cliente las dudas que surgen y selecciona los requisitos
ms prioritarios que se compromete a completar en la iteracin.

PLANIFICACIN DE LA ITERACIN: -Equipo elabora la lista de tareas


de la iteracin necesarias para desarrollar los requisitos a que se ha
comprometido. La estimacin de esfuerzo se hace de manera conjunta y los
miembros del equipo se autoasignan las tareas(planeada, en proceso,
verificar y hecha).

Ejecucin de la iteracin
Se realiza una reunin diaria done cada miembro del equipo
inspecciona el trabajo que el resto est realizando para poder
hacer las adaptaciones necesarias que permitan cumplir con el
compromiso adquirido. Se hacen tres preguntas:

Qu he hecho desde la
ltima reunin diaria?
Qu voy a hacer a partir de
este momento?
Qu impedimentos tengo o
voy a tener?

Inspeccin y adaptacin
El ltimo da de la iteracin se realiza la reunin de revisin de
sprint. Tiene dos partes:
El equipo presenta al cliente los requisitos
completados en la iteracin. En funcin de los resultados
mostrados y de los cambios que haya habido en el contexto del
proyecto, el cliente realiza las adaptaciones necesarias de manera
objetiva, ya desde la primera iteracin, replanificando el
proyecto.
El equipo analiza cmo ha sido
su manera de trabajar y cules son los
problemas que podran impedirle progresar
adecuadamente, mejorando de manera
continua su productividad. El Scrum Master
se encargar de ir eliminando los obstculos
identificados.

Ventajas
Cumplimento de
expectativas
Flexibilidad a cambios
El cliente puede empezar a
utilizar las funcionalidades
ms importantes del
proyecto antes de que est
finalizado por completo.
Mayor calidad del software
Mayor productividad
(motivacin del equipo).
Reduccin de riesgos.

Predicciones de tiempos: se
conoce la velocidad media del
equipo por sprint, y es
fcilmente estimar para
cuando se dispondr de una
determinada funcionalidad .

Desventajas
Dificultad de aplicacin en grandes proyectos.
Se requiere de experto en la metodologa que
monitorice su cumplimiento.
Plantea un problema si el desarrollo est
restringido por una fecha de entrega y un precio
de entrega cerrados por contrato
Presupone que los requerimientos cambian, pero
no de forma que el cliente acepte un diseo
funcional/tcnico.
Supone que el equipo est muy formado y
motivado.
Presupone que el cliente est muy involucrado en
el desarrollo, y revisa frecuentemente el avance de
la funcionalidad, pero en realidad el cliente
participa, pero no hasta el punto de dedicar
tiempo y recursos para revisar pequeos avances
en el desarrollo.