• No results found

1 INTRODUCTION AND BACKGROUND

1.2 Sleep and Sleepiness

1.2.4 Measuring Sleep

En esta sección, se compararán las ejecuciones del algoritmo sobre una configuración tipo “cascada”, con las ejecuciones utilizando la configuración “Scrum”.

La principal diferencia entre estos 2 tipos de configuraciones, es la forma en que Scrum divide al proyecto en Sprints. Como se explicó en el capítulo 1, la metodología Scrum se basa en iteraciones denominadas “sprints”, y en cada una de ellas se llevan a cabo un cierto número de tareas. A diferencia de Scrum, una metodología “cascada”, se caracteriza por una ejecución ininterrumpida del plan de un proyecto, realizando tarea tras tarea. Los datos obtenidos de este caso de estudio, demuestran que el algoritmo realiza una mejor planificación en un ambiente Scrum. Esto se debe a que cada ejecución del algoritmo, contemplara el conocimiento generado en las ejecuciones anteriores. En cambio, en “cascada”, se planifica el proyecto en una sola ejecución del algoritmo.

5.2.1.A. Configuración del experimento

Para este caso de estudio se utilizaron dos proyectos idénticos, pero se planificaron de diferentes maneras. En uno de ellos, al que mencionaremos de ahora en más como “proyecto cascada”, se realizó la planificación de todas las tareas en un único sprint y en el otro proyecto se realizó la planificación de las mismas tareas, pero divididas en tres sprints, cada uno de los cuales contendrá algunas de las tareas planificadas en el primer proyecto “cascada”. A este segundo proyecto lo denominaremos “proyecto ágil”.

La tabla 5.2 muestra las tareas involucradas en cada uno de los proyectos, junto con los requerimientos de habilidades en cada una de ellas, así como también los recursos disponibles para ser asignados para su resolución. Se incluye también el sprint al que fueron asignadas para la ejecución del algoritmo utilizando la metodología ágil.

User Story Tarea Requerimientos #

Sprint

Soporte de persistencia 1

Diseñar estructura de base de datos Programador senior Implementar altas bajas y modificaciones Programador semi-senior

Desarrollo de login 1

Diseñar interfaz de login Diseñador gráfico junior Implementar funcionalidad para inicio de

sesión Programador junior

Visualización de panel de planning poker en entorno 3D 2 Crear imágenes e interfaz Diseñador gráfico junior

Implementar script para eventos del

mouse Programador junior

Implementar lógica de panel Programador semi-senior Implementar soporte para multijugador Programador senior

Implementación de avatar 2

Implementar animaciones del avatar

Programador semi-senior, Diseñador gráfico senior Agregar control de movimiento

Programador semi-senior, Diseñador gráfico semi-senior Crear modelo 3D del avatar Diseñador gráfico senior

Implementar sala de juego 3D 3

Crear modelo 3D de la sala Diseñador gráfico junior Implementar soporte multijugador Programador senior

Tabla 5.2: Tareas involucradas en cada uno de los proyectos.

En la tabla 5.3 se pueden apreciar los recursos disponibles y los roles que cada uno de ellos puede desempeñar.

Recurso Roles que puede ejercer

Rodrigo Programador junior, Programador semi-senior, Programador senior Roberto Programador junior, Programador semi-senior

Ana Programador junior

Martin Diseñador gráfico junior, Diseñador gráfico semi-senior, Diseñador gráfico senior Aníbal Diseñador gráfico junior, Diseñador gráfico semi-senior

Julio Diseñador gráfico junior

Tabla 5.3: Recursos disponibles para su asignación a tareas, con los roles que pueden ejercer.

5.2.1.B. RESULTADOS Y ANALISIS DEL CASO DE ESTUDIO

Las siguientes evaluaciones corresponden a las sucesivas ejecuciones del algoritmo de planning, comenzando en un estado en el cual la memoria organizacional se encuentra sin ningún tipo de conocimiento. El contenido de la misma se irá incrementando a medida que se ejecuten nuevos sprints, como así también lo hará la calidad de cada una de las asignaciones.

Ejecución Proyecto cascada

En la tabla 5.4 se muestra el resultado de la primera ejecución del algoritmo de planning, efectuada sobre el “proyecto cascada”. Este caso no cuenta con conocimiento previo en la memoria organizacional, como así tampoco ningún tipo de preferencia entre recursos, por lo tanto se asignó el primer recurso disponible que el algoritmo de planning encontró apto para satisfacer el requerimiento de la tarea.

Tarea Requerimiento Recurso Rol ejercido Puntaje Agregar control de

movimiento

Diseñador gráfico

semi senior Rodrigo Senior 4

Agregar control de movimiento

Programador

semi senior Roberto Semi-senior 1 Crear imágenes e interfaz Diseñador gráfico

