Upload
william-castaneda-vilchez
View
380
Download
4
Embed Size (px)
DESCRIPTION
by William, Macpool, informatica 2013
Citation preview
UNIVERSIDAD NACIONAL DE TRUJILLO
SUB SEDE VALLE JEQUETEPEQUE
FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA INFORMÁTICA
MONOGRAFÍA
METODOLOGÍA ÁGIL SCRUM
AUTORES:
Castañeda Vilchez William Ricardo.
Mac Pool Hinostroza Guanilo.
Chepén – Perú.
2013
2
Dedicatoria
El presente trabajo sobre
metodología en ingeniería de
software en el desarrollo
iterativo e incremental
“Scrum”, esta dedicado a
nuestra familia por
innumerables razones algunas
de ellas el constante apoyo que
nos brindan en el día a día.
A nuestro Dios por
protegernos diariamente.
3
Índice Introducción ......................................................................................... ¡Error! Marcador no definido.
MARCO TEORICO .................................................................................. ¡Error! Marcador no definido.
Planteamiento Del Problema: .......................................................... ¡Error! Marcador no definido.
Solución Al Problema: ...................................................................... ¡Error! Marcador no definido.
Desarrollo Clásico vs Ágil .................................................................. ¡Error! Marcador no definido.
Metodología Ágil Scrum: ...................................................................... ¡Error! Marcador no definido.
¿Qué es Scrum? ................................................................................ ¡Error! Marcador no definido.
¿Cómo se origina Scrum? ................................................................. ¡Error! Marcador no definido.
¿Dónde se usa Scrum? ..................................................................... ¡Error! Marcador no definido.
¿Quién usa Scrum? ........................................................................... ¡Error! Marcador no definido.
¿Cómo Funciona Scrum? .................................................................. ¡Error! Marcador no definido.
Las Prácticas: ................................................................................ ¡Error! Marcador no definido.
Revisión De Las Iteraciones: ......................................................... ¡Error! Marcador no definido.
Los Artefactos: .............................................................................. ¡Error! Marcador no definido.
Los Valores: .................................................................................. ¡Error! Marcador no definido.
Caso Practico ........................................................................................ ¡Error! Marcador no definido.
Velocidad Inicial Del Equipo: ............................................................ ¡Error! Marcador no definido.
Reunión De Planificación:................................................................. ¡Error! Marcador no definido.
Historia De Usuario: ......................................................................... ¡Error! Marcador no definido.
Demostración: .................................................................................. ¡Error! Marcador no definido.
Reunión Retrospectiva: ........................................................................ ¡Error! Marcador no definido.
Conclusiones: ....................................................................................... ¡Error! Marcador no definido.
4
Introducción
Scrum es una metodología ágil, incremental basada en iteraciones y revisiones para trabajar
colaborativamente en equipo y obtener el mejor resultado posible de un proyecto. Estás
practicas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de
trabajar de equipos altamente productivos. Es un modo de desarrollo de carácter adaptable
más que predictivo, orientado a las personas más que a los procesos.
En 1986 Hirotaka Takeuchi e Ikujiro Nonaka describierón un tipo de procesos adaptivos,
auto-organizativos y sin elementos innecesarios, llamado por primera vez “Campos
Scrum”. En 1993 Jeff Sutherland en su empresa Easel Corporation usa muchas de las ideas
que llevarían a Scrum luego en 1994 junto a John Scumniotales y Jeff McKenna
concibieron, ejecutaron y documentaron el primer Scrum para desarrollo ágil de software
utilizando el estudio de gestión de equipos de Takeuchi y Nonaka como base. En 1995 Ken
Schwaber presentó la implementación formal de las reglas de Scrum, para software que él
empleaba en el desarrollo de Delphi.
Scrum es usado en empresas que desarrollan proyectos internos, proyecto de precio fijo,
aplicaciones financieras, sistemas empotrados, desarrollo de videos juego y otros. También
es usado en medios de telefonía, software y hardware, internet, banca e inversión, sanidad y
salud, defensa y aeroespacial.
Scrum funciona de la siguiente manera: antes de iniciar cada iteración, el equipo revisa las
tareas pendientes y selecciona la parte que entregará como un incremento de funcionalidad
al finalizar cada iteración (Sprint), utilizando tres componentes los cuales son: Las
practicas, Los artefactos, Los valores.
5
1. MARCO TEORICO
1.1. Planteamiento Del Problema:
En este caso mostraremos una iteración (Sprint) de Scrum para resolver una serie de
tareas para un proyecto Web. El objetivo es tener una toma de contacto con una
aplicación práctica de las metodologías ágiles, se ha ido documentando el día a día
de la iteración.
1.2. Solución Al Problema:
Velocidad Inicial
Se calcula el número puntos ideales de trabajo que es capaz de asumir el
equipo teniendo en cuenta los siguientes parámetros: Duración Del Sprint,
Número De Desarrolladores Del Equipo y Su Disponibilidad, Factor De
Corrección.
Reunión De La Planificación
Se selecciona el trabajo que se hará, preparando al equipo completo. El
Sprint Backlog que detalla el tiempo que tomará hacer el trabajo. Identificar
y comunicar cuánto del trabajo es probable que se realice durante el actual
Sprint.
Reuniones Diarias
El objetivo de esta reunión es facilitar la transferencia de información y la
colaboración entre los miembros del equipo para aumentar su productividad,
al poner de manifiesto puntos que se pueden ayudar unos a otros.
Reunión Retrospectiva
Después de cada Sprint, se lleva a cabo una retrospectiva del Sprint, en la
cual todos los miembros del equipo dejan sus impresiones sobre el Sprint
recién superado. El propósito de la retrospectiva es realizar una mejor
continua del proceso.
6
1.3. Desarrollo Clásico vs Ágil
Modelo Clásico
Modelo empleado para proyectos complejos, de grandes magnitudes, lo cual era
complicado cambiar algún requerimiento del software, además perderíamos tiempo
en efectuar dichos cambios.
Modelo Ágil
Se basa en la adaptación (Adaptabilidad). Se tiene una visión general de lo que se
desea que haga el software, aunque sin especificar el resultado final, es posible un
cambio de requerimiento en cualquier punto de desarrollo, este modelo es
empleado en pequeños proyectos pequeños o medianos.
2. Metodología Ágil Scrum:
2.1. ¿Qué es Scrum?
Es un modo de desarrollo de carácter adaptable más que predictivo, orientado a las
personas más que a los procesos, emplea la estructura de desarrollo ágil: incremental
basada en iteraciones y revisiones.
7
2.2. ¿Cómo se origina Scrum?
En 1986 la publicación The New Product Development Game, Harvard Business
Review, sobre nuevas prácticas de producción, realizadas por Hirotaka Takeuchi e
Ikujijo Nonaka para describir un tipo de procesos adaptivos, auto-organizativos y sin
elementos innecesarios, acuña por primera vez el nombre de “Campos Scrum”.
En 1993 Jeff Sutherland en su empresa Easel Corporation (Compañía que en los Macro
juegos de compras de compras y fusiones se integraría en VMARK, y luego en
Informix y finalmente en Ascential software corporation) usa mucha de las ideas que
llevarían a Scrum. Luego en 1994 junto a John Scumniotales y Jeff Mckenna
concibieron, ejecutaron y documentaron el primer Scrum para desarrollo ágil de
software utilizando el estudio de gestión de equipos de Takeuchi y Nonaka como base.
En 1995 Ken Schwaber presentó en OOPSLA 95 (Object – Oriented Programming
Systems & Applications Conferences), la implementación formal de las reglas de
Scrum, para software que él empleaba en el desarrollo de Dhelpi.
2.3. ¿Dónde se usa Scrum?
Software comercial, Proyectos internos, Proyecto de precio fijo, Aplicaciones
Financieras, Sistemas Empotrados, Desarrollo de video juegos, Software de control de
satélites, Sitios webs, Software para dispositivos Móviles, “Network switching
applications”, Aplicaciones certificadas ISO 9001, Software ágil y otros.
2.4. ¿Quién usa Scrum?
8
9
2.5. ¿Cómo Funciona Scrum?
El modelo Scrum, aplicado al desarrollo de software emplea el principio ágil:
“desarrollo iterativo e incremental”, denominado Sprint (Carrera) a cada iteración del
desarrollo.
Antes de iniciar cada iteración el equipo revisa las tareas pendientes y selecciona la
parte que entregará como un incremento de funcionalidad al finalizar la iteración
(Sprint).
Donde principalmente trascienden tres componentes: las prácticas, los artefactos,
los valores.
2.5.1. Las Prácticas:
Empleadas por Scrum para mantener un control ágil en el proyecto son:
revisión de las iteraciones, Desarrollo incremental, Desarrollo evolutivo,
Auto – organización del equipo, Colaboración.
2.5.1.1. Revisión De Las Iteraciones:
Al finalizar cada iteración se lleva a cabo una revisión con todas las
personas implicadas en el proyecto. Es por tanto la duración del
Sprint, el periodo máximo que se tarda en reconducir una desviación
en el proyecto o en las circunstancias del producto.
10
2.5.2. Los Artefactos:
Los artefactos del modelos son: Elementos y Roles.
Elementos: Pila del producto o Product Backlog, Pila del Sprint o Sprint Backlog,
Incremento.
Roles: Propietario del producto, Equipo, Scrum Manager, otros interesados.
2.5.3. Los Valores:
Los valores que hacen posible a las prácticas de Scrum crear “Campos De Scrum”
son: Autonomía del equipo (Empowerment), Respeto en el equipo, Responsabilidad
y Autodisciplina, Foco en la tarea, Información transparencia y visibilidad.
11
2.6. Caso Practico
2.6.1. Velocidad Inicial Del Equipo:
Duración del Sprint 15 días laborables.
Número de desarrolladores del equipo y su disponibilidad: 5 desarrolladores.
Factor De Corrección: 0,6.
Se calcula el número de días de trabajo teórico que es capaz de asumir el
equipo.
Teniendo en cuenta el factor de corrección anterior, se calculan los días
reales de trabajo.
2.6.2. Reunión De Planificación:
12
Durante la reunión de planificación se trató una a una y con la prioridad
establecida por el cliente las historias de usuario para el siguiente Sprint.
Utilizando para la estimación la serie de Fibonacci (1/2, 1, 2, 3, 5, 6, 7,
infinito).
El tiempo de duración de una reunión de planificación puede ser como
máximo de cuatro horas, por eso se contempla hacer descansos durante esta
tarea.
Los resultados obtenidos de la reunión de planificación son las historias de
usuario que se listan a continuación, que incluyen su estimación, tareas en
las que se descompone y prioridad.
2.6.3. Historia De Usuario:
Añadir un nuevo concepto de comisión en los informes
13
Tareas Asociadas.
2.6.4. Instalar Servidor LDAP
14
2.6.5. Crear tarea para que procese el Excel y lo transforme en incidencias:
La suma total de los puntos de cada historia de usuario es 40.
Si antes de comenzar la reunión de planificación se había calculado que la
cantidad de trabajo que podía asumir el equipo era de 40.5 puntos, el equipo
puede comprometerse a implementar las siete historias de usuario propuestas
por el cliente para este Sprint.
15
2.6.6. Inicio Del Sprint:
Los miembros del equipo se reúnen en frente al tablón de Scrum. En la primera
reunión nadie tiene una tarea asignada, por tanto, no es necesario responder a las
preguntas:
¿Qué has hecho ayer? ¿Qué voy a hacer hoy? ¿Algún impedimento?. Cada
desarrollador coge una tarea del tablón y comienza con la implementación.
2.6.7. Estado De La Gráfica:
La línea gris marca el progreso ideal del Sprint, se pinta para tener una referencia
de la consecución de trabajo a lo largo del Sprint, siempre que la línea de progreso
vaya por debajo de la línea gris, el ritmo es mejor del esperado, cuando está por
encima, el equipo es más lento de lo planificado.
El primer día del Sprint la gráfica está limpia, aún no ha habido progreso en las
tereas.
16
2.6.7.1. Primer Día Del Sprint:
17
2.6.7.2. Estado Actualizado De La Gráfica:
Se han quitado 3,5 puntos de trabajo: Tenemos que marcar el punto de hoy de la
gráfica en 35,5 puntos de trabajo restantes.
2.6.7.3. Último Día Del Sprint:
18
2.6.7.4. Estado Final De La Gráfica:
2.7. Demostración:
Una vez preparado el guión para la reunión, se convoca al cliente a una reunión en
la que ha visto las nuevas funcionalidades que se han añadido al aplicativo.
2.8. Reunión Retrospectiva:
Una vez finalizado el Sprint se realiza la reunión retrospectiva, el objetivo de la
reunión, es reflexionar para mejorar el proceso: como está trabajando el equipo
junto, prácticas o herramientas que se están utilizando.
Esta reunión está restringida a los miembros del equipo.
3. Conclusiones:
Después de una visión general de esta metodología, queda claro que Scrum es muy
útil para el desarrollo de proyectos ágiles software, en particular para aquellos en
constante cambio.
El énfasis de Scrum está en buscar que los proyectos de desarrollo le aporten a las
organizaciones el mayor valor posible a muy corto plazo, con resultados de calidad
que respondan a las necesidades reales del negocio.