P. 1
Diagrama Gantt Extendido Recursos Humanos Ingeniería de Software

Diagrama Gantt Extendido Recursos Humanos Ingeniería de Software

4.75

|Views: 8.107|Likes:
Publicado pordilsiam

More info:

Published by: dilsiam on Oct 20, 2007
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/02/2013

pdf

text

original

XI Jornadas de Ingenier´ del Software y Bases de Datos ıa JISBD 2006 Jos´ Riquelme - Pere Botella (Eds) e c CIMNE, Barcelona

, 2006

DIAGRAMA GANTT EXTENDIDO: UNA ´ ´ REPRESENTACION GRAFICA DE LOS RECURSOS HUMANOS
Fran J. Ruiz-Bertol1 y Javier Dolado2
1: Departamento de Inform´tica e Ingenier´ de Sistemas a ıa Centro Polit´cnico Superior e Universidad de Zaragoza c/ Maria de Luna, 1. 50.018, Zaragoza e-mail: franjr@unizar.es, web: http://webdiis.unizar.es/∼franjr 2: Departamento de Lenguajes y Sistemas Inform´ticos a Facultad de Inform´tica a Universidad del Pa´ Vasco ıs Po Manuel de Lard´ ızabal, 1. 20.009, San Sebasti´n a e-mail: javier.dolado@ehu.es, web: http://www.sc.ehu.es/jiwdocoj

Palabras clave: Gesti´n de Proyectos; Modelos de Representaci´n; Ingenier´ del Softo o ıa ware; Recursos Humanos Resumen. El desarrollo de un proyecto software suele ser largo, complejo y dificil de controlar. Por ello, es necesario dotar al desarrollo software de herramientas que controlen y gestionen de una manera eficaz y efectiva el proceso de desarrollo. En este trabajo se presenta una extensi´n al diagrama Gantt, donde se a˜aden a la representaci´n los o n o recursos humanos. Esta extensi´n proporciona al diagrama Gantt, entre otras mejoras, un o m´todo para la optimizaci´n del proceso, y una adecuada visualizaci´n de las asignaciones. e o o Para ello, se pasa desde un enfoque orientado al proceso a un enfoque orientado a las personas. Este modelo se ha desarrollado utilizando las caracter´ ısticas deseables de la representaci´n, siendo en las fases de planificaci´n y seguimiento donde mejor encaja o o esta propuesta. ´ INTRODUCCION

1.

En los proyectos software se producen con cierta frecuencia problemas que afectan al desarrollo, principalmente derivados de una incorrecta aplicaci´n de las herramientas, o m´todos y mecanismos existentes. Por una parte, desde el punto de vista del proceso, e no se utilizan metodolog´ que se han demostrado eficientes, ni se adecua el proceso ıas al proyecto, sino m´s bien justo al rev´s, es el proyecto el que se adapta al proceso de a e desarrollo elegido. Por otra parte, desde el punto de vista de la gesti´n, la problem´tica o a proviene de una deficiente aplicaci´n de las herramientas y m´todos de los que se dispone. o e 1

Fran J. Ruiz-Bertol y Javier Dolado

