• No se han encontrado resultados

Planificación de cronogramas en entornos multi-proyectos de desarrollo de software

N/A
N/A
Protected

Academic year: 2020

Share "Planificación de cronogramas en entornos multi-proyectos de desarrollo de software"

Copied!
16
0
0

Texto completo

(1)

Tipo de artículo: Artículo original Temática: Gestión de Proyectos

Recibido: 10/06/2019 | Aceptado: 10/10/2019 | Publicado: 22/10/2019

Planificación de cronogramas en entornos multi-proyectos de

desarrollo de software

Schedule planning in multiproject software development

environments

Kirenia Rojas Escobar 1*, Leonel Alejandro Araujo Taboada 2

1

Empresa de Tecnologías de la Información para la Defensa (XETID), Cuba, [email protected]. 2

Empresa de Tecnologías de la Información para la Defensa (XETID), Cuba.

*

Autor para correspondencia: [email protected]

Resumen

Actualmente resulta significativo el número de proyectos de software que no culminan con éxito, siguen presentando dificultades con la planificación, asignación del personal a las tareas, estimaciones erróneas e insuficiente gestión. Problema que adquiere un alcance mayor en las organizaciones con entornos Multi-proyectos de desarrollo de software, debido al elevado número de alternativas que se deben considerar, situación que puede ser mitigada por acciones orientadas a mejorar la calidad en los procesos de construcción de los cronogramas de proyecto.

Al problema de la planificación de cronogramas en proyectos de software se le presta gran atención en la actualidad y numerosas investigaciones han sido encaminadas a la representación de las características de los recursos humanos en los modelos de optimización propuestos y en soluciones computacionales al mismo. Pero desde principio de los años noventa se hace alusión a la escasez de resultados científicos en el tratamiento de la planificación en entornos Multi-proyectos de desarrollo de software y aún en la actualidad se exponen criterios similares. Los principales objetivos de este artículo son, caracterizar, en cuanto a los elementos que contiene, el problema de planificación en entornos Multi-proyectos de desarrollo de software, brindar un resumen de soluciones ha dicho problema. Además, presentar un sistema multiagentes de planificación para automatizar la planificación del cronograma en dichos entornos. Mostrar los resultados del desempeño del mismo mediante la aplicación de este a una instancia multiproyecto simple.

Palabras clave: Gestión de Proyectos; Entornos Multi-proyectos; Sistema multiagente, cronogramas.

Abstract

(2)

alternatives that should be considered, a situation that can be mitigated by actions aimed at improving the quality in the construction processes of project schedules.

The problem of planning schedules in software projects is being given great attention at present and numerous investigations have been directed to the representation of the characteristics of human resources in the proposed optimization models and in computational solutions thereto. But since the beginning of the nineties there is reference to the scarcity of scientific results in the treatment of planning in multi-project environments of software development and even today similar criteria are exposed. The main objectives of this article are to characterize, in terms of the elements it contains, the problem of planning in multi-project software development environments, providing a summary of solutions to this problem. In addition, present a multi-agent planning system to automate schedule planning in these environments. Show the results of its performance by applying this to a simple multiproject instance.

Keywords: Project management, Multiproject Environments; Multiagent System; Scheduling.

Introducción

La Gestión de Proyectos (GP) es una de las disciplinas de mayor crecimiento en la actualidad. Ello es debido a que la

propia idea de proyecto ha trascendido a su interpretación tradicional asociada típicamente a la construcción de un

producto o un sistema material singular, y se extiende a subconjuntos cada vez mayores de la actividad empresarial

(Victorio, 2008).

El entorno actual de desarrollo de proyectos de software se caracteriza por cambios tecnológicos acelerados, presiones

económicas, trabajo en equipos multidisciplinarios, recursos y tiempo limitado. Debido a esto y a otros factores, la

industria del software se encuentra dentro del número creciente de empresas y organizaciones que están adaptando e

incorporando la GP a sus actividades cotidianas y con esto busca planear, organizar, asegurar y coordinar recursos

tanto humanos como no humanos para cumplir con los objetivos, entregables y criterios de éxito en sus proyectos. Sin

embargo, y a pasar de los reconocidos logros de la Industria del Software, aún resulta significativo el número de

