Sie sind auf Seite 1von 5

WICC 2012

572

Simulacin de Proyectos de Software desarrollados con XP: Subsistema de Desarrollo de Tareas


Tamara Kasiak1,a, Diego Alberto Godoy1,b 1 Centro de Investigacin en Tecnologas de la Informacin y Comunicaciones (C.I.T.I.C.)/Universidad Gastn Dachary
a

Salta 1968. Posadas, Misiones, Argentina Telfono: +54-376-4438677


b

tamarakasiak@ugd.edu.ar; diegodoy@ugd.edu.ar

Resumen
Administrar Proyectos de Software siguiendo Programacin Extrema (XP) implica implementar, de forma conjunta y al extremo, prcticas ya conocidas en el mbito del Desarrollo de Software, lo que torna a esta actividad an ms compleja. Como una manera de tratar esta complejidad, es que se ha construido un Modelo Dinmico de Simulacin (siguiendo los lineamientos de la Dinmica de Sistemas), que agrupa las variables involucradas en un proyecto llevado a cabo con XP, que permite analizar el efecto de la implementacin conjunta de las prcticas de dicha metodologa y ayuda en la gestin de este tipo de proyectos. El modelo presentado en este trabajo corresponde al Subsistema de Desarrollo de Tareas, uno de los ms importantes. Este modelo se ha validado con datos de dos proyectos reales. Adems, se han diseado y ejecutado una serie de experimentos sobre el mismo y se ha realizado el Anlisis de Sensibilidad de sus variables ms importantes. El modelo construido sirve como ayuda a administradores de proyectos novatos, permitindoles conocer de antemano las consecuencias de sus decisiones.

Trabajo de Grado titulado Modelo de Simulacin Dinmico de Gestin de Proyectos de Desarrollo de Software que utilizan Programacin Extrema, de la carrera Licenciatura en Sistemas de Informacin de la Universidad Gastn Dachary.

Introduccin
En el mbito de la Ingeniera del Software la evolucin de las Metodologas de Desarrollo de Software ha llevado a la aparicin de las denominadas Metodologas giles, las cuales estn destinadas a romper con la rigidez de las Tradicionales, caracterizadas por la extensa documentacin del proceso de desarrollo y por la inflexibilidad ante los cambios. Una de las Metodologas giles ms importante y reconocida es la Programacin Extrema (XP) [1], para aquellos proyectos de software donde el cambio en los requerimientos es la norma. Por tal motivo rene un conjunto de prcticas sencillas ya conocidas, pero que en este caso son llevadas a cabo conjuntamente y en forma extrema. Debido a esto, la gestin de proyectos de desarrollo de software se torna algo impredecible y compleja y es difcil anticipar por sus administradores, los efectos que tiene sobre la marcha del mismo, la aplicacin de las diferentes prcticas de XP. No obstante, si bien existen actualmente diversas herramientas destinadas a ayudar a los administradores de proyectos en la estimacin y toma de decisiones, como ser los Modelos Dinmicos de Simulacin, que permiten evaluar diferentes alternativas de decisin en la gestin, sin intervenir en el desarrollo real del proyecto, la mayora de ellos han

Palabras claves: Administracin de


Proyectos de Software, Programacin Extrema, Dinmica de Sistemas.

Contexto
El trabajo presentado aqu se realiz en el marco de la lnea de investigacin denominada Simulacin como herramienta para la Mejora de los Procesos de Software iniciada hace dos aos en el C.I.T.I.C. Como uno de los resultados de esta lnea se presenta parte del

2012

XIV Workshop de Investigadores en Ciencias de la Computacin

WICC 2012

573

sido desarrollados para proyectos que se llevan a cabo con Metodologas Tradicionales, como ser el modelo de Abdel- Hamid y Madnick [2] y el Modelo Dinmico Reducido [3]. El modelo de Abdel-Hamid y Madnick, que data de los aos 90, no tiene en cuenta las fases de Definicin de Requisitos, Operacin y Mantenimiento, por lo que se centra en el Diseo, Codificacin, Revisin, Correccin y Pruebas, considerando que los requisitos del proyecto se mantienen estables a lo largo del ciclo de vida. Por otro lado, si bien este modelo est dividido en cuatro subsistemas complejos (Gestin de Recursos Humanos, Produccin de Software, Control y Planificacin), este est destinado a simular proyectos que se llevan a cabo bajo Metodologas Tradicionales, ya que en la poca de su surgimiento an no se hablaba de Metodologas giles ni de cambios de requerimientos durante el desarrollo. Lo mismo ocurre para el caso del Modelo Dinmico Reducido, el cual constituye una reduccin del Modelo de Abdel Hamid y Madnick. Los dos criterios de reduccin ms importantes, en los que se bas este modelo son por un lado, agregar las variables de nivel ms relevantes del Modelo de Abdel-Hamid y Madnick y, por otro, elegir los bucles de realimentacin adecuados a las variables de nivel elegidas.