El conjunto de herramientas de gesti´n viene dado por la aplicaci´n de buenas pr´cticas, o o a la utilizaci´n de recomendaciones de los est´ndares, o tener en cuenta el conocimiento o a extra´ en proyectos anteriores. Pero, sin duda, el aspecto m´s importante en la gesti´n ıdo a o de los proyectos software es precisamente que se gestione de una manera efectiva, esto es, que sea un proyecto organizado, planificado, controlado y dirigido. Para ello, una artefacto muy util para capturar los datos del proyecto es precisamente el proceso de planificaci´n, ´ o ya que proporciona al gestor del proyecto una representaci´n gr´fica del plan del proyecto y o a a los desarrolladores una manera de reconocer la importancia de las actividades que est´n a ejecutando. Hay varias formas de generar el plan del proyecto, aunque las herramientas m´s utilizadas son los diagramas de red (por ejemplo, PERT/CPM), los escenarios what-if a o la distribuci´n equitativa de recursos para evitar situaciones de sobreasignaci´n [1]. o o Por lo general, un gestor de proyectos utiliza la actividad como el nivel inferior de definici´n a la hora de dividir el proceso de desarrollo, ya que las actividades proporcionan o la unidad at´mica de trabajo que puede dividirse y asignarse. Esta divisi´n determina la o o importancia del proceso de desarrollo (c´mo se organizan las actividades en el proyecto), o pero tambi´n de c´mo se gestiona ´ste. Sin embargo, este enfoque se centra m´s en c´mo e o e a o realizar la ejecuci´n de las tareas programadas, que en qui´n realiza dichas tareas, por lo o e que los recursos humanos se consideran como si fueran simples recursos, un componente del proyecto a consumir [2]. Para tener en consideraci´n a las personas es necesario tener un control efectivo sobre o la realizaci´n de las actividades asignadas, pero tambi´n ser´ adecuado la utilizaci´n o e ıa o de una representaci´n apropiada de la informaci´n del proyecto, las actividades y las o o personas. En este art´ ıculo se propone una extensi´n al diagrama Gantt, adapt´ndolo a o a un enfoque centrado en las personas, ya que si bien las actividades y sus dependencias son importantes, tambi´n lo es representar a las personas que trabajan en el desarrollo e del proyecto. La secci´n 2 expone las caracter´ o ısticas que definen a los buenos modelos de representaci´n. En la secci´n 3 se propone la extensi´n a los diagramas Gantt, donde tambi´n o o o e se analizan las nuevas interacciones surgidas del modelo propuesto. La secci´n 4 analiza o qu´ mejoras proporciona la nueva representaci´n y en la secci´n 5 se presenta un ejemplo e o o supuesto de utilizaci´n de un proceso de desarrollo usando la nueva representaci´n. o o 2. CARACTER´ ISTICAS DE LAS REPRESENTACIONES

Una representaci´n de proyecto es util si los implicados en el proyecto la entienden y o ´ utilizan. Pero tambi´n es necesario que la representaci´n sea sencilla, clara, que los come o ponentes representados se visualicen de manera simple y legible, y que la informaci´n o est´ bien organizada. Pero a´n m´s importante es que la representaci´n suponga una e u a o buena abstracci´n del mundo real. o El diagrama Gantt y los diagramas de red (PERT/CPM) han sido durante d´cadas las e herramientas m´s apropiadas para representar la informaci´n del proyecto. El abanico de a o representaciones es amplio, y van desde representaciones especializadas, como por ejemplo, 2

Fran J. Ruiz-Bertol y Javier Dolado

Asbru en entornos m´dicos [3], LineOfBalance (LoB) en entornos repetitivos [4], o UML e para el dise˜o software [5], hasta representaciones gen´ricas, como los diagramas Gantt y n e PERT/CPM en la planificaci´n [6], o las redes de Petri y las ontolog´ en la representaci´n o ıas o de conocimiento. Pero muchos de estos modelos adolecen de ser bien demasiado gen´ricos, e o bien demasiado especializados. As´ las caracter´ ı, ısticas deseables de una representaci´n o visual son las siguientes: Contexto y contenido claro. El uso para el cual fue desarrollada debe tener una equivalencia dentro del contexto, y el contenido debe mostrar unicamente la infor´ maci´n necesaria, pero tambi´n la suficiente como para ser de utilidad. o e Simplicidad. La informaci´n debe ser simple de entender, y que esta informaci´n o o pueda ser manejada y controlada, tanto por el cliente como por el desarrollador. Organizaci´n. La representaci´n debe presentar la informaci´n de una manera orgao o o nizada, esto es, debe existir una estructura clara de la informaci´n y esta informaci´n o o seguir siempre la misma jerarqu´ en todos los niveles del refinamiento. ıa 3. DIAGRAMA GANTT EXTENDIDO