proyectos que no culminan con éxito (Ampuero, 2009), siguen presentando dificultades con la planificación,

problemas con la asignación del personal a las tareas, la definición del alcance, estimaciones erróneas e insuficiente

gestión (García Vacacela, Pérez Pupo, Villavicencio, Piñero, & Beovides, 2016).

Este problema adquiere un alcance mayor en las organizaciones donde es preciso planificar proyectos de software que

se ejecutan simultáneamente utilizando los mismos recursos humanos o entornos Multi-proyectos como se le conoce

en la literatura, ya que se deben tener en cuenta, no solo las relaciones existentes entre actividades de un mismo

proyecto, sino estudiar las relaciones y compatibilidades que se dan entre distintos proyectos. Situación que puede ser

(3)

de los cronogramas de proyectos (García Vacacela, Pérez Pupo, Villavicencio, Piñero, & Beovides, 2016). Puesto

que la construcción de cronogramas es uno de los aspectos más importantes a la hora de planificar un proyecto de

software. Estos deben permitir establecer un guión temporal de las acciones y tareas a desarrollar durante la ejecución

del proyecto y tener en cuenta todos aquellos factores decisivos a la hora de realizar los trabajos, desde el orden

necesario de los mismos hasta la disponibilidad de los recursos, principalmente los recursos humanos, debido al papel

crítico que juegan estos en el proceso de desarrollo de software (Plekhanova, On project management scheduling

where human resource is a critical variable, 1998) (Ampuero, 2009) (Aristizábal González, Castellanos Trujillo, &

Ordóñez Calderón, 2017).

En este sentido las técnicas clásicas de planificación de proyectos PERT y CPM, no consideran explícitamente la

asignación de los recursos a las tareas, sino que constituyen herramientas de ayuda para la graficación y el análisis de

los cronogramas una vez construidos los mismos. En este contexto desde finales de los sesenta el problema de

construcción de cronogramas de proyectos, suele abordarse como un problema de optimización (Villavicencio, 2016),

conocido como Problema de Planificación de Proyectos o PSP por sus siglas en inglés, los cuales son problemas de

optimización combinatoria de tipo NP-Duro (Demeulemeester & Herroelen, 2002). Por esta razón al problema de la

planificación de cronogramas en proyectos de software se le presta gran atención en la actualidad y numerosas

investigaciones han sido encaminadas a la representación de las características de los recursos humanos en los

modelos de optimización propuestos y en soluciones computacionales al mismo (Abdel-Hamid T., 1989) (Madnick,

1989) (Alba & Chicano, 2007) (Chang, Jiang, Di, Zhu, & Ge, 2008) (Kang, Jung, & Bae, 2011). Pero desde principio

de los años noventa se hace alusión a la escasez de resultados científicos en el tratamiento de la planificación en

entornos Multi-proyectos de desarrollo de software y aún en la actualidad se exponen criterios similares. De aquí que

Los principales objetivos de este artículo son, caracterizar, en cuanto a los elementos que contiene, el problema de

planificación en entornos Multi-proyectos de desarrollo de software, brindar un resumen de soluciones a dicho

problema. La presentación de un sistema multiagentes de planificación para automatizar la planificación del

cronograma en dichos entornos. Mostrar los resultados del desempeño del mismo mediante la aplicación de este a una

instancia multiproyecto simple resumen de una de las instancias de la MPSPLIB y poder extenderlo a instancias más

prometedoras, lo que demostrará cómo el mecanismo propuesto asigna colaborativamente recursos a múltiples

proyectos de desarrollo de software.

Resultados y discusión

(4)

manera muy general como el problema de organizar o secuenciar una serie de operaciones y ubicarlas en el tiempo sin

violar ninguna de las restricciones, de precedencias y recursos, impuestas en el sistema.

Los PSP conforman una familia de problemas que por su importancia han suscitado numerosas investigaciones desde

su aparición en los años cincuenta. Estos presentan distintas variantes, que van desde la simple planificación de

actividades sin tener en cuenta los recursos que consumen, hasta variantes más sofisticadas que consideran varios

modos de procesamiento de las actividades, generalización de las relaciones de precedencia, múltiples proyectos de

forma simultánea y proyectos con recursos variables (Hartmann & Briskorn, 2010).