suficientes para elegir la mejor opcin a ser aplicada en el sistema real. Esto es posible ya que el modelo habilita a los administradores a realizar cambios en variables crticas del proyecto, como ser recursos, tiempo, tareas a desarrollar, etc., y observar las repercusiones de dichos cambios en el resto del proyecto, y lo ms importante, sin comprometer la ejecucin real del mismo. Como se mencion, el modelo refleja el efecto del uso de prcticas XP en proyectos de desarrollo de software y para ello, su estructura permite simular el desarrollo de una versin o entrega de un proyecto XP a la vez. Es decir, como XP presenta un estilo de desarrollo iterativo e incremental, dentro de un proyecto se negocian con el cliente varias entregas o versiones, por lo que el modelo, est destinado a simular las versiones de a una por vez.

Construccin del Modelo


Para la construccin del modelo se utiliz el software VenSim PLE 5.4c (Versin Acadmica) [4] y se han seguido, las etapas de la Metodologa de Dinmica de Sistemas [5], de esta forma, en la Fase de Conceptualizacin se ha construido el Diagrama Causal, incluyendo las variables que representan un proyecto de software XP y sus interrelaciones. Luego, en la Fase de Formulacin se ha traducido el Diagrama anteriormente mencionado al Diagrama de Forrester, el cual ha sido dividido en Subsistemas Conservativos de acuerdo con [6]. Finalmente, en la Fase de Evaluacin se han realizado las corridas de validacin y experimentales del modelo. En la Figura 1, se presenta uno de los subsistemas ms importantes del modelo: El Subsistema de Desarrollo de Tareas. Este Subsistema representa todas las etapas por las que pasan cada una de las tareas, en que se dividen las historias de usuario (HU), comenzando con la planificacin de dichas tareas para cada iteracin, la cual se basa en la cantidad de HU planificadas por iteracin y en la Cantidad promedio de tareas por HU.

Objetivos del Modelo Propuesto


De acuerdo con lo anterior, se plante en este trabajo la construccin de un Modelo de Simulacin Dinmico de Gestin de Proyectos de Desarrollo de Software que utilizan XP, con el objetivo de analizar el efecto que tiene el uso de las prcticas de XP en la gestin de proyectos de desarrollo de software. El modelo permite, a los administradores de proyectos, evaluar el impacto de sus decisiones de gestin sobre el mismo, a lo largo del tiempo, como as tambin posibilita comparar los resultados de sus decisiones, ofreciendo datos

2012

XIV Workshop de Investigadores en Ciencias de la Computacin

WICC 2012

574

<Time>

<Cantidad de dias promedio que lleva integrar una tarea> <Cantidad de dias promedio que lleva correr todas las PU>
<Cantidad de dias promedio que lleva poner en produccion una tarea>

<Cantidad de dias promedio que lleva correr las PU de una tarea>

Flujo de re-planificacion de tareas no acabadas

<Cantidad promedio de tareas por HU> <Planificacion de entregas>

Tareas integradas

Flujo de integracion de tareas

Tareas probadas con PU

Flujo de realizacion de PU sobre tareas

Tareas a desarrollar

Flujo de planificacion de tareas

Flujo de realizacion de PU globales sobre tareas Numero medio estimado de tareas con errores de codificacion Flujo de deteccion de tareas con errores Tareas codificadas Flujo de codificacion de tareas

<Hu planificadas por iteracion>

Tareas en produccion

Flujo de puesta en produccion de tareas

Tareas probadas con PU globales

Numero medio estimado de tareas que generan errores de integracion

Flujo de deteccion de tareas con errores de integracion

<Cantidad de dias promedio que lleva codificar una tarea>


Tareas a re-codificar Flujo de re-codificacion de tareas

<Planificacion de entregas> <Time>

<Cantidad de dias promedio que lleva re-codificar una tarea>

Figura 1 Subsistema de Desarrollo de Tareas