El desarrollo de ciertas tareas especializadas en los proyectos software requiere, por lo general, personas expertas en dichas tareas (o con un conjunto determinado de habilidades). Sin embargo, cuando se realiza la planificaci´n y la asignaci´n, la informaci´n o o o sobre quien va a ejecutar cada tarea no aparece representada. Para facilitar la labor del gestor del proyecto, ser´ util que la informaci´n sobre asignaciones apareciera de manera ıa ´ o integrada con la representaci´n de la planificaci´n de las actividades. Para ello, se utio o lizan generalmente los diagramas Gantt, generalmente combinados con diagramas de red, ya que ambas representaciones proporcionan las caracter´ ısticas deseables descritas en el apartado 2. La representaci´n de la asignaciones es recomendable, debido a: o La necesidad de comunicaci´n entre los implicados en el proyecto. o La aparici´n de nuevos procesos del desarrollo, donde es m´s importante las personas o a que el proceso o los productos. Las dependencias entre actividades unicamente determinan la ordenaci´n temporal ´ o y l´gica de las actividades. o Para incluir los recursos humanos dentro del diagrama Gantt es necesario definir el conjunto de componentes que va a utilizar dicha representaci´n, as´ como las nuevas ino ı teracciones surgidas de la extensi´n del diagrama Gantt. En la Tabla 1 se muestran los o elementos representados en la propuesta extendida del diagrama Gantt. En esta representaci´n desaparecen las dependencias entre actividades, ya que ´stas son sustituidas por o e las comunicaciones. 3

Fran J. Ruiz-Bertol y Javier Dolado

Representaci´n o

Descripci´n o Grupo de Actividades Actividad Hito Recursos Humanos Comunicaciones (entre recursos humanos)

Tabla 1: Representaci´n de s´ o ımbolos del diagrama Gantt extendido

Sin embargo, la configuraci´n del diagrama Gantt extendido tambi´n debe determinar o e las posibles interacciones entre actividades y recursos humanos. A estas interacciones se le han denominado comunicaciones, ya que establecen enlaces entre las personas que participan en el proyecto. A continuaci´n se describe con mayor detalle d´nde y c´mo o o o encajan tanto los recursos humanos como sus comunicaciones dentro del diagrama Gantt. 3.1. Situaci´n de los Recursos Humanos o

Seg´n su definici´n, una actividad es el m´ u o ınimo componente del trabajo que puede asignarse a una persona [1]. Por lo tanto, la relaci´n entre recursos humanos y actividades es o directa, es decir, una persona ejecuta un conjunto de actividades, y una actividad es ejecutada por una o varias personas. A nivel de representaci´n, dichas actividades deben ser o adecuadamente representadas y situadas dentro del diagrama, ya que su representaci´n o determina la planificaci´n y distribuci´n del trabajo a realizar, pero tamb´ establece o o ıen la aplicaci´n del proceso de desarrollo seleccionado al proyecto software particular. Por o ello, en esta propuesta se representa a los recursos humanos como el siguiente nivel de refinamiento de la estructuraci´n del proyecto. Esta representaci´n permite mostrar en un o o unico diagrama una visualizaci´n conjunta de la estructura de descomposici´n del proyec´ o o to, la asignaci´n de actividades a las personas, y las tareas asignadas a cada persona. o 3.2. Comunicaciones entre Recursos Humanos

La representaci´n de los recursos humanos permite refinar las dependencias, pudiendo o detallar a la vez las dependencias y las comunicaciones. As´ en nuestra propuesta deı, saparecen las dependencias entre actividades, y su funcionalidad es sustituida por las comunicaciones. Las comunicaciones entre recursos humanos representan tanto la secuenciaci´n de actividades, como las necesidades de colaboraci´n, entrega de productos de o o

4

Fran J. Ruiz-Bertol y Javier Dolado

