Summary: | En el desarrollo de aplicaciones software usando metodologías ágiles, la asignación de las tareas de desarrollo es una actividad
fundamental, de ella depende el éxito del desarrollo del proyecto, asignar las tareas de desarrollo a la persona correcta, en el tiempo adecuado
y de forma óptima, puede traer una reducción en el tiempo de desarrollo y en los costos del proyecto. El problema de la planificación y
asignación de tareas a recursos o personas, conocido como “scheduling” ha sido abordado desde diferentes enfoques y disciplinas, por ejemplo:
la investigación de operaciones, la programación numérica y la programación lineal. En este trabajo se aborda este problema aplicado al
desarrollo de software ágil, donde se busca asignar de forma automática y óptima las historias de usuario que deben implementar en una iteración
(sprint) el equipo de desarrollo, teniendo en cuenta las características propias del equipo, por ejemplo, su experiencia (desarrollador junior,
senior o novato). Se propone un algoritmo genético que genera la asignación de tareas para la iteración (sprint) de desarrollo. Se realizó la
validación del algoritmo propuesto en un caso de estudio real, se pudo observar que el resultado obtenido mejora considerablemente al obtenido
por el líder del proyecto. En el caso de estudio real se redujo el tiempo estimado de desarrollo de 99 horas a 87 horas (12%), siendo una diferencia
importante que representa ahorros en los costos del proyecto. Como trabajo futuro se pretende usar casos reales más complejos, con más
desarrolladores e historias para validar el método propuesto.
|