Problema de planificación de múltiples proyectos con recursos limitados

Como se ha abordado anteriormente, existen otras variantes del problema de planificación con restricción de recursos,

que representan situaciones más realistas de la planificación de proyectos (Brucker , Drexl, Mohring , & Neum,

1999), como es el caso del Problema de planificación de múltiples proyectos con recursos limitados o RCMPSP por

sus siglas en inglés. En esta variante se consideran que varios proyectos se ejecutan simultáneamente con los mismos

recursos. Este no es un problema aislado, el ambiente multiproyecto define la naturaleza de los negocios en la

mayoría de empresas de manufactura y de servicios, y algunos estudios han demostrado que el 84% de las compañías

trabajan con múltiples proyectos simultáneamente y el 90% en valor de todos los proyectos se desarrolla en este

contexto, sin embargo, a pesar de la generalidad del ambiente de múltiples proyectos en las empresas, es común ver

que los cronogramas se planean y se controlan bajo el supuesto de proyectos individuales, situación que no refleja la

realidad durante la ejecución, ya que diferentes proyectos deben competir por la disponibilidad de los recursos que

comparten (Chaparro Pineda & Castalleñeda Tibaque, 2015).

Figura 1: Problema General en la gestión de Multi-proyectos

Problema de planificación de múltiples proyectos de desarrollo de software con recursos limitados

Los proyectos de desarrollo de software se diferencian de los otros proyectos de ingeniería tradicional en la naturaleza

(5)

es el primer nivel del proceso de Ingeniería de Software, porque cubre todo el proceso de desarrollo. Para conseguir

un proyecto de software fructífero se debe comprender, entre otros aspectos, el ámbito del trabajo a realizar, el plan a

seguir y los recursos humanos requeridos (Luis, Algoritmo Genético para optimizar la planificación del cronograma

de un proyecto de software., 2015), principal atención a esto último por el papel crítico que juegan estos en el proceso

de desarrollo de software (Ampuero, 2009), (Plekhanova, On project management scheduling where human resource

is a critical variable, 1998). Pues su eficaz Gestión condiciona el éxito o fracaso de los proyectos. Las habilidades y el

conocimiento de estos influyen directamente en la calidad y el tiempo de ejecución de las actividades que componen

el proyecto (Abdel-Hamid & Madnick, 1989), (Abdel-Hamid T., 1989).

Debido a lo anterior, las tendencias actuales y un mercado donde la competitividad aumenta, es normal que las

empresas de desarrollo de software ejecuten varios proyectos utilizando los mismos recursos humanos, por lo que

estas se caracterizan por cambios tecnológicos acelerados, presiones económicas, trabajo en equipos

multidisciplinarios, recursos y tiempo limitado, etc. En tal sentido y teniendo en cuenta lo que se describe en la

literatura sobre los PSP, el problema que se trata en este epígrafe es similar al ya bien conocido RCMPSP (Medrano

Broche, 2013), (Gonsalves, Ito, & Kawabata, 2008), (Victorio, 2008), solo se le introducen algunos cambios, si se

toma como referencia el problema que se trata en (Lova & Tormos, 2001).

En (Medrano Broche, 2013) el Problema de planificación de múltiples proyectos de desarrollo de software con

recursos limitados o SDMPSP de ahora en lo adelante, se consideran proyectos de desarrollo de

software que se ejecutan en una organización. Cada proyecto i ∈ I tiene una fecha de inicio , se considera que existe

al menos un proyecto disponible para comenzar en . Cada uno de los proyectos está compuesto por un

conjunto de actividades. Las actividades y son ficticias, tienen tiempo de duración

igual a cero y no requieren de recursos para su procesamiento, sin ciclos donde

es el conjunto de actividades antecesoras de la actividad j del proyecto i.

Los proyectos son independientes entre sí, no existe relación de precedencia entre actividades de proyectos diferentes.

Cada actividad posee tiempo de inicio y tiempo de fin . Cada una de las actividades de un

proyecto , pueden ser de tipos . La organización cuenta con un equipo de desarrollado

(6)

sólo tipo de actividades. La duración de cada actividad es conocida y se calcula como , donde

es la capacidad productiva del recurso y es el contenido de trabajo de la actividad del proyecto .

Solución a problemas de planificación en proyectos de software