trabajo intermedios, o cualquier otra comunicaci´n que sea necesaria para el desarrollo o adecuado de las tareas asignadas. Se pueden distinguir dos tipos de comunicaciones: Comunicaci´n entre actividades. Son las relaciones de dependencia que se establecen o entre dos actividades diferentes. En este tipo de comunicaciones, la relaci´n consiste o en un acuerdo para el intercambio de informaci´n entre una persona que finaliza o a una tarea (dentro de una actividad) y otra persona que necesita el resultado del trabajo realizado en la actividad dependiente, por lo que tambi´n se determina la e secuenciaci´n de tareas a realizar. o Comunicaci´n dentro de una actividad. Este tipo de comunicaci´n consiste en el o o intercambio necesario de informaci´n entre dos o m´s personas que est´n ejecutando o a a la misma actividad, siendo el objetivo la finalizaci´n exitosa de dicha actividad. o En la Tabla 2 se pueden observar las posibles comunicaciones que pueden darse en la representaci´n de recursos humanos. En esta tabla unicamente se han descrito las posibles o ´ interacciones entre dos personas, aunque puede extenderse a comunicaciones entre varias personas. Tambi´n define un tipo especial de relaci´n en las comunicaciones dentro de e o una actividad, denominada comunicaci´n colaborativa, que permite definir una colaboo raci´n estrecha entre dos personas trabajando en com´n para la ejecuci´n de un conjunto o u o de tareas. Este hecho permite mostrar en la representaci´n propuesta, t´cnicas como la o e programaci´n por parejas, una t´cnica utilizada en programaci´n ´gil [7]. o e o a Representaci´n o Descripci´n o Comunicaci´n entre actividades o

No hay comunicaci´n o

Comunicaci´n dentro de actividad o

Comunicaci´n Colaborativa o

Tabla 2: Representaci´n de las comunicaciones en el diagrama Gantt extendido o

5

Fran J. Ruiz-Bertol y Javier Dolado

4.

CARACTER´ ISTICAS DEL DIAGRAMA GANTT EXTENDIDO

La representaci´n extendida del diagrama Gantt proporciona unas caracter´ o ısticas adiciones frente al diagrama Gantt tradicional, que se presentan a continuaci´n. o 4.1. Representaci´n de un mayor n´ mero de componentes o u

El modelo propuesto representa mayor cantidad de informaci´n sobre el proyecto que o cualquier otra representaci´n sin perder las caracter´ o ısticas deseables de simplicidad, claridad y organizaci´n. Por ejemplo, los modelos mixtos como DesignNet [8] pueden repreo sentar mayor n´mero de componentes (como entregables o productos), pero este modelo u basado en las redes de Petri y en gr´ficos AND/OR, no proporciona una visi´n integrada a o de la informaci´n, y consecuentemente se convierte en un modelo dif´ o ıcilmente extensible a proyectos grandes. En UML [5], las representaciones se centran m´s en el dise˜o software a n que en el proceso del desarrollo, aunque este modelo proporciona una de las mejores soluciones adaptadas al proceso del dise˜o, ya que proporcionan al desarrollador una manera n met´dica de mejorar los dise˜os software. o n 4.2. Visualizaci´n de las asignaciones o

La extensi´n del diagrama Gantt con los recursos humanos permite al gestor del proyecto o manejar informaci´n sobre la asignaci´n, programaci´n, planificaci´n y seguimiento, pero o o o o tambi´n permite a los desarrolladores observar las posibles interacciones presentes en las e tareas asignadas. De hecho, las asignaciones est´n presente en muy pocas representaciones. a Un ejemplo es el modelo RAM (Responsibility Assignment Matrix ) [9], que dispone de manera matricial las actividades en las filas y la organizaci´n de personas en las columnas. o La visualizaci´n de las asignaciones proporciona una mejora para el control de la plano ificaci´n, pero tambi´n permite realizar un seguimiento del proyecto software, e incluso o e para la extracci´n de conocimiento, una vez finalizado el proyecto. o 4.3. Optimizaci´n del Proceso o

La representaci´n de activididades, recursos humanos y comunicaciones en un mismo diao grama permite la detecci´n de posibles sobreestimaciones y/o solapamientos. Este hecho o da lugar a que tanto el proceso de desarrollo, la planificaci´n, o las asignaciones puedan o optimizarse para evitar estos problemas. Por una parte, la optimizaci´n puede tener lugar en la secuenciaci´n de tareas, ya que o o al haberse definido las interacciones a nivel de recursos humanos, se puede visualizar m´s a claramente las dependencias a nivel de tareas, y no a nivel de actividad. As´ por ejemplo, ı, un producto finalizado en una actividad se puede enviar directamente a una actividad dependiente, sin esperar a que la actividad en curso est´ finalizada. e Por otra parte, es aconsejable tratar de optimizar las asignaciones y comunicaciones en la medida de lo posible, sobre todo para evitar situaciones de sobreestimaci´n y solao pamientos entre los recursos humanos. 6