De esta forma, una vez planificadas las tareas, se encuentran inicialmente en el nivel Tareas a desarrollar, y luego van pasando por todos los niveles hasta llegar al nivel Tareas en Produccin, el cual representa la cantidad de tareas desarrolladas en cada iteracin. Adems del subsistema presentado, el modelo se compone de los siguientes subsistemas: Recursos Humanos, Factor de Carga, Presin en el Plazo, Desarrollo de Pruebas de Unidad, Desarrollo de Pruebas de Aceptacin, Planificacin, Desarrollo de Tareas Extras, Desarrollo de Historias de Usuario, Horas de Trabajo por da y Actualizacin de los Das Ideales de Ingeniera por Historia de Usuario y por Tarea.

desarrollada en 85 das por 1 slo programador. Los datos de las iteraciones, de este caso se pueden ver en el Cuadro 1.
Iteracin Historias de Usuario (HU) 4 3 4 3 Tareas en Promedio por HU 12 9 12 9 Duracin Real en das 45 10 20 10

1 2 3 4

Cuadro 1 Iteraciones del proyecto presentado en [8]

De acuerdo con los datos del Cuadro 1, el Grfico 1 refleja el Flujo de Planificacin de Tareas, que tambin pertenece al subsistema de la Figura 1.
Flujo de planificacion de tareas
20

15
tareas/dia

Validacin
En la validacin se utilizaron datos reales de dos Proyectos realizados con XP. El primero es un proyecto de Desarrollo de un Sistema de Gestin de una Empresa de Confecciones, cuyos detalles se pueden ver en [7]. El segundo fue el Sistema ONess, un Proyecto Open Source para el "Negocio Textil Mayorista [8]. Este, consisti en una versin (dividida en 4 iteraciones), que fue

10

0 1 24 47 Time (Day) 70 93

Grfico 1 - Flujo de Planificacin de Tareas

Por otro lado, en el Grfico 2 se puede ver que el modelo se comport de acuerdo con los datos del caso de validacin, alcanzndose el nivel de Tareas

2012

XIV Workshop de Investigadores en Ciencias de la Computacin

WICC 2012

575

en Produccin planificado iteracin (Grfico 1).


Tareas en produccion
60

para

cada

Tamao de la version en HU 20

17.5

15

45
tareas

12.5

30

10 Flujo de actualizacion del tamao de la version 4

15
3

0 1 24 47 Time (Day) 70 93
2

Tareas en produccion : Current

Grfico 2 Tareas en Produccin

Experimentos realizados
Al igual que en la validacin, el modelo ha sido simulado bajo diversas condiciones que representan situaciones tpicas en proyectos XP. En este caso se presenta uno de los experimentos realizados, el cual se refiere al desarrollo de una versin de un proyecto XP, la cual engloba 15 HU a ser completadas en 45 das. Esta versin fue dividida en 3 iteraciones de 5 HU cada una. As tambin, del desarrollo de la misma participaron 6 pares de programadores (4 novatos y 8 expertos). En este escenario se analiz la incorporacin de 3 HU ms al final de la primera iteracin, el abandono del proyecto de 2 programadores al comienzo de la segunda iteracin y la re-planificacin de HU no acabadas al final de primera y segunda iteracin. De esta forma, en el Grfico 3 se puede observar como aumenta el tamao de la versin, de 15 para 18 HU, al actualizarse la cantidad de HU al final de la primera iteracin (da 14). Por otro lado, en el Grfico 4 se puede observar como la cantidad de Pares de Programadores disminuye el da 15 (comienzo de la segunda iteracin), cuando 2 programadores abandonan el equipo de desarrollo. Debido a esta situacin, el crecimiento en la cantidad de Programadores Expertos (que aumenta a medida que los novatos adquieren experiencia) se ve interrumpido el da 15, como se puede apreciar en el Grfico 5.

12

23 Time (Day)

34

45

Grfico 3 Actualizacin del Tamao de la Versin


Pares de Programadores
8

7
pares

4 1 5 9 13 17 21 25 Time (Day) 29 33 37 41 45

Grfico 4 Cantidad de Pares de Programadores

Grfico 5 Cantidad de Programadores Expertos

Finalmente, en el Grfico 6 se refleja la replanificacin de HU no acabadas al final de las 2 primeras iteraciones. La replanificacin en la iteracin 1 corresponde al hecho de que, como se observa en el Grfico 5, la cantidad de programadores expertos es baja al comienzo de la versin, y por lo tanto, la cantidad de horas de trabajo diarias disponibles para desarrollo es tambin baja en este etapa. La replanificacin en la iteracin 2 corresponde, en cambio, al incremento en la cantidad de HU planificadas para dicha iteracin (Grfico 3) y al abandono del proyecto por parte de 2 programadores tal como se mostr en el Grfico 4.