De manera general, los PSP son resueltos mediante el uso de metodologías heurísticas o metaheurísticas (Kolisch &

Hartmann, 2006), (Kolish & Hartman, 1999), no garantizan la optimalidad, pero pueden dar muy buenas soluciones

en tiempos razonables (Morillo, Moreno, & Díaz, 2014), (Posada, 2010). A estas soluciones se le han ido sumando

otras como son los casos utilizando agentes inteligentes, en aras de lograr representar a través de estos un

acercamiento a la realidad que se vive durante el proceso de desarrollo de software. A continuación, se presenta un

grupo de soluciones a dicho problema.

A. “Application of Multiagent Systems in Project Management” (Yan, Kuphal, & Bode, 2000).

B. “Metaheurísticas e Ingeniería de Software” (Chicano, 2007)

C. “A Generic Agent Framework to Support the Various Software Project Management Processes” (Nienaber &

Barnard , 2007)

D. “Time-Line based model for software project scheduling with genetic algorithm” (Chang, Jiang, Di, Zhu, &

Ge, 2008)

E. “Un modelo para la simulación híbrida de la producción de software a medida en un entorno multiproyecto”

(Victorio, 2008)

F. “Tecnologías Sistema Multiagente de simulación para la planificación de proyectos de software”

(Arribasplata & Cánepa Pérez, 2008)

G. “Resource Constrained Multi-project Management with Activity Weights in Software Engineering” (Chen &

Li, 2009)

H. “Multi-agent technology for scheduling and control projects in multi-project environments. An Auction based

approach.” ( Arauzo, Galán, Pajares, & López-Paredes, 2009)

I. “Planificación de múltiples proyectos de desarrollo de software utilizando métodos metaheurísticos.”

(Medrano Broche, 2013)