Fran J. Ruiz-Bertol y Javier Dolado

Figura 1: Diagrama Gantt tradicional para un proceso de desarrollo ´gil a

5.

UN EJEMPLO DEL DIAGRAMA GANTT EXTENDIDO

Para ilustrar la representaci´n de recursos humanos en el diagrama de Gantt, en esta seco ci´n se presenta un ejemplo de utilizaci´n para un proceso de desarrollo ´gil. El proceso se o o a basa en una iteraci´n de una metodolog´ ´gil para el desarrollo de un juego de preguntas o ıa a y de respuestas. En este proceso se distinguen seis fases o grupos de actividades: Planificaci´n de la iteraci´n, Dise˜o de las unidades de prueba, Programaci´n, Refactorizaci´n, o o n o o Prueba/Verificaci´n e Integraci´n. o o Una vez analizadas y verificadas las actividades a ejecutar en cada una de las fases, se realiza la planificaci´n y secuenciaci´n de las actividades en una escala temporal, que da o o como el resultado el diagrama que se observa en la Figura 1. En este diagrama Gantt se representa la planificaci´n de las actividades y sus dependencias, que determinan el orden o l´gico entre la proceso de desarrollo y sus dependencias. o Para extender el diagrama Gantt tradicional con la representaci´n de los recursos o humanos es necesario transformar las dependencias entre actividades de la Figura 1 en dependencias entre recursos humanos, o lo que es lo mismo, en comunicaciones. Esto da lugar al diagrama que puede observarse en la Figura 2.

7

Fran J. Ruiz-Bertol y Javier Dolado

Figura 2: Diagrama Gantt extendido para la fase de Programaci´n de un proceso de desarrollo ´gil o a

Para mostrar m´s detalladamente la nueva representaci´n se ha seleccionado en cona o junto de actividades de Programaci´n, ya que permiten mostrar los distintos tipos de o comunicaciones presentados en este art´ ıculo, tal y como se expone a continuaci´n: o Comunicaci´n entre actividades (dependencias entre actividades). Entre las activio dades Code final interfaces y Get final round questions se puede observar una dependencia de este tipo, que puede darse bien por secuenciaci´n l´gica de las actividades, o o pero que tambi´n puede incluir el intercambio de productos de trabajo, informes o e cualquier otro tipo de entregables. Comunicaci´n dentro de la actividad. Este tipo de comunicaciones se producen o cuando dos o m´s personas trabajan dentro de una misma actividad. En la Figura 2 a se pueden observar estas dependencias en la actividad Get random questions, donde tanto el analista como el programador visual deben trabajar conjuntamente para la finalizaci´n de la actividad. Cuando dicha comunicaci´n implica colaboraci´n o o o (por ejemplo, en el caso de la programaci´n por parejas de la actividad Code final o interfaces) se le denomina Comunicaci´n colaborativa. o La Figura 2 muestra gr´ficamente la integraci´n de recursos humanos dentro del cona o junto de actividades de la fase de Programaci´n, represent´ndose los recursos humanos, o a y habi´ndose transformado las dependencias por comunicaciones. En esta figura tambi´n e e puede observarse c´mo se muestran los dos tipos de comunicaciones definidos anterioro mente: entre actividades, y dentro de actividades. Al comparar el diagrama Gantt tradicional (Figura 1) y el diagrama Gantt extendido (Figura 2) se pueden observar las siguientes afirmaciones: 8

Fran J. Ruiz-Bertol y Javier Dolado