junior Martin Senior 10

Crear modelo 3D de la sala

Diseñador gráfico

junior Anibal Semi-senior 4

Crear modelo 3D del avatar

Diseñador gráfico

senior Martin Senior 1

Diseñar estructura de base de datos

Programador

senior Rodrigo Senior 1

Diseñar interfaz de login Diseñador gráfico

Implementar animaciones del avatar

Diseñador gráfico

senior Martin Senior 1

Implementar animaciones del avatar

Programador

semi senior Rodrigo Senior 4

Implementar altas bajas y modificaciones (ABM)

Programador

semi senior Rodrigo Senior 4

Implementar funcionalidad para inicio de sesión

Programador

junior Rodrigo Senior 10

Implementar lógica de panel

Programador

semi senior Rodrigo Senior 4

Implementar script para eventos del mouse

Programador

junior Rodrigo Senior 10

Implementar soporte multijugador

Programador

senior Rodrigo Senior 1

Implementar soporte para multijugador

Programador

senior Roberto Semi-senior 4

Tabla 5.4: Proyecto cascada. Asignaciones realizadas por el algoritmo junto con las calificaciones obtenidas por cada uno de los recursos.

Los puntajes asignados en la tabla 5.4, provienen de la figura 5.1. Por ejemplo, la primera fila de la tabla, corresponde a una tarea que requiere un recurso semi-senior. El

algoritmo asignó un recurso desempeñando el rol de Senior. De acuerdo a la tabla 5.1, el puntaje es 4.

Evaluación total del proyecto: ∑ SCORE / cantidad de tareas planificadas = 4.6 Tiempo total en horas hombre: 202 horas.

Ejecución Proyecto ágil

En la figura 5.5 se muestra el resultado de la ejecución del algoritmo de planning, efectuada sobre el “proyecto ágil”. Este caso tampoco cuenta con conocimiento previo en la memoria organizacional, como así tampoco ningún tipo de preferencia entre recursos, por lo tanto, se asignó el primer recurso disponible que el algoritmo de planning encontró apto para satisfacer el requerimiento de la tarea. Como se mencionó anteriormente, este proyecto cuenta con las mismas tareas que el de la ejecución anterior, pero divididas en tres sprints, por lo que se presentan las asignaciones divididas en ellos.

El resultado que se espera obtener en esta ejecución, es que las asignaciones del primer sprint sean idénticas a las realizadas por el algoritmo en la ejecución anterior, y que las

asignaciones de sprints posteriores sean mejor calificadas dado que se conserva el conocimiento generado en cada una de las planificaciones de los sprints

Tarea Requerimiento Recurso Rol ejercido Score Sprint Diseñar estructura de base de

datos

Programador

senior Rodrigo

Programador

senior 1 1

Diseñar interfaz de login Diseñador

gráfico junior Martin

Diseñador Gráfico Senior

10 1

Implementar altas bajas y modificaciones (ABM)

Programador

semi senior Rodrigo

Programador

senior 4 1

Implementar funcionalidad para inicio de sesión

Programador

junior Rodrigo

Programador

senior 10 1

Agregar control de movimiento Programador

semi senior Rodrigo

Programador

Senior 4 2

Agregar control de movimiento

Diseñador gráfico semi senior Martin Diseniador Gráfico Senior 4 2

Crear imágenes e interfaz Diseñador

gráfico junior Martin

Diseniador Gráfico Senior

10 2

Crear modelo 3D del avatar Diseñador

gráfico senior Aníbal

Diseniador Gráfico Semi Senior

4 2

Implementar animaciones del avatar

Programador

semi senior Rodrigo

Programador

Senior 4 2

Implementar animaciones del avatar

Diseñador

gráfico senior Martin

Diseniador Gráfico Senior

1 2

Implementar lógica de panel Programador

semi senior Rodrigo

Programador

Senior 4 2

Implementar script para eventos del mouse

Programador

junior Rodrigo

Programador

Senior 10 2

Implementar soporte para multijugador

Programador

senior Roberto

Programador

Semi Senior 4 2

Crear modelo 3D de la sala Diseñador

gráfico junior Martin

Diseniador Gráfico Senior 10 3 Implementar soporte multijugador Programador senior Roberto Programador Semi Senior 4 3

Tabla 5.5: Proyecto ágil. Asignaciones realizadas por el algoritmo junto con las calificaciones obtenidas por cada uno de los recursos.

Los puntajes asignados en la tabla 5.5, provienen de la figura 5.1. Por ejemplo, la primera fila de la tabla, corresponde a una tarea que requiere un recurso senior. El algoritmo asignó un recurso desempeñando el rol de Senior. De acuerdo a la tabla 5.1, el puntaje es 1.

