Metodologia Scrum
Metodologia Scrum
Metodologia Scrum
GESTION DE PROYECTOS
INFORMTICOS
Metodologa Scrum.
Desarrollo detallado de la fase de aprobacin de un proyecto
informtico mediante el uso de metodologas giles.
METODOLOGA SCRUM
Tabla de contenido
1.-
QU ES UN PROYECTO? ............................................................................................... 3
1.1.-
La metodologa
tradicional. ............................................................................................. 14
2.1.1.- La metodologa en
cascada. ..................................................................................... 15
2.1.2.- Metodologa RUP. ....................................................................................................
17
2.2.- Metodologas
giles ......................................................................................................... 21
2.3.- Comparativa Entre Desarrollo gil Y Desarrollo Tradicional............................................
23
2.4.- Manifiesto
gil ................................................................................................................. 26
2.5.- Los 12 principios del manifiesto
gil. ............................................................................... 31
3.SCRUM. ...................................................................................................................... 32
3.1.-
Introduccin: ..................................................................................................................
.. 32
3.2.- Componentes de
Scrum. ................................................................................................... 35
3.2.1.- Las
Reuniones. ..........................................................................................................
3.2.2.- Los
35
Roles. ..................................................................................................................
3.3.- Elementos
de
35
Scrum. ........................................................................................................ 36
3.3.1.- Product
Baklog. ........................................................................................................ 37
3.3.1.1 Las historias de
Usuario........................................................................................ 38
3.3.1.2 Formato de la Pila Del Producto (Product Baklog). ..............................................
39
3.3.2.- Sprint
Backlog. .......................................................................................................... 40
3.3.3.- Incremento. ............................................................................................................
.. 41
4.DESARROLLO DE LAS FASES DE UN PROYECTO EN SCRUM. ...........................................
41
4.1.- Preparacin del
proyecto. ............................................................................................... 41
4.1.1.- Las Estimaciones del
Backlog ................................................................................... 42
4.2.- Planificar un
Sprint. .......................................................................................................... 44
4.2.1.- La Estimacin del
Sprint. .......................................................................................... 47
4.2.1.1 Planificacin De
Pker. ......................................................................................... 47
4.2.1.2 Mantener el Backlog del
Sprint. ........................................................................... 48
Pgina 1
METODOLOGA SCRUM
Pgina 2
METODOLOGA SCRUM
1.- QU ES UN PROYECTO?
Segn la definicin que nos proporciona PMI en su gua PMBOOK, un proyecto se podra definir
como un servicio temporal que se lleva a cabo para crear un producto, servicio o resultado
nico.
Podemos decir entonces que un proyecto tiene un inicio y un fin, este fin se tiene que
alcanzar
dentro de un tiempo fijado.
En un proyecto la consecucin de los objetivos al final del mismo es la mxima deseada, pero
la
mayor parte de las veces, bien por una mala planificacin, o bien por una mala gestin de los
recursos, es imposible finalizar el proyecto con xito. Aun as se da por finalizado (Figura.- 1).
Marco temporal
Objetivo
Alcanzado
Fin
Inicio
Fracaso
Que el proyecto llegue o no a alcanzar los objetivos depende en gran medida de varios
factores.
El proyecto ideal sera aquel que cumple las siguientes condiciones:
Entorno: No sufre modificaciones de forma rpida, sino que se alargan en el
tiempo.
Cliente: Tiene muy claro que es lo que se necesita, sabe transmitirlo y nosotros
entendemos perfectamente sus necesidades.
Equipo: Disponemos del equipo de profesionales necesario para poder atender a esa
necesidad y adems sabemos cmo resolverla.
Fases: Las fases se haran de una forma lineal, organizada y no surgira ningn
problema
durante su realizacin.
Durante estas fases se realizan las siguientes
actividades:
1. Se hace una toma de requerimientos al principio de nuestro proyecto y no sera
necesaria ninguna reunin ms hasta la entrega final.
2. Se crea la documentacin necesaria en cada fase, y se hace entrega de ella a las
fases siguientes.
Pgina 3
METODOLOGA SCRUM
Toma de
requerimientos de
forma adecuada
Elaboracin de la
documentacin de
forma correcta
para cada fase.
PROYECTO
IDEAL
No hay
modifaciones. El
producto es
correcto.
Cliente
Usuarios
Tiempo
Coste
Jefe de
Proyecto
Pgina 4
METODOLOGA SCRUM
1. El cliente: Ser la persona que nos est pidiendo una solucin para un problema
especfico.
2. El usuario: La persona que utilizar esta nueva solucin.
3. El tiempo: El proyecto se atendr a unas fechas de comienzo y unas fechas de
fin.
4. Jefe de Proyecto: Figura necesaria para la gestin de los recursos, as como la
planificacin del proyecto.
Para poder realizar una buena interrelacin de todos estos elementos se debera tener en
cuenta
una serie de puntos:
Deberamos definir qu estructura de organizacin se va a usar. Es importante en este
punto, la aplicacin de la experiencia en proyectos anteriores, puesto que, una buena
comunicacin entre los diferentes departamentos que la definen es vital en la gestin
del
proyecto.
Cuando se defina la organizacin a usar, se tendr especial cuidado en que pueda
cambiar
a lo largo del tiempo, es necesario realizar revisiones peridicas.
Se deberan de definir qu fases van a componer el proyecto.
Creacin de roles y las responsabilidades que implica cada uno de
ellos.
Las tareas que definen el proyecto deberan de estar definidas de forma correcta. Al
mismo tiempo, las tareas tienen que ser validadas por el personal responsable.
Gestionar todos estos elementos necesitan de una figura - sera aqu donde aparece el
Jefe de Proyectos - y tambin una entidad dentro de la organizacin que sera la
Oficina
de Direccin de Proyectos.
Todos estos puntos llevan a la aparicin de una nueva disciplina, la Gestin de
Proyectos.
Realmente la Gestin de Proyectos surgi ya como necesidad en los aos 50 en el mbito
militar.
Los proyectos que se desarrollaban eran de gran magnitud y necesitaban de personal
cualificado
en
diferentes
disciplinas,
lo tanto,
la coordinacin
estos
grupos
era un paso
A partir
de este
momentopor
surgen
nuevos
conceptos a de
la par
que
herramientas
que natural.
van a
facilitar
la gestin de un proyecto, como son el ciclo de vida, descomposicin en tareas, realizacin de
grficos, etc
La Gestin de Proyectos se podra definir como la disciplina de planear, organizar, asegurar y
coordinar recursos y personas para cumplir con los Objetivos, Entregables y Criterios de xito
de
los proyectos (fuente Wikipedia).
Pgina 5
METODOLOGA SCRUM
METODOLOGA SCRUM
produciendo, as como las desviaciones en los costes. Las evaluaciones de cada final de fase
suelen tener diferentes nombres como salidas de fase, puntos de impacto o puertas de
etapas.
Sin embargo, en algunas ocasiones se comienza la fase siguiente antes de la aprobacin de
los
productos a entregar de la fase anterior, cuando los riesgos percibidos se pueden asumir. A la
prctica de superponer fases suele denominarse va rpida.
La mayor parte de los ciclos de vida comparten las siguientes
caractersticas:
El coste del personal es bajo al comienzo, ms alto hacia la mitad, y menor al llegar al
final
del proyecto.
El riesgo y la incertidumbre de finalizar el proyecto con xito es ms alta al principio
del
proyecto y la probabilidad de fracaso disminuye a medida que se va avanzando en el
proyecto.
La influencia por parte de los participantes en el producto es ms alta al comienzo del
mismo y decae progresivamente con la continuacin del proyecto. Hay que tener en
cuenta que el coste de los cambios y los errores tiende a aumentar a medida que
avanza
el proyecto.
Los ciclos de vida del proyecto responden a:
Qu trabajo se va a realizar en cada fase?
Quin participar en cada fase?
Las fases se definirn de forma secuencial, es decir, que una fase no comienza hasta
que
termina la otra. Suelen contener una serie hitos o tareas que marcan los momentos
ms
importantes
el desarrollo
del proyecto.
As pues,
la base deen
cada
fase se puede
resumir en:
Entradas
Hitos
Entregables
Pgina 7
METODOLOGA SCRUM
El enfoque de ciclo de vida ms usado en las ciencias de la informacin es el que usa las
siguientes
seis fases definidas en funcin de los recursos necesarios:
Fase Inicial
Hito 1: Anlisis de
requerimientos
Definicin
Hito 5: Definicin de las actividades.
Ejecucin
Hito 8: Desarrollo.
Entrega
Hito 11: Entrega del producto.
Soporte y Mantenimiento.
Hito 12: Desarrollo de productos para el soporte. No siempre es necesario.
Todas estas fases, sobre todo en la fase de ejecucin del proyecto suelen ir acompaadas de
unas
etapas complementarias como son, el control, la verificacin y el cumplimiento de las normas.
En
Espaa
existe la
norma UNE157001
estde
ligada
a las TI. el cual puede comenzar o
Es importante
diferenciar
entre cicloque
de vida
un proyecto,
terminar
de forma independiente al inicio de la gestin de proyecto, y el ciclo de vida de la gestin de
proyectos el cual puede finalizar antes de que el producto est finalizado. A pesar de que son
ciclos diferentes, no son independientes.
Pgina 8
METODOLOGA SCRUM
Figura.- 7: Relacin entre el ciclo de vida del producto y el ciclo de vida de un proyecto (Fuente INTECO: Gua
prctica de gestin de Proyectos).
Tanto para el ciclo de vida de un proyecto como para el ciclo de vida de gestin de proyectos
se
puede seguir aplicando el modelo tradicional de planificacin PDCA (Plan, Do, Check, Act), es
decir, Planificar, Hacer, Verificar, Actuar.
ACTUAR
PLANIFICAR
Decidir qu
cambios son
necesarios para
mejorar el proceso.
Diseo y revisin
de los procesos
empresarialesy su
perfeccionamiento.
Poner en prctica el
plan y medir su
rendimiento.
VERIFICAR
HACER
Pgina 9
METODOLOGA SCRUM
Pgina 10
METODOLOGA SCRUM
Figura.- 9: Ejemplo desarrollo bsico de un ciclo de mejora con PDCA para la gestin de
competencias (fuente: www.pdca.es).
Fases
Control y
Evaluacin
Documentacin
Metodologa
Tcnicas y
herramienas
Mtodos
Pgina 11
METODOLOGA SCRUM
1. LAS FASES: En este punto se marcarn las diferentes actividades que hay que realizar
por
cada fase.
2. LOS METODOS: Se tendr que identificar el modo en el que se realizar el proceso de
desarrollo del producto software. Generalmente se suele descomponer los procesos en
tareas ms pequeas, en estas tareas se definen los valores que recibir cada fase as
como los que generar y la tcnica que se tendr que usar.
3. TECNICAS Y HERRAMIENTAS: Indicarn cmo se debera de resolver cada tarea y qu
herramientas podramos usar. Existe diferentes tipos de tcnicas, algunas de ellas son:
a. De recopilacin de datos: Uso de entrevistas, formularios, etc
b. Tcnicas grficas: Diagramas, organigrama, diagramas de matrices,
etc
c. Tcnicas de modelado: Desarrollos estructurados y orientados a objetos:
4. DOCUMENTACIN: Es necesario indicar qu documentacin se va a entregar durante
todas las fases, esa documentacin se debera de realizar de una manera exhaustiva y
completa usando todos los valores de entrada y salida que se van generando, esto
servir
para recoger los resultados y tomar decisiones de las diferentes situaciones planteadas.
5. CONTROL Y EVALUACIN: El control y la evaluacin tambin se debe de realizar a lo
largo
de todo el ciclo de vida. Consistir en comprobar y aceptar/denegar todos los resultados
que se vayan obteniendo y poder replantear, si es necesario, una nueva planificacin de
las tareas asignadas, la meta ser lograr el objetivo.
Suelen usarse tcnicas, como PERT o los diagramas de Gannt.
Aunque no todas las metodologas tienen las mismas caractersticas, s deberan de compartir
los
siguientes puntos para poderse catalogar como una buena metodologa:
1. Ha de ser una metodologa impersonal.
2.
3.
4.
5.
Que cubra todo o la mayor parte del ciclo de vida del proyecto.
6.
7.
8.
9.
10. La formacin.
11. El coste.
Pgina 12
METODOLOGA SCRUM
Las ventajas que aporta el uso de una metodologa para crear un producto se podra resumir
en
los siguientes puntos:
Facilitan la planificacin.
Facilitan el control y el seguimiento adecuado del proyecto.
Mejoran el uso de los recursos.
Permiten evaluar de forma ms fcil los resultados obtenidos y valorar los objetivos
conseguidos.
Mejoran la comunicacin entre el cliente y las personas que van a llevar a cabo el
proyecto.
Garantizan que el producto final tendr la calidad esperada.
Se tendrn presentes unos plazos para el desarrollo del producto.
Permitir definir el ciclo de vida adecuado al proyecto.
Una vez conocidas las ventajas llegar el momento de escoger la metodologa. Esta seleccin
depender de factores como el tamao de la organizacin, experiencia profesional y la
capacidad
de innovar, las herramientas tcnicas de las que se dispone y el tipo de proyecto a desarrollar.
Estos factores se tienen que tener en cuenta, puesto que una metodologa adecuada para el
desarrollo de un servicio o de un producto, no tiene por qu serlo para otro, por muy similar
que
sea.
Podramos realizar una clasificacin de las metodologas existentes en base a los siguientes
enfoques:
El sistema se concibe como un conjunto de unidades que
entran-se procesan-salen. Aplican los conceptos de la
Metodologas
programacin estructurada y fueron las primeras en
orientadas al flujo de aparecer.
informacin:
SEG
N LA
NATUR
ALEZA
Metodologas hbridas:
SSADM.
Pgina 13
METODOLOGA SCRUM
FORMALI
SMO Metodologas giles:
Este ltimo enfoque da lugar a que aparezcan detractores de las metodologas giles. El
motivo es
que estas metodologas al simplificar el proceso ya no son tan rigurosas y afectarn a la
calidad
del software, sin embargo ser la nueva tendencia a seguir.
Las metodologas tradicionales son el primer tipo de metodologa que surge como gua para
garantizar la creacin de un producto con un nivel de calidad.
Esta metodologa es una disciplina que tiene como base una gestin predictiva, es decir, que
parte de unos requisitos iniciales. Con estos requisitos se configurar un plan adecuado
usando
los recursos y el tiempo necesarios, durante la fase de creacin se comprueba si hay
desviaciones,
si las hay se definen las medidas a tomar y valorar cules son las modificaciones que puede
experimentar la planificacin original.
Por lo tanto, esta metodologa define un conjunto de fases secuenciales en las que se indican
las
operaciones que se van a realizar, el tiempo que van a llevar y cual va a ser su coste.
Las caractersticas ms relevantes de esta metodologa son:
Los requisitos son definidos durante todo el proyecto.
Se basa en los procesos.
Se supone que el proyecto no va a surgir ningn tipo de cambio por lo tanto no est
sujeto a variables.
Los proyectos suelen estar bien documentados.
Gestin predictiva.
El desarrollo se define en fases cuyo conjunto se denomina ciclo de
vida.
Documentacin exhaustiva de todo el proyecto.
Se enfocan en obtener el producto en tiempo estimado y con el coste
establecido.
Pgina 14
METODOLOGA SCRUM
PMBOOK define los siguientes procesos para una gestin de proyectos con base de una
metodologa tradicional.
Figura.- 11: Imagen extrada del PMBOOK 2004 que representa los procesos de una gestin de
proyectos clsica o tradicional.
Pgina 15
METODOLOGA SCRUM
Requerimientos
del Sistema
Analista
Requerimientos
del Software
Analista
Anlisis
Analista
Diseo del
Programa
Analista
Arquitectos del software
Codificacin
Desarrolladores
Pruebas
Desarrolladores
Probradores
Implantacin
Gestor de Proyectos
Desarrolladores
Pgina 16
METODOLOGA SCRUM
Sin embargo tiene el inconveniente de que para el desarrollo es necesario tener todos los
requisitos al principio, el problema es que la mayor parte de las veces el cliente al comienzo
del
proyecto no tiene definidas todas las especificaciones y puede ser que surjan situaciones o
casos
imprevistos. Adems aade el inconveniente de que al ser secuencial la correccin de errores
se
vuelve ms difcil, estos errores no se descubren hasta el final que es cuando el cliente va a
Todos
ver el estos inconvenientes hacen que la metodologa finalmente sea ms costosa y
lenta.
resultado, por lo tanto habr que gastar recursos otra vez.
Quizs s es una metodologa adecuada cuando se tienen todas las especificaciones de forma
inicial, el tipo de producto ya es conocido o es un proyecto que se entiende su naturaleza
perfectamente.
Pgina 17
METODOLOGA SCRUM
Cada una de estas fases se desarrollar mediante un ciclo de interacciones, stas consisten
en
hacer un ciclo de vida en cascada reducido, en la que el flujo de trabajo ir variando segn la
fase
en
la que
se encuentre.
Estas
interacciones
son llevadas a cabo bajo las disciplinas
de:
1) Disciplina de desarrollo
Requerimientos: Se trasladan las necesidades del negocio a un sistema
automatizado.
Anlisis y diseo: Los requerimientos se trasladan a una arquitectura
software.
Implementacin: Se crea el software adaptndolo a las
necesidades.
Pruebas: Se comprueba que el software acta de forma
adecuada.
2) Disciplina de soporte:
Configuracin y administracin de los cambios.
Administracin de los horarios y recursos.
Ambiente de desarrollo y su administracin.
Los roles que se definen en RUP indican las tareas que tiene que hacer cada uno de los
miembros
del proyecto y el objetivo que se debe de conseguir.
Anthony Crain nos da una visin de los roles segn su grado de detalle, donde en primera
instancia se tiene una visin global de la solucin y el rol asociado, y en una nueva iteracin
se
obtiene el rol especfico:
Pgina 18
METODOLOGA SCRUM
DISCIPLINA
ROLES GENERALES
ROLES ESPECFICOS
Requisitos
Anlisis y diseo
Implementacin
Pruebas
Despliegue o
Implantacin
METODOLOGA SCRUM
Entorno
Ingeniero de procesos. Es el
responsable de los procesos del
proyecto.
Gestor de la configuracin .
Gestor de la configuracin.
Usar componentes
basados en la
arquitectura
Gestin de los
requisitos
Pgina 20
METODOLOGA SCRUM
estable en
el que apenas haba variaciones.
Hoy en da sin embargo el entorno en el que se mueve el software es demasiado inestable y
cambiante por lo que estas metodologas no se adaptan, ya que hay que reducir el tiempo de
creacin pero sin dejar de todo la calidad del software.
Las metodologas convencionales presentan para este tipo de proyectos los siguientes
inconvenientes:
1. Es necesario conocer desde el inicio qu desea el cliente.
2. No se deben de cambiar los requisitos iniciales puesto que a medida que se sigue
construyendo el proyecto las modificaciones y la correccin de los errores es ms
costosa.
Adems todos los cambios que se produzcan los sufrir econmicamente el cliente.
Figura.- 14
METODOLOGA SCRUM
Figura.- 15
Todos estos inconvenientes han hecho que las metodologas clsicas no hayan sido capaces
de
eliminar los fallos y que haya una explosin de creacin de software orientado a la Web, en la
que
se requieren cambios constantes, y que los tiempos de desarrollo sean ms cortos hacen que
aparezca el concepto de metodologa gil como una alternativa atractiva.
El desarrollo gil est centrado en la iteracin, comunicacin y en reducir elementos
intermedios.
El desarrollo con interacciones se realiza normalmente en porciones de tiempo pequeas
denominadas timeboxes y se ocupar de desarrollarlas un equipo multidisciplinar
autoorganizado, ellos mismo decidirn como realizar las tareas de la iteracin.
Adems el mtodo de desarrollo gil fomenta la comunicacin entre los miembros del equipo
lo
que previene problema que en otra metodologa quedan escondidos.
Esta comunicacin no solo se establece de forma cerrada entre los miembros del equipo sino
que
tambin se realiza con la figura que representa al cliente.
El representante del cliente es necesario como elemento de apoyo para los desarrolladores
puesto que ser la persona a la que se podrn hacer las preguntas necesarias y que junto con
el
resto de personas involucradas en el negocio comprobarn si se cumplen los objetivos.
Por lo tanto trabajar con una buena comunicacin permite que se puedan tomar las
decisiones de
forma ms rpida y aplicarlas.
La caracterstica realmente nueva que aportan estas metodologas es reconocer a las
personas
como el principal valor para que un proyecto consiga terminarse de forma correcta. El factor
ms
importante en el desarrollo de software no son las tcnicas y las herramientas que emplean
los
Podemos deducir que las metodologas giles a diferencia de las metodologas tradicionales o
programadores, sino la calidad de los programadores. (Robert. L. Class).
clsicas son ms adecuadas cuando el entorno presenta una cierta incertidumbre o es
cambiante.
Pgina 22
METODOLOGA SCRUM
Pgina 23
METODOLOGA SCRUM
La modificacin de uno de los vrtices de este tringulo influenciar sobre los otros 2,
atacando al
punto ms importante que es la calidad del software o del producto.
2. Qu riesgos pude haber para poder reducirlos.
3. Definicin de hitos para realizar entregas.
4. Las dependencias funcionales y la cohesin de los trabajos para ahorrar esfuerzos y
realizar planificaciones coherentes.
De forma esquemtica podemos presentarlas siguientes diferencias entre la metodologa
tradicional y la metodologa gil.
DESARROLLO
TRADICIONAL
1.
2.
3.
4.
5.
6.
7.
8.
Pgina 24
METODOLOGA SCRUM
DESARROLLO
GIL
Pgina 25
METODOLOGA SCRUM
Por encima de
Por encima de
documentacin exhaustiva.
Por encima de
de la negociacin contractual.
Por encima de
seguimiento de un plan.
METODOLOGA SCRUM
Estos valores no son slo algo que los creadores del Manifiesto gil (Agile Manifesto)
pensaban encomiar y, a continuacin, olvidarse. Son valores que funcionan. Cada
metodologa
gil individual enfoca estos valores de una manera ligeramente diferente, pero todas estas
metodologas tienen procesos y ejercicios concretos que fomentan uno o ms de estos
valores
Individuos e interacciones
Los individuos e interacciones son esenciales para los equipos de alto rendimiento. Los
estudios
de "saturacin de la comunicacin" durante un proyecto mostraron que, cuando no existe
ningn
problema de comunicacin, los equipos pueden rendir 50 veces ms que el promedio del
sector.
Para facilitar la comunicacin, los mtodos giles confan en los ciclos de inspeccin y
Estos
ciclos pueden variar de cada pocos minutos con programacin entre iguales, cada
adaptacin
pocas
frecuentes.
horas con integracin continua o todos los das con una reunin de puesta en marcha, hasta
cada
iteracin
con simplemente
una revisin yaumentar
retrospectiva.
No obstante,
la frecuencia de los comentarios y la comunicacin no es
suficiente para eliminar los problemas de comunicacin. Estos ciclos de inspeccin y
adaptacin
solo funcionan bien cuando los miembros del equipo presentan varios comportamientos clave:
La mejora del proceso depende de que el equipo genere una lista de impedimentos o
problemas en la organizacin, se enfrente a ellos directamente y, a continuacin, los
elimine sistemticamente en orden de prioridad.
Pgina 27
METODOLOGA SCRUM
El compromiso de trabajar juntos slo se consigue cuando las personas acuerdan los
objetivos comunes y, a continuacin, se esfuerzan por mejorar personalmente y como
equipo.
Este ltimo punto, sobre el compromiso, es especialmente importante. Slo cuando los
individuos
y los equipos se comprometen, se sienten responsables para entregar un alto valor, que es la
lnea de base para los equipos de desarrollo de software. Las metodologas giles facilitan el
compromiso animando a los equipos a extraer una lista de trabajo clasificada por orden de
prioridad, administrar su propio trabajo y centrarse en mejorar sus prcticas de trabajo. Esta
prctica es la base de la organizacin del equipo por s mismo, que es la fuerza motriz para
lograr
resultados en un equipo gil.
Para crear equipos de alto rendimiento, las metodologas giles valoran a los individuos y las
interacciones sobre los procesos y herramientas. Hablando prcticamente, todas las
metodologas
giles buscan aumentar la comunicacin y colaboracin a travs de los ciclos de inspeccin y
adaptacin frecuentes. Sin embargo, estos ciclos solo funcionan cuando los coordinadores
giles
fomentan el conflicto positivo que se necesita para generar una base slida de verdad,
transparencia, confianza, respeto y compromiso en sus equipos giles.
El software que funciona es una de las grandes diferencias que aporta el desarrollo gil. Todas
las
metodologas giles que se representan en el Manifiesto gil (Agile Manifesto) subrayan la
entrega al cliente de partes pequeas de software que funciona a intervalos fijos.
Todos los equipos giles deben establecer lo que significa que digan "software que funciona",
conocido con frecuencia como la definicin de terminado. En un nivel alto, una parte de la
funcionalidad se ha completado solo cuando sus caractersticas pasan todas las pruebas y
pueden
ser utilizadas por un usuario final. Como mnimo, los equipos deben ir ms all del nivel de la
prueba unitaria y probar en el nivel del sistema. Los mejores equipos tambin incluyen
pruebas
de integracin, rendimiento y aceptacin del cliente en su definicin de lo que significa haber
terminado una parte de la funcionalidad.
Una compaa de CMMI nivel 5 ha mostrado, a travs de datos extensos en muchos
proyectos,
que definir las pruebas de aceptacin junto con la caracterstica, implementar las
caractersticas
consecutivamente y en orden de prioridad, realizar las pruebas de aceptacin en cada
caracterstica inmediatamente y corregir cualquier error identificado como prioridad mxima
duplicar la velocidad de produccin sistemticamente y reducir los defectos en un 40 por
ciento. Esto procede de una compaa que ya tiene una de las tasas de defectos ms bajas
del
El Manifiesto gil (Agile Manifesto) recomienda que los equipos entreguen el software que
mundo.
funciona a intervalos establecidos. Acordar una definicin de "terminado" es una de las
maneras
prcticas en que los equipos giles dan lugar al alto rendimiento y alta calidad que se
necesitan
para lograr este objetivo.
Pgina 28
METODOLOGA SCRUM
Responder al cambio es esencial para crear un producto que agrade el cliente y proporcione
valor
comercial. Los datos del sector muestran que ms del 60 por ciento de los requisitos de
producto
o de proyecto cambian durante el desarrollo de software. Incluso cuando los proyectos
tradicionales finalizan a tiempo, segn el presupuesto y con todas las caractersticas del plan,
los
clientes se sienten a menudo insatisfechos porque lo que encuentran no es exactamente lo
que
deseaban. "La "Ley de Humphrey" dice que los clientes nunca saben lo que desean hasta que
ven
el software que funciona. Si los clientes no ven el software que funciona hasta el fin de un
proyecto,
es demasiadogiles
tarde tienen
para incorporar
comentarios.
Las metodologas
Todas las metodologas
procesos sus
integrados
para cambiar
sus planesgiles
a
buscan
intervalos
los
comentarios
del cliente
lo largo del del
proyecto
puedan incorporar
comentarios
y
regulares
en funcin
de los a
comentarios
clientepara
o suque
representante.
Sus planes
estn
nueva
informacin
a
medida
que
se
desarrolla
el
producto.
diseados para entregar siempre primero el mayor valor comercial. Dado que el 80 por ciento
del
Pgina 29
METODOLOGA SCRUM
valor representa el 20 por ciento de las caractersticas, los proyectos giles bien realizados
tienden a finalizar temprano, mientras que la mayora de los proyectos tradicionales finalizan
tarde. Como resultado, los clientes estn ms satisfechos y los desarrolladores de software
disfrutan ms de su trabajo. Las metodologas giles estn basadas en el conocimiento de
que
para tener xito, se debe planear para cambiar .Por eso han establecido procesos, como
revisiones y retrospectivas, diseados especficamente para desplazar las prioridades con
regularidad en funcin de los comentarios del cliente y el valor comercial.
Pgina 30
METODOLOGA SCRUM
1.-
2.-
3.-
4.-
5.-
6.-
7.-
8.-
9.-
10.-
11.-
12.-
Pgina 31
METODOLOGA SCRUM
Algunos de las metodologas giles ms utilizadas hoy en da, por mayor orden de presencia
segn
la mayora de los estudios realizados son:
Extreme Programming.
Test Drive Development.
Agile Project Management.
Scrum. Ser en este ltimo ser en el que centraremos el resto del trabajo de
investigacin.
3.- SCRUM.
3.1.- Introduccin:
En el ao 1986 Takeuchi y Nonaka publicaron el artculo The New Product Developroent
Game
el cual dar a conocer una nueva forma de gestionar proyectos en la que la agilidad,
flexibilidad, y
la
incertidumbre
son
elementos
principales.
Nonaka
y Takeuchi
selos
fijaron
en empresas
tecnolgicas que, estando en el mismo entorno en
el
que se encontraban otras empresas, realizaban productos en menos tiempo, de buena calidad
y
menos
costes.
Observando
a empresas como Honda, HP, Canonetc., se dieron cuenta de que el producto
no
segua unas fases en las que haba un equipo especializado en cada una de ellas, si no que se
parta de unos requisitos muy generales y el producto lo realizaba un equipo multidisciplinar
que
trabajaba desde el comienzo del proyecto hasta el final.
Se compar esta forma de trabajo en equipo, con la colaboracin que hacen los jugadores de
Rugby y la utilizacin de una formacin denominada SCRUM.
Scrum aparece como una prctica destinada a los productos tecnolgicos y ser en 1993
cuando
realmente Jeff Sutherland aplique un modelo de desarrollo de Software en Ease/Corporation.
En 1996, Jeff Sutherland y Ken Schwaber presentaron las prcticas que se usaban como
proceso
formal para el desarrollo de software y que pasaran a incluirse en la lista de Agile Alliance.
Scrum es adecuado para aquellas empresas en las que el desarrollo de los productos se
realiza en
entornos que se caracterizan por tener:
1. Incertidumbre: Sobre esta variable se plantea el objetivo que se quiere alcanzar sin
proporcionar un plan detallado del producto.
Esto genera un reto y da una autonoma que sirve para generar una tensin
adecuada
para la motivacin de los equipos.
2. Auto-organizacin: Los equipos son capaces de organizarse por s solos, no
necesitan
roles para la gestin pero tienen que reunir las siguientes caractersticas:
Pgina 32
METODOLOGA SCRUM
Pgina 33
METODOLOGA SCRUM
Concepto
Cierre
Especulacin
ITERACCIONES
Revisin
Exploracin
Scrum gestiona estas iteraciones a travs de reuniones diarias, uno de los elementos
fundamentales de esta metodologa.
Pgina 34
METODOLOGA SCRUM
Pgina 35
METODOLOGA SCRUM
1. LOS CERDOS
Son las personas que estn comprometidas con el proyecto y el proceso de
Scrum.
Product Owner: Es la persona que toma las decisiones, y es la que realmente
conoce el
negocio del cliente y su visin del producto. Se encarga de escribir las ideas del
cliente,
ordena por Es
prioridad
y las coloca
en el Product
Backlog.
las
ScrumMaster:
el encargado
de comprobar
que el
modelo y la metodologa
funciona. Eliminar todos los inconvenientes que hagan que el proceso no fluya e
interactuar con el cliente y con los gestores.
Equipo De Desarrollo: suele ser un equipo pequeo de unas 5-9 personas y tienen
autoridad para organizar y tomar decisiones para conseguir su objetivo. Est
involucrado en la estimacin del esfuerzo de las tareas del Backlog.
2. LAS GALLINAS
Aunque no son parte del proceso de Scrum, es necesario que parte de la
retroalimentacin d la salida del proceso y as poder revisar y planear cada sprint.
Usuarios: Es el destinatario final del producto.
Stakeholders: Las personas a las que el proyecto les producir un beneficio.
Participan
durante las revisiones del Sprint.
Managers: Toma las decisiones finales participando en la seleccin de los objetivos y
de los requisitos.
Pgina 36
METODOLOGA SCRUM
Contendr los objetivos del producto, se suele usar para expresarlos las historias de
usuario.
En cada objetivo, se indicar el valor que le da el cliente y el coste estimado; de
esta
manera, se realiza la lista, priorizando por valor y coste, se basar en el ROI.
En la lista se tendrn que indicar las posibles iteraciones y los releases que se han
indicado al cliente.
La lista ha de incluir los posibles riesgos e incluir las tareas necesarias para
solventarlos.
Es necesario que antes de empezar el primer Sprint se definan cules van a ser los objetivos
del
producto y tener la lista de los requisitos ya definida. No es necesario que sea muy detallada,
simplemente deber contener los requisitos principales para que el equipo pueda trabajar.
Realizar este orden de tareas tiene como beneficios:
El proyecto no se paraliza simplemente por no tener claro los requisitos menos
relevantes, y el cliente podr ver resultados de forma ms rpida.
Los requisitos secundarios aparecern a medida que se va desarrollando el
proyecto,
por lo tanto, no se pierde tanto tiempo en analizarlos al principio y el cliente ser
ms consciente de sus necesidades.
Los requisitos secundarios puede que no se lleguen a necesitar porque se han
sustituido o porque no reportan un retorno ROI interesante.
Una vez definidos los requisitos se tendr que acordar cundo se tiene que entender un
objetivo
como terminado o completado.
Se entiende que un producto est completado si:
Asegura que se puede realizar un entregable para realizar una demostracin de los
requisitos y ver qu se han cumplido.
Incluir todo lo necesario para indicar que se est realizando el producto que el
cliente desea.
Como complemento a la definicin de completado, se debera de asociar una condicin de
aceptacin o no aceptacin a cada objetivo en el mismo momento en el que se crea la lista.
Pgina 37
METODOLOGA SCRUM
Pgina 38
METODOLOGA SCRUM
Pgina 39
METODOLOGA SCRUM
METODOLOGA SCRUM
3.3.3.- Incremento.
Representa los requisitos que se han completado en una iteracin y que son perfectamente
operativos.
Segn los resultados que se obtengan, el cliente puede ir haciendo los cambios necesarios y
replanteando el proyecto.
Pgina 41
METODOLOGA SCRUM
Pgina 42
METODOLOGA SCRUM
Para poder realizar esta tcnica, es necesario que los equipos tengan un historial, que vayan
hacer
los prximos Sprints de la misma manera, mismo tamao de equipo y las mismas condiciones
de
trabajo.
La tcnica
se conoce
como el
elclculo
tiempode
que
hizo ayer.
Otra forma
de hacerlo
es mediante
recursos.
1. Se calcula el nmero de das hombre disponible, este es un valor poco real porque
influyen
factores externos de ah que tengamos que usar el factor de dedicacin.
Nombre
Das
USER 1
15
USER 2
13
USER 3
USER 4
13
TOTAL
Planificacin de un Sprint de 3
semanas con disponibilidades
distintas
48 Das-Hombre Disponibles
VELOCIDAD ESTIMADA
(
)(
El factor de dedicacin se basa en estimar el estado del equipo, si es bajo entonces se espera
encontrar dificultades.
La forma ms adecuada para determinar factores de dedicacin razonable es el estado
de los
ltimos Sprints.
FACTOR DE DEDICACIN
(
Pgina 43
METODOLOGA SCRUM
Si el equipo fuese nuevo, se puede mirar el factor de dedicacin de otros equipos con lo que
fijarte y de no haberlo, se pondra un valor aproximado para empezar por defecto. El factor
que se
suele usar es de 70%.
Denominado tambin Sprint Planning Meeting, tiene como finalidad realizar una reunin, en
la
que participarn el Product Owner, el Scrum Master y el equipo, con la intencin de
seleccionar
de la lista Backlog del producto las funcionalidades sobre las que se va a trabajar, y que
darn
Antes de comenzar la reunin el Product Owner tendr que preparar el
valor al producto.
Backlog.
La reunin se realiza en con time-box de ocho horas que se divide en 2 partes de 4
horas.
Primera parte de la reunin:
El equipo selecciona los items para transformarlos en entregables.
El equipo hace sugerencias, pero es el Product Owner el que decidir si formarn
parte del Sprint.
El equipo seleccionar el elemento a implementar, de los seleccionados por el
Product Owner para ese Sprint.
Segunda parte de la reunin:
El equipo har las preguntas necesarias que tengan sobre el Product Baklog al
Product Owner.
El equipo se encargar de encontrar la solucin adecuada para transformar la parte
seleccionada de una funcionalidad entregable.
Pgina 44
METODOLOGA SCRUM
El resultado de la segunda parte de la reunin es una lista denominada Sprint Backlog con
las
tareas, estimaciones y las asignaciones de trabajo al equipo para poder empezar a desarrollar
la
funcionalidad.
Las caractersticas del Backlog del producto sern las
siguientes:
La estimacin ser entre 4 y 16 horas, si son mayores a este valor, se
descompondrn.
Pgina 45
METODOLOGA SCRUM
1 fila: Tareas que no se han planificado pero que son necesarias de hacer por su
urgencia (errores, cambios importantes decididos por el cliente, etc).
2 fila: Mejora continua. Se ponen las tareas de retrospectivas anteriores que se
quieren analizar en ese Sprint.
Columna tareas no empezadas: Se pondrn todas las tareas que se han
especificado
en la reunin del Sprint planning.
En curso: Tareas que se estn realizando y que deberan ser mnimas y resueltas de
arriba abajo.
Hecho: Tarea realizada completamente.
Impedimentos: Lista de obstculos que impedirn continuar de forma adecuada el
proyecto. Hay que indicar quin ser el responsable de solucionarlos.
Retrospectiva: Sirve para anotar qu partes estn bien durante la iteracin y cules
mal. Se reflejan con un + y un -
Otro ejemplo de Scrum TaskBoard sera:
Pgina 46
METODOLOGA SCRUM
Figura.- 30
Pgina 47
METODOLOGA SCRUM
10
11
12
15
16
17
18
19
Tiempo
El da1 de Enero se estiman 7 puntos de historia, y a da 16 se observa que, incluso se est
bien de
tiempo y que segn estos datos, completaramos el Sprint. Hay que tener en cuenta que se
saltan
los
fines 2:
de semana para no generar confusiones en la lectura del diagrama.
Ejemplo
50
Trabajo
40
restante(pun
30
tos de
20
historia) 10
0
1
10
11
12
15
16
17
18
19
Tiempo
Si el grfico que se genera es similar al del ejemplo 2, puede ocurrir que los puntos de historia
se
hagan ms rpido de lo previsto, con lo que se podran aadir ms puntos de historia.
Pgina 48
METODOLOGA SCRUM
Ejemplo 3:
50
Trabajo 40
restante 30
(puntos de20
historia) 10
0
1
10
11
12
15
16
17
18
19
Tiempo
En este caso, lo que nos muestra el grfico es que se han escogido demasiados tems para
realizarlo y habra que analizar qu tems del Backlog habra que eliminar en esta fase.
En los Sprints, el equipo trabaja para conseguir un incremento del producto, que ser
productivo
para el Product Owner y los Stakeholders.
El tiempo ms conveniente est entre 2 y 4 semanas, o 30 das consecutivos como mximo.
Estos
intervalos de tiempo, son los que se consideran ms apropiados para que el Stakeholders no
pierda el inters.
Pgina 49
METODOLOGA SCRUM
Figura.- 31
Pgina 50
METODOLOGA SCRUM
En esta reunin, los desarrolladores presentan el producto entregable que han implementado
y,
los gestores, clientes, usuarios y Product Owner analizan esa entrega y escuchan al equipo
sobre
los problemas
que han
tenido
durante
el proceso.
Esta
reunin servir
para
tomar
decisiones
que ayudan a escoger el camino ms adecuado
para
alcanzar las metas.
Las caractersticas de esta reunin se limitan a:
Mximo 4 horas.
Se presenta el producto completado, entendiendo como tal la definicin acordada
con el Product Owner y los Stakeholders.
Si la funcionalidad no est completa no se puede presentar.
Artefactos que no son funcionalidades, no se presentan para no equivocar a los
Stakeholders.
Se presenta la funcionalidad en equipos que pertenezcan a los desarrolladores.
Siempre se har desde un servidor lo ms parecido posible al de produccin.
El Sprint Review transcurre siguiendo el siguiente proceso:
Figura.- 32
Pgina 51
METODOLOGA SCRUM
Pgina 52
METODOLOGA SCRUM
Pgina 53
METODOLOGA SCRUM
SPRINT:
Es la fase de desarrollo iterativa.
Desarrollo: Anlisis, implementacin, testing.
Empaquetar: Generar paquetes ejecutables
Revisin: Resolucin de problemas y se aaden
nuevos tems.
Ajustes: Uso de los ajustes para mejorar el
producto.
SPRINT REVIEW:
Despus del Sprint se hace una reunin con el
ScrumMaster donde se revisa el producto del
Sprint anterior y en el que se pueden aadir
puntos nuevos al backlog.
Cierre:
En esta fase se encuentran las tpicas actividades
de fin de proyecto como, hacer una versin
distribuible, testear, marketing etc.
Tabla 2: Esquema de las 5 fases de desarrollo en Scrum.
Pgina 54
METODOLOGA SCRUM
5.- BIBLIOGRAFA:
Libros.
Scrum Manager Gestin de Proyectos. Juan Palacio, Claudia Ruata.
Flexibilidad con Scrum. Juan Palacio.
Scrum y Xp desde las trincheras. Henrik Kniberg.
Agile Project Management with Scrum. Ren Schaner.
Pginas Web Consultadas.
http://www.scrumsense.com
http://www.proyectosagiles.org
http://www.acis.org.co
http://www.mastersoft.com.ar
http://assets.scrumfoundation.com
http://www.gestiondeproyectosit.es
http://agileee.org
http://www.pdca.es
http://msdn.microsoft.com/es-es/library/dd997578l
Pgina 55