En el desarrollo de aplicaciones software, 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 programación y asignación de tareas a recursos o personas, conocido “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 o 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 o Sprint de desarrollo. Se realizó la validación del algoritmo propuesto en un caso de estudio, se pudo observar que el resultado obtenido es muy similar al obtenido por una persona experta.