Evaluación total del proyecto: ∑ SCORE / cantidad de tareas planificadas = 5.6 Tiempo total en horas hombre: 188 horas.

Comparación de las ejecuciones

Como se puede apreciar en base a los resultados obtenidos, la planificación realizada por el algoritmo mejoró notablemente, tanto en score promedio como en duración de las tareas a realizar, cuando se planificó el proyecto ágil. Esto se debe a que, entre cada ejecución de un sprint, se tiene en cuenta la información generada en cada uno de los sprints planificados previamente, la cual es almacenada en la memoria organizacional.

Analizando las asignaciones efectuadas por el algoritmo en la ejecución del sprint número uno del proyecto ágil, se puede apreciar que son idénticas a las generadas en el proyecto cascada. Esto se debe a que al inicio de la ejecución del proyecto ágil no se cuenta con información previa almacenada en la memoria organizacional, como se mencionó anteriormente.

Al realizar la planificación del sprint número dos del proyecto ágil, se puede apreciar que dos tareas fueron asignadas a diferentes recursos respecto de la ejecución del proyecto cascada, lo que generó un incremento en el score obtenido, así como también en el tiempo que llevó realizar las mismas.

Luego se realizó la planificación del sprint número tres en la que el algoritmo, analizando la información almacenada en la memoria organizacional, comprendió que se podía realizar mejores asignaciones para dos de las tareas involucradas en el sprint. Estas asignaciones, al igual que ocurrió con el sprint anterior, permitió mejorar el score promedio del mismo y el tiempo de realización de las tareas.

A continuación, se presentan las tareas en las que se obtuvo una mejor calificación en la ejecución del proyecto ágil, respecto del proyecto cascada.

TAREA

REQUERIMIENTO

Agregar control de movimiento

Programador semi senior

Recurso asignado proyecto cascada:

Roberto (Programador semi-senior)

Score obtenido:

1

Recurso asignado proyecto ágil:

Rodrigo (Programador senior)

Score obtenido:

4

En cuanto al tiempo de realización de la tarea, se obtienen los siguientes valores:

Tiempo realización en horas hombre (proyecto cascada) = 19 hs.

Tiempo realización en horas hombre (proyecto ágil) = 15 hs.

En este caso se ve una mejora de 4hs en la metodología Ágil con respecto a Cascada. En el caso Cascada, al no contar con información histórica, el algoritmo asigno el recurso que encajaba perfectamente. Luego, en la ejecución Scrum, el algoritmo ya contaba con el puntaje de la asignación Cascada, e intento mejorarla.

TAREA

REQUERIMIENTO

Crear modelo 3D del avatar

Diseñador gráfico senior

Recurso asignado proyecto cascada:

Julio (Diseñador gráfico senior)

Score obtenido:

1

Recurso asignado proyecto ágil:

Martin (Diseñador gráfico semi-senior)

Score obtenido:

4

Tiempo realización en horas hombre (proyecto cascada): 24 hs.

Tiempo realización en horas hombre (proyecto ágil):

22 hs.

En este caso, la mejora en cuanto al puntaje es igual que el caso anterior. Sin embargo, la mejora del tiempo no es tan notoria. Esto se debe a que se asignó un recurso Semi Senior, y en el caso anterior, un recurso Senior.

TAREA

REQUERIMIENTO

Crear modelo 3D de la sala

Diseñador gráfico junior

Recurso asignado proyecto cascada:

Martin (Diseñador gráfico semi-senior)

Score obtenido:

4

Recurso asignado proyecto ágil:

Julio (Diseñador gráfico senior)

Tiempo realización en horas hombre (proyecto cascada) = 12 hs.

Tiempo realización en horas hombre (proyecto ágil) =

6 hs.

Una vez más, se puede ver una mejoría notable en los tiempos. Esto se debe a que la tarea requería un recurso de pocos conocimientos, y en la ejecución para Scrum se asignó un recurso Senior.

TAREA

REQUERIMIENTO

Implementar soporte para multijugador

Programador senior

Recurso asignado proyecto cascada:

Rodrigo (Programador senior)

Score obtenido:

1

Recurso asignado proyecto ágil:

Roberto (Programador semi-senior)

Score obtenido:

4

Tiempo realización en horas hombre (proyecto cascada): 24 hs.

Tiempo realización en horas hombre (proyecto ágil):

22 hs.

La ventaja del enfoque Scrum por sobre el Cascada, es la granularidad temporal. En Scrum, la ejecución del proyecto esta divididas en unidades temporales denominadas sprints. Esto permite contar con información en la MO al momento de comenzar cada sprint. En el caso del sprint 1, como se mencionó anteriormente, no se cuenta con información en la MO. Es por ello que las asignaciones del enfoque Cascada coinciden para las tareas del Sprint 1 en el enfoque Scrum.

Related documents