2012

XIV Workshop de Investigadores en Ciencias de la Computacin

WICC 2012

576

Flujo de re-planificacion de HU no acabadas


4

sobre proyectos de software desarrollados con XP.

hu/dia

Trabajos Futuros
1 5 9 13 17 21 25 Time (Day) 29 33 37 41 45

Grfico 6 Replanificacin de HU no acabadas

Resultados
En el presente trabajo se ha construido un Modelo de Simulacin Dinmico de Gestin de Proyectos de Desarrollo de Software que utilizan XP, lo cual hace que se diferencie de otros trabajos en los que se modelan proyectos con Metodologas Tradicionales. De esta forma, el modelo puede ser usado como herramienta para analizar el efecto que tiene el uso de prcticas de XP en proyectos de software. En este sentido, es preciso mencionar que las prcticas que quedaron reflejadas en el modelo, de acuerdo Kent Beck en [9], son las siguientes: El juego de la planificacin, Versiones pequeas, Hacer pruebas, Recodificacin, Programacin en parejas, Integracin continua y 40 horas semanales, que son las que fueron posibles de representar utilizando Dinmica de Sistemas. Para ofrecer una buena flexibilidad el modelo permite la alteracin de valores durante su ejecucin, como ser la cantidad de requerimientos del cliente, las fechas de comienzo y entrega de cada iteracin, la cantidad de requerimientos a ser desarrollados en cada iteracin, la cantidad de programadores, las horas extras agregadas por da, el porcentaje de tiempo destinado a cada etapa del desarrollo, el factor de carga del equipo de desarrollo, entre otras. La validacin del modelo realizada con los proyectos [7] y [8] como casos de entrenamiento fue positiva ya que el mismo se comport de acuerdo con los datos reales. Finalmente, luego de validar el modelo, ejecutarlo bajo diferentes escenarios y realizar el anlisis de sensibilidad, se ha llegado a la conclusin de que el mismo cumple con sus objetivos y puede ser utilizado como herramienta para evaluar diferentes decisiones de gestin

Como trabajos futuros se plantea la posibilidad de lograr desarrollar un modelo ntegro que permita simular el desarrollo completo de un Proyecto, es decir, con todas sus versiones a la vez. Una variante que podra ser incorporada al modelo es la Planificacin por alcance dentro de la Metodologa XP ya que el mismo fue construido basndose en la Planificacin por tiempo. Adems sera interesante la construccin de una jerarqua de Modelos Dinmicos para simular Proyectos llevados a cabo con Metodologas giles. Dicha jerarqua de modelos podra estar inspirada en la presentada en [2] para Metodologas Tradicionales, la cual divide a los modelos en Bsicos, Intermedios y Avanzados.

Formacin Humanos

de

Recursos

El equipo de trabajo se encuentra formado por un investigador Junior y dos estudiantes en perodo de realizacin de trabajos finales de grado. El nmero de tesinas de grado aprobadas es uno y una en proceso.

Referencias
[1] http://www.programacionextrema.org. ltima actualizacin sbado, 15 de enero de 2005. [2] Abdel Hamid T. K., Madnick S. E.; Software Project Dynamics An Integrate Approach, Editorial Prentice New Jersey, 1991. ISBN:0-13-822040-9 . [3] Ramos I., Toro M., Ruiz M.; Modelo Dinmico Reducido, Informe Tcnico: LSI-2001-01, Universidad de Sevilla, 2001. [4] http://www.vensim.com/index.html. ltima actualizacin 26/01/2012. [5] Aracil, J.; Dinmica de Sistemas, Editorial Isdefe, Espaa, 1995. ISBN: 8-46-833802-8 [6] Torrealdea J.; Dinmica de Sistemas. Elementos y Estructuras de un Modelo. Ciencias de la Computacin e Inteligencia Artificial. Universidad del Pas Vasco. Pas Vasco. [7]http://users.dsic.upv.es/asignaturas/facultad/lsi/eje mploxp/. ltima actualizacin 11/01/2004. [8]http://oness.sourceforge.net/proyecto/html/index.ht ml. ltima actualizacin 29/09/2004 [9]Beck, K.; Una Explicacin de la Programacin Extrema. Aceptar el Cambio, Editorial Addison Wesley, Espaa, 2002. ISBN: 8-47-829055-9

2012

XIV Workshop de Investigadores en Ciencias de la Computacin

Das könnte Ihnen auch gefallen