J. “Algoritmo evolutivo para el problema de planificación en proyectos de desarrollo de software.” (Dupuy,

(7)

K. Experiencias usando algoritmos genéticos en la planificación de Proyectos (García Vacacela, Pérez Pupo,

Villavicencio, Piñero, & Beovides, 2016)

El Sistema Multiagente (SMA) de planificación que se presenta en este trabajo ha sido diseñado pensando en que la

organización se dedica al desarrollo de productos de software. Dicha organización está formada por proyectos. Cada

proyecto está compuesto por actividades, además se cuenta con un grupo de recursos humanos que son compartidos

entre todos los proyectos activos. Los recursos humanos, a los que en su conjunto se le denomina equipo de

desarrollo, son las personas requeridas para el desarrollo de las actividades de uno o varios proyectos que se ejecutan

simultáneamente. Cada miembro del equipo de desarrollo está especializado en actividades específicas en el

desarrollo del producto. En función de ello cada uno tiene uno o varios roles asociados, esto viene dado en función de

las competencias que encierra. Además, los recursos cuentan con un fondo de tiempo en horas que representa la

cantidad de tiempo que puede dedicar al desarrollo de las actividades durante la semana. En la siguiente figura se

muestra un esquema de cómo será analizado el proceso de planificación en el entorno multiproyecto de desarrollo de

software.

Figura 2: Descripción de la Organización

Para el desarrollo del SMA de planificación de cronogramas, se tuvieron en cuenta varios elementos, partiendo de la

descripción general del problema que se modela en (Medrano Broche, 2013), al cual se le realizaron algunas

modificaciones con el objetivo de reflejar algunas realidades que ocurren en el proceso de desarrollo de software y

que en este no estaban contemplados. Otro de los elementos es el equipo de desarrollo que ejecuta las actividades de

(8)

operativas que deben ser tomadas en el proceso de planificación de cronogramas. Luego de estos elementos claves,

por supuesto, se describe el modelo general de los agentes principales que componen el SMA de planificación.

Descripción general del problema

En el problema SDMPSP (siglas en inglés) se consideran proyectos de desarrollo de software que se

ejecutan en una organización. Cada proyecto tiene una fecha de inicio , se considera que existe al menos un

proyecto disponible para comenzar en . Cada uno de los proyectos está compuesto por un

conjunto de actividades. Las actividades y ficticias, tienen tiempo de duración igual a

cero y no requieren de recursos para su procesamiento, sólo indican cuando comienza y cuando termina un proyecto.

Los proyectos se representan por una red dirigida y sin ciclos donde

es el conjunto de actividades antecesoras de la actividad j del proyecto i.

Los proyectos son independientes entre sí, no existe relación de precedencia entre actividades de proyectos diferentes.

Cada actividad posee tiempo de inicio y tiempo de fin . Cada una de las actividades de un

proyecto i pueden ser de tipos . La duración de cada actividad es conocida.

Equipo de Desarrollo

La organización cuenta con un equipo de desarrollado. Se tendrá en cuenta la categoría de recursos renovables, dentro

de estos los recursos humanos, donde es el conjunto de todos los recursos disponibles. Cada recurso tiene uno o

varios roles certificados, que está asociado a la especialización de ejecutar actividades de un tipo . Cada recurso

tiene, además, un fondo de tiempo y un tiempo ocioso, ambos calculados en horas. El primero va a representar la

cantidad de tiempo que puede dedicar al desarrollo de las tareas del proyecto, y por tanto para poder ejecutar una tarea

que tiene una duración debe cumplirse que t sea mayor o igual a . Por su parte el segundo representa el tiempo

que ha estado desocupado desde el último estado o momento donde completó una tarea hasta se le asigne otra tarea.

Decisiones tácticas

Las decisiones tácticas en el entorno multiproyecto son tomadas tiendo en cuenta la elección de cuando se debe

comenzar un proyecto, de forma tal que exista una cantidad adecuada de recursos para ejecutar sus actividades y la de

los demás proyectos que estén activos. Relacionado con esto está el no violar las fechas de compromiso de cada uno

(9)

aceptado un nuevo proyecto y se cuenta con el mismo número de recursos o en los casos de pérdida de recursos, en

ambos casos se debe re planificar teniendo en cuenta todo lo anterior.

Decisiones operativas

Las decisiones operativas están relacionadas con la secuenciación de las actividades y con la asignación de los

recursos humanos que las ejecutan. Concretamente se deben tomar tres decisiones. La primera consiste en determinar

la estrategia empleada para priorizar los proyectos que se encuentran activos en la organización. La segunda decisión

viene relacionada a las estrategias de priorización de las actividades de cada uno de los estos proyectos que pueden

ser planificadas en un instante de tiempo. Y la tercera decisión está conformada por la estrategia de asignar los

recursos disponibles para que se ejecuten dichas actividades.

Asignación de prioridad a los proyectos

La estrategia empleada para calcular el valor de prioridad de cada proyecto es teniendo en cuenta la fecha para

cuando fue pactada la culminación del mismo. De esta manera ordenar los proyectos según los que estén más

próximos a esa fecha.

Asignación de prioridad a las actividades

La estrategia que se tuvo en cuenta para calcular el valor de prioridad de cada actividad , fue por la regla de

prioridad número de sucesores inmediatos, el valor de la prioridad es calculado por donde es el

conjunto de las actividades sucesoras inmediatas de la actividad . Se planifica primero la actividad con mayor valor

de . En caso de tengan el mismo valor de , entonces asignar recursos primero a la de mayor , o sea, asignar

recursos a la de mayor tiempo de duración.

Asignación de prioridad de los recursos

El valor de prioridad de cada recurso disponible depende de que el recurso posea el rol asociado al tipo de la actividad

, luego de verificado esto asignar el recurso de menor cantidad de actividades realizas y en caso de que existan varios

recursos disponibles que coincidan en esto, entonces asignar el recurso de menor tiempo de trabajo realizado (en

horas).

Modelo de Agentes

Se han identificado 4 agentes principales. Cada uno de los cuales tiene determinados roles.

Agente Recurso: Dispondrá de todos los recursos con los que se cuenta para realizar las tareas de cada uno de los

(10)

rol coincida con el tipo de la actividad. Las propiedades de los recursos y el estado de utilización se registran en la

memoria de este agente.

Agente Proyecto: Gestionará todos los proyectos que se encuentren activos, así como otros que puedan adicionarse.

Agente Actividad: En este caso se creará una agente actividad para gestionar las actividades de los proyectos por

separado, o sea, se creará una agente actividad por cada proyecto activo que haya que planificar, esto se traduce que si

tuviésemos 5 proyectos se crearán 5 agentes actividad para gestionar las actividades de cada uno por separado.

Agente Planificador: Devolverá planificaciones válidas según el número de actividades que tenga cada proyecto con

el recurso que se haya asignado para la realización de cada actividad, respetando las relaciones entre las actividades

de un mismo proyecto y la disponibilidad de los recursos, en función de las características y del fondo de tiempo que

tenga disponible cada uno. Este agente al igual que el resto se controla enviando comandos. Por ejemplo, si el recurso

se transfiere a otra actividad en otro proyecto, un comando de envío puede ordenar al agente que también se mueva al

otro. Al mantener el registro de los requisitos de utilización, es fácil encontrar la dependencia implícita de los

recursos.

En esta sección, además, se presenta un ejemplo simple para demostrar cómo el mecanismo propuesto asigna

colaborativamente recursos a múltiples proyectos de desarrollo de software, garantizando un balance de la carga de

trabajo entre los recursos de un mismo tipo. Se considera un problema de múltiples proyectos simple de 3 proyectos

con 7, 8 y 9 actividades respectivamente y se cuenta con 5 recursos, los cuales tienen creadas las competencias para

uno o varios roles como se muestra en la Tabla 1. Las actividades fueron enumeradas consecutivamente para saber de

forma sencilla a que actividad están siendo asignados los recursos y cada una tiene especificado el tipo de recurso y el

tiempo de duración. Se tuvo en cuenta además que la asignación fuera de uno a uno, por tipo de recurso, o sea, que

cada actividad solo es realizada en un tiempo específico por un solo recurso.

A diferencia de otras soluciones presentadas en la literatura desde el inicio en la planificación se tienen en cuenta los

(11)

Figura 3: Relación entre agentes principales.

Tabla 1: Relación del recurso con el rol o roles y el tiempo disponible en horas durante la semana.

Recurso Fondo de Tiempo disponible (h) Rol

1 40 {1,2}

2 40 {1,3}

3 40 {2}

4 40 {2,3}

PROYECTO 1 (Segundo en vencerse) PROYECTO 3 (Primero en vencerse)

(12)

Figura 4: Ejemplo de entorno multiproyecto con 3 proyectos activos

Tabla 2: Resumen cantidad de actividades realizadas por cada recurso

Recurso Actividad Actividad Actividad Actividad Tipo Tipo Tipo Tipo

1 2 9 11 24

1 1 1 2

2 4 10 22 23

1 1 1 1

3 5 12 25

2 2 2

4 3 13 26

2 2 2

5 6 14 27 28

3 3 2 3

Tabla 3: Realización de las actividades ordenas según decisiones y restricciones impuestas con el recurso que la realizó.

Actividad 24 22 23 25 26 2 27 3 4 11 28 5 13 10 9 6 12 14

Recurso 1 2 2 3 4 1 5 4 2 1 5 3 4 2 1 5 3 5

En esta tabla no se muestran las actividades que están identificadas con la letra I y F, pues son actividades ficticias

que solo permiten conocer cuando comienza y termina un proyecto, estas actividades su tiempo duración es cero y no

consumen recursos.

Conclusiones

Como resultado de esta investigación se obtiene una revisión del estado del arte en cuanto al tratamiento de los

problemas de planificación de entornos Multi-proyectos, de la cual se pudo constatar que existe escasez de resultados

científicos en el tratamiento de la planificación en entornos Multi-proyectos de desarrollo de software, pues en

soluciones presentadas como (G), se consideran proyectos de pocas actividades y no se describen las características

de los recursos humanos. Otras soluciones como (D) están generalmente asociadas, a la representación de las

características de los recursos humanos en aras de lograr un mayor acercamiento a la realidad, pero en modelos de

(13)

Se evidencia, además que se han utilizado diversos métodos metaheurísticos para la resolución de problemas de

planificación en proyectos de desarrollo de software, y que actualmente los más estudiados para este fin son los

heurísticos basados en poblaciones como es el caso de los Algoritmos Genéticos, los cuales fueron aplicados con

éxito en el modelo propuesto en (I), el cual, se ajusta en gran medida a las características de los entornos

Multi-proyectos de software, pero no queda claro que sucederá si luego de planificado todos los Multi-proyectos que están

ejecutándose, llegara un nuevo proyecto.

Esta investigación permitió observar y analizar otras técnicas que están emergiendo en la actualidad como solución a

estos problemas, ya que la mayor parte de los métodos existentes para programar proyectos de desarrollo de software

se basan en la toma de decisiones centralizada o jerárquica usando modelos globales. Estas soluciones son el uso de

algoritmos basado en agentes o sistemas multiagentes de los cuales se presentan tres soluciones la (A), (C), (F) y la

propuesta que se presenta aquí.

El SMA que se presenta en este trabajo ha considerado un entorno Multi-proyectos sencillo donde se cuenta con un

grupo de recursos limitados y compartidos entre los proyectos. Toma en cuenta las decisiones tácticas y operativas

presentadas, con el objetivo de lograr una propuesta de cronogramas tipo para diferentes situaciones que garantice el

balance de carga entre los recursos. Este enfoque fue aplicado con éxito y simulado en un problema de ejemplo para

validar el método propuesto utilizando una instancia simple de 3 proyectos. Se tomaron en cuenta las situaciones en

donde llegara un nuevo proyecto o el caso en el que a alguna actividad se le cambiara su tiempo de duración, pero

todos estos casos el sistema fue capaz de replanificar y generar nuevamente la programación.

Referencias

Arauzo, J. A., Galán, J. M., Pajares, J., & López-Paredes, A. (2009). Multi-agent technology for scheduling and

control projects in multi-project environments. An Auction based approach. Inteligencia Artificial. Revista

Iberoamericana de Inteligencia Artificial, 13(42), 12-20.

Rodríguez, G., Berdún, L., Soria, Á., Amandi, A., & Campo, M. (2014). Un enfoque inteligente para asistir en la

planificación de proyectos ágiles. 15th Argentine Symposium on Articial Intelligence.

Abdel-Hamid, T. (Febrero de 1989). The dynamics of software project staffing: a system dynamics based simulation

approach. Software Engineering, IEEE Transactions on, 15(2), 109-119.

Abdel-Hamid, T. K., & Madnick, S. E. (December de 1989). Lessons learned from modeling the dynamics of

software development. Commun. ACM, 32, 1426--1438.

(14)

Ampuero, M. A. (2009). Un modelo para la asignación de recursos humanos a equipos de proyectos de software.

ISPJAE CEIS Facultad de Ingeniería Informática, La Habana.

Aristizábal González, D. C., Castellanos Trujillo, J. X., & Ordóñez Calderón, C. M. (2017). Indentificación y análisis

de métodos heurísticos basados en reglas de prioridad para la solución de problemas de programación de

múltiples proyectos con recursos restringidos (RCMPSP). Reporte Técnico, ESCUELA COLOMBIANA DE

INGENIERÍA JULIO GARAVITO.

Arribasplata, N., & Cánepa Pérez, C. (2008). Tecnologías Sistema Multiagente de simulación para la planificación de

proyectos software. Revista de Ingeniería de Sistemas e Informática, 5(2).

Brucker , P., Drexl, A., Mohring , R., & Neum, K. (1999). Resource-constrained project scheduling: Notation,

classification, models, and methods. European Journal of Operational Research, 112(1), 3--41.

Chang, C., Jiang, H.-y., Di, Y., Zhu, D., & Ge, Y. (2008). Time-line based model for software project scheduling with

genetic algorithms. Information and Software Technology, 50(11), 1142-1154.

doi:10.1016/j.infsof.2008.03.002

Chaparro Pineda, V., & Castalleñeda Tibaque, J. (2015). Ambiente multiproyecto con recursos restringudos: Una

revisión al estado del arte. Tesis de Grado, UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE

CALDAS.

Chen, L., & Li, K. (2009). Resource-Constrained Multi-project Management with Activity Weights in Software

Engineering. En IEEE (Ed.), 2009 IITA International Conference on Control, Automation and Systems

Engineering (case 2009).

Chicano, J. F. (2007). Metaheuristicas e Ingniería de Software. Departament of Computer Science University of

Malaga.

Demeulemeester , E., & Herroelen, W. (2002). PROJECT SCHEDULING A Research Handbook. KLUWER

ACADEMIC PUBLISHERS.

Dupuy, G., Stark , N., & Salto, C. (2013). Algoritmo evolutivo para el problema de planificación en proyectos de

desarrollo de software. XVIII Congreso Argentino de Ciencias de la Computación.

García Vacacela, R., Pérez Pupo, I., Villavicencio, N., Piñero, P., & Beovides, S. (Noviembre de 2016). Experiencias

usando algoritmos genéticos en la planificación de proyectos. Revista Cubana de Ciencias Informáticas,

(15)

Gonsalves, T., Ito, A., & Kawabata, R. (2008). Swarm Intelligence in the Optimization of Software Development

Project Schedule. 32nd Annual IEEE International Computer Software and Applications Conference. IEEE.

doi:10.1109/COMPSAC.2008.179

Hartmann, S., & Briskorn, D. (2010). A survey of variants and extensions of the resource-constrained project

scheduling problem. European Journal of Operational Research, 207(1), 1--14.

Kang, D., Jung, J., & Bae, D.-H. (2011). Constraint-based human resource allocation in software projects. Software:

Practice and Experience, 41(5), 551-577. doi:10.1002/spe.1030

Kolisch , R., & Hartmann, S. (2006). Experimental investigation of heuristics for resource-constrained project

scheduling: An update. European Journal of Operational Research, 174(1), 23--37.

doi:10.1016/j.ejor.2005.01.065

Kolish , R., & Hartman, S. (1999). Heuristic Algorithms for Solving the Resource Constrained Project Scheduling

Problem Classification and Computational Analysis. 147--178.

Lova, A., & Tormos, P. (2001). Analysis of scheduling schemes and heuristic rules performance in

resource-constrained multiproject scheduling. Annals of Operations Research, 112, 263--286.

Luis, S. B. (2015). ALGORITMO GENÉTICO PARA OPTIMIZAR LA PLANIFICACIÓN DEL CRONOGRAMA DE

UN PROYECTO DE SOFTWARE. Tesis de Maestría, Universidad de las Ciencias Informáticas.

Madnick, T. K.-H. (December de 1989). Lessons learned from modeling the dynamics of software development.

Commun. ACM, 32, 1426--1438.

Martínez Jiménez, Y. (2012). A Generic Multi-Agent Reinforcement Learning Approach for Scheduling Problems.

VRIJE UNIVERSITEIT BRUSSEL.

Medrano Broche, B. E. (2013). Planificación de múltiples proyectos de desarrollo de software utilizando métodos

metaheurísticos. Facultad de Matemática y Computación, Universidad de La Habana.

Morillo, D., Moreno, L., & Díaz, J. (2014). Metodologías analíticas y heurísticas para la solución del Problema de

Programación de Tareas con Recursos Restringidos (RCPSP): una revisión. Ingeniería y Ciencia-ing. cienc.,

10(20), 203-227.

Nienaber , R., & Barnard , A. (2007). A Generic Agent Framework to Support the Various Software Project

Management Processes. Interdisciplinary Journal of Information, Knowledge, and Management, 2, 149 -162.

Plekhanova, V. (1998). On project management scheduling where human resource is a critical variable. En Software

(16)

Plekhanova, V. (1998). On project management scheduling where human resource is a critical variable. En V. Gruhn

(Ed.). Springer Berlin / Heidelberg. Obtenido de http://dx.doi.org/10.1007/3-540-64956-5

Posada, M. C. (2010). Nuevos métodos Meta Heurísticos para la asignación eficiente, optimizada y robusta de

recursos limitados. Tesis Doctoral, Departamento de Sistemas Informáticos y Computación, Universidad

Politécnica de Valencia.

Victorio, J. N. (2008). Un modelo para la simulación híbrida de la producción de software a medida en un entorno

multiproyecto. Universidad de Sevilla.

Villavicencio, N. (2016). Modelo integrado para la mejora de la productividad en organizaciones orientadas a

proyectos de tecnologías de la información. Tesis de Maestría, Fundación Universitaria Iberoamericana.

Yan, Y., Kuphal, T., & Bode, J. (2000). Application of Multiagent Systems in Project Management. Int. J. Production

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

6 Para la pervivencia de la tradición clásica y la mitología en la poesía machadiana, véase: Lasso de la Vega, José, “El mito clásico en la literatura española

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y