La planificaci´n de las dos ultimas tareas hacen uso de recursos compartidos. Por o ´ ejemplo, el administrador de bases de datos est´ asignado para la realizaci´n de dos a o actividades a la vez. Esto no pod´ ser detectado en el diagrama de la figura 1. ıa Usando esta representaci´n, la responsabilidad de la comunicaci´n queda determio o nada por el sentido de las flechas. El desarrollo de una actividad puede dividirse en varias fases, como en el caso de la actividad Game finishing donde es el analista el responsable de comenzar el desarrollo de la tarea, y posteriormente el programador visual se incorpora, para obtener como resultado una comunicaci´n colaborativa. o As´ mismo, la responsabilidad de la comunicaci´n entre actividades queda igualı o mente determinada por el origen de la flecha. 6. CONCLUSIONES Y TRABAJO FUTURO

En este art´ ıculo se han demostrado las carencias que ofrecen los principales modelos de representaci´n para la planificaci´n, sobre todo debido a que estos modelos se centran o o m´s en el propio proceso de desarrollo del software (en c´mo se ejecutan las actividades) a o que en qui´n desarrolla las tareas asociadas al proyecto (los recursos humanos). e La soluci´n propuesta en este trabajo es la extensi´n del diagrama Gantt para incluir a o o un nuevo componente: los recursos humanos. La necesidad de representar este componente viene dada por la importancia de las personas dentro del proceso de desarrollo software, pero tambi´n por la necesidad de representar las asignaciones y comunicaciones dentro de e un modelo de representaci´n. o Sin embargo, no es necesario desarrollar un nuevo modelo de la representaci´n desde o cero, sino que, bas´ndose en las caracter´ a ısticas del diagrama Gantt, se han a˜adido a n este modelo de representaci´n los recursos humanos, dando lugar a una extensi´n de o o la representaci´n que proporciona simplicidad, claridad, y organizaci´n, caracter´ o o ısticas necesarias para una adecuada visualizaci´n de la informaci´n. o o Esta propuesta supone un nuevo enfoque para la planificaci´n y seguimiento de los o proyectos software, y abre nuevas v´ para definir las asignaciones sin que ´stas sean ıas e impuestas por las dependencias entre actividades, sino que dichas asignaciones representen a su vez tanto las dependencias, como las comunicaciones. Este trabajo debe complementarse con el desarrollo de esta propuesta, donde pueda validarse de una manera adecuada el trabajo, y donde se puedan comparar el diagrama Gantt extendido con otros modelos de representaci´n. o 7. AGRADECIMIENTOS

La investigaci´n asociada a este art´ o ıculo ha sido posible gracias a la financiaci´n por parte o del Ministerio de Educaci´n y Ciencia del proyecto CICYT TIN2004-06689-C03-01. o 9

Fran J. Ruiz-Bertol y Javier Dolado

REFERENCIAS [1] A Guide To The Project Management Body Of Knowledge (PMBOK Guide). Project Management Institute, 2004. [2] Jaak Jurison. Software project management: the manager’s view. Communications of the Association for Information Systems, 2(3es):2, 1999. [3] Yuval Shahar, Silvia Miksch, and Peter Johnson. The asgaard project: a task-specific framework for the application and critiquing of time-oriented clinical guidelines. Artificial Intelligence in Medicine, 14(1-2):29–51, 1998. [4] D. Arditi, O. Tokdemir, and K. Suh. Effect of learning on line-of-balance scheduling. International Journal of Project Management, 19(5):265–277, 1999. [5] ISO/IEC 19501:2005. Information technology – Open Distributed Processing – Unified Modeling Language (UML) Version 1.4.2. International Organization for Standarization, Piscataway, NJ, USA, 2005. [6] Harold Kerzner, editor. Project Management. A Systems approach to planning, scheduling and controlling. John Willey & Sons, 2003. [7] Robert C. Martin, editor. Agile Software Development. Principles, Patterns and Practices. Prentice Hall, 2002. [8] Lung-Chun Liu and Ellis Horowitz. A formal model for software project management. IEEE Transactions on Software Engineering, 15(10):1280–1293, 1989. [9] Roberta Russell and Bernard W. Taylor, editors. Operations Management : Quality and Competitiveness in a Global Environment. John Wiley & Sons, 2005.

10

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->