Sie sind auf Seite 1von 32

Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

PROPUESTA PARA TRABAJO DE GRADO

TÍTULO ConstruColectiva

Guía metodológica para la gestión de proyectos de software basados en metodologías ágiles


utilizando ambientes de desarrollo colaborativo. Caso de estudio: GForge.

MODALIDAD Proyecto de investigación.

OBJETIVO GENERAL Definir una guía metodológica que explique el manejo de una
herramienta de software basada en ambientes de desarrollo colaborativo para la gestión de
proyectos de software que utiliza metodologías ágiles, logrando su validación por medio de
personas expertas de una casa de software reconocida en Colombia, en un plazo máximo de
192 horas por integrante del semestre 2009-III.

ESTUDIANTE(S)

John Eddie Díaz Agudelo_________________________________________


Documento Celular Teléfono fijo Correo Javeriano
cc. 80076545 315-3446113 3563531 john.diaz@javeriana.edu.co

Juan Felipe Olaya Figueroa_______________________________________


Documento Celular Teléfono fijo Correo Javeriano
cc. 80765736 300-2196212 7585374 jolaya@javeriana.edu.co

DIRECTOR

Maria Consuelo Franky __________________________________


Teléfono fijo Correo Javeriano; Correo 2 Empresa donde trabaja y cargo
3208320 ext lfranky@javeriana.edu.co; Pontificia Universidad Javeriana;
5338 Profesor de Tiempo Completo

ASESORES

Ing. Miguel Eduardo Torres Moreno


Teléfono fijo Correo Javeriano; Correo2 Empresa donde trabaja y cargo
3208320 ext metorres@javeriana.edu.co; Pontificia Universidad Javeriana;
5338 Profesor de Tiempo Completo

VoBo. Coordinador de Trabajos de Grado: ________________________

Código:

TABLA DE CONTENIDO
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

1. OPORTUNIDAD O PROBLEMÁTICA..................................................................................... 6

1.1. DESCRIPCIÓN DEL CONTEXTO.............................................................................................7


1.2. FORMULACIÓN..................................................................................................................7
1.3. JUSTIFICACIÓN..................................................................................................................8

2. DESCRIPCIÓN DEL TRABAJO DE GRADO....................................................................8

2.1. OBJETIVO GENERAL..........................................................................................................8


2.2. OBJETIVOS ESPECÍFICOS...................................................................................................8

3. MARCO TEÓRICO / ESTADO DEL ARTE........................................................................9

3.1. FUNDAMENTOS..................................................................................................................9
3.1.1. EQUIPOS VIRTUALES 9
3.1.2. AMBIENTE DE DESARROLLO COLABORATIVO (CDE) 10
3.1.3. MANIFIESTO POR EL DESARROLLO ÁGIL 10
3.2. COMPARACIÓN DE LOS AMBIENTES DE DESARROLLO COLABORATIVO (CDE)..................11
3.3. MARCO INSTITUCIONAL....................................................................................................3
3.4. GLOSARIO.........................................................................................................................3

4. PROCESO.............................................................................................................................7

4.1. METODOLOGÍA..................................................................................................................7
4.2. ACTIVIDADES....................................................................................................................3
4.3. ENTREGABLES O RESULTADOS ESPERADOS........................................................................6
4.4. PRESUPUESTO....................................................................................................................6
4.5. CRONOGRAMA...................................................................................................................7

5. RFERENCIAS Y BIBLIOGRAFÍA......................................................................................9

5.1. REFERENCIAS....................................................................................................................9
5.2. BIBLIOGRAFÍA PROPUESTA PARA EL DESARROLLO DE TRABAJO DE GRADO.....................13

6. ANEXOS.................................................................................................................................. 13

LISTA DE ILUSTARCIONES
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Ilustración 1: Metodología a emplear.................................................................................................7

Ilustración 2: Diagrama de Gantt del cronograma del proyecto.........................................................7

LISTA DE TABLAS
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Tabla 1: Comparación CDE - Información general............................................................................4

Tabla 2: Comparación CDE - Herramientas para el público o desarrolladores...................................6

Tabla 3: Comparación CDE - Herramientas para los administradores del proyecto...........................8

Tabla 4: Comparación CDE - Herramientas personales para los desarrolladores...............................9

Tabla 5: Definiciones y acrónimos.....................................................................................................6

Tabla 6: Entregables...........................................................................................................................6

Tabla 7: Recursos físicos y servicios..................................................................................................6

Tabla 8: Recursos humanos................................................................................................................6

Tabla 9: Presupuesto..........................................................................................................................6

Tabla 10: Actividades a realizar.........................................................................................................8

1. OPORTUNIDAD O PROBLEMÁTICA

1.1. Descripción del contexto


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

En la actualidad existen ambientes de desarrollo colaborativos vía web para


la gestión de proyectos de software. Estos ambientes son principalmente
portales en línea que permiten la gestión de un proyecto de software por
medio del control de tareas, la puesta a disposición de los diferentes
documentos del proyecto a sus stakeholders, y los mecanismos de
comunicación entre ellos.

En Colombia, casas de software utilizan diferentes herramientas para la


gestión de proyectos de software como Microsoft Project, CVS, Subversion y
GForge, entre otras, las cuales se utilizan de manera independiente o parcial
para los proyectos que se estén llevando a cabo.

En la gestión de proyectos de software, el uso de diversas herramientas tiene


como principal desventaja la falta de comunicación que se requiere entre sus
diferentes funcionalidades, para llevar a cabo un workflow integro durante
las diferentes etapas del proyecto. Otra desventaja que tiene el uso de
herramientas diversas es la ubicación de la información, ya que esta se
encuentra también dispersa, ocasionando mayores costos en su búsqueda y
organización para las necesidades que se tienen durante el desarrollo de un
proyecto.

1.2. Formulación

Las metodologías ágiles de desarrollo de software resaltan el trabajo en


equipo con una buena comunicación entre los integrantes, una rápida
retroalimentación y se busca responder de manera oportuna al cambio.

En la gestión de proyectos de software basados en metodologías ágiles, es


necesario manejar las actividades, comunicarse con los stakeholders,
compartir documentos e información relevante para el proyecto, ejerciendo
el control sobre el progreso del proyecto para el apoyo a la toma de
decisiones.

Para estos casos, se utilizan ambientes de desarrollo colaborativos, los cuales


facilitan el progreso de un proyecto de software por medio de la integración
de diferentes herramientas como CVS, foros, estadísticas de trabajo,
seguimiento a las actividades planeadas, organización de los documentos y
demás información relevante al proyecto, además de ofrecer servicios de
autenticación a los roles definidos con sus correspondientes permisos para
brindar mayor seguridad, todo esto desde una plataforma web.

Sin embargo, se tiene que con estos ambientes de desarrollo colaborativos,


las empresas hoy en día, desconocen todas sus funcionalidades y no
disponen del conocimiento que les permita aprovecharlos en la gestión de
sus proyectos de software que utilicen metodologías ágiles. Además, es
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

necesario que cada uno de los stakeholders conozca por medio de una guía
metodológica como funcionan estos ambientes de desarrollo colaborativos.

De lo anterior surge la siguiente inquietud, la cual pretendemos solucionar


con el desarrollo del presente proyecto de grado:

¿Cómo elaborar una guía metodológica que permita el uso ordenado de las
funcionalidades que ofrecen los ambientes de desarrollo colaborativo dentro
de la gestión de proyectos de software basados en metodologías ágiles?

1.3. Justificación

La realización de este trabajo de grado nos permite estructurar el desarrollo


de un proyecto de software basado en metodologías ágiles de tal forma que
su gestión sea mucho más interactiva por parte de todos sus stakeholders,
facilitando el alcance de los objetivos del proyecto. Además, la
comunicación y la colaboración entre los stakeholders se facilitan, brindando
mayor agilidad a la hora de realizar las entregas y también se minimizan los
costos que se generan en la forma de realizar los proyectos sin este tipo de
herramientas, y aún más, cuando los stakeholders no se encuentran en la
misma ubicación física.

2. DESCRIPCIÓN DEL TRABAJO DE GRADO

2.1. Objetivo general

Definir una guía metodológica que explique el manejo de una herramienta de


software basada en ambientes colaborativos para la gestión de proyectos de
software que utiliza metodologías ágiles, logrando su validación por medio
de personas expertas de una casa de software reconocida en Colombia, en un
plazo máximo de 192 horas por integrante del semestre 2009-III.

2.2. Objetivos específicos

o Realizar el levantamiento de información en cuanto a la manera de


realizar guías metodológicas, uso de metodologías ágiles,
herramientas de software basadas en ambientes de desarrollo
colaborativo, trackers y workflows en GForge.

o Elaborar una comparación entre las diferentes herramientas de


software basadas en ambientes de desarrollo colaborativo.

o Instalar GForge con los plugins de Microsoft Project y el IDE


Eclipse.
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

o Definir un proyecto de software basado en metodologías ágiles


utilizado como demostración dentro de la guía metodológica a
realizar.

o Definir los workflows y trackers para un proyecto de software que


utilice metodologías ágiles en cada una de sus etapas.

o Acoplar cada uno de los trackers y workflows basados en


metodologías ágiles al proyecto de demostración dentro de GForge.

o Documentar en una guía metodológica cómo usar GForge con las


características que se necesitan para aplicar las metodologías ágiles.

3. MARCO TEÓRICO / ESTADO DEL ARTE

3.1. Fundamentos

Los fundamentos más importantes que se necesitan tener en cuenta durante el desarrollo
de la presente propuesta se pueden resumir con los siguientes conceptos que sustentan
una base teórica para el desarrollo de software basado en metodologías ágiles utilizando
ambientes de desarrollo colaborativo (CDE).

3.1.1. Equipos virtuales

Se utiliza el término equipo para referirse a una colección de más de cuatro personas
que trabajan en colaboración en una tarea común o meta. El objetivo es a menudo
conseguir una solución para algún problema. Los elementos de las tareas y objetivos
comunes junto con dependencia mutua son parte integrante de la definición de un
equipo, al menos en respecto a una necesidad impuesta para llegar a una posición
colectiva sobre un asunto.

Además cuando los integrantes del equipo están geográficamente dispersos se


distinguen por el factor de la virtualidad debido a que los colaboradores trabajan en un
proyecto común a través de la comunicación y las tecnologías de información es
llamado un equipo virtual.

Los equipos virtuales se caracterizan por llevar a cabo la totalidad o la mayor parte de
sus interacciones a través de medios electrónicos y los miembros del equipo pueden
estar ampliamente dispersos geográficamente en diferentes países o en diferentes
continentes. Ellos pueden ser miembros de diferentes organizaciones, se reunieron
debido a su experiencia o intereses, para encontrar una solución común a un problema
[18].

3.1.2. Ambiente de desarrollo colaborativo (CDE)


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Un entorno de desarrollo colaborativo es un espacio virtual donde todas las


las partes interesadas de un proyecto, incluso si se están en diferente tiempo o lugar,
puede negociar, hacer una lluvia de ideas, debatir, compartir conocimientos y en general
trabajar en conjunto para llevar a cabo algunas tarea, la mayoría de las veces para crear
un ejecutable de aplicación y sus artefactos.

La colaboración es esencial para cada rama de la ingeniería pero concretamente, se va


hablar de ingenieros de software en sus tareas de diseñar la aplicación, implementación
y mantenimiento de software de alta calidad haciendo uso de la Internet como base para
sus interacciones sin importar que estén físicamente separados [19].

3.1.3. Manifiesto por el desarrollo ágil

El desarrollo ágil de software se caracteriza por [20]:

• Se reconoce a las personas como primeros implicados en el éxito de un proyecto.


• Aceptar requisitos cambiantes, incluso en etapas avanzadas.
• Entregas parciales del producto.
• Los responsables de negocio y los desarrolladores deben trabajar juntos diariamente
a lo largo del proyecto.
• Construir proyectos con profesionales motivados.
• Se satisface al cliente a través de la entrega temprana y continua de software con
valor.
• Conversación cara a cara.
• Software que funciona es la principal medida de progreso.
• Los procesos ágiles promueven el desarrollo sostenible.
• La atención continua a la excelencia técnica y los buenos diseños mejoran la
agilidad.
• La simplicidad es esencial.
• Las mejores arquitecturas, requisitos y diseños surgen de equipos que se
autoorganizan.
• A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo.
• Es mejor crear un ambiente de colaboración y confianza entre el cliente y los
desarrolladores que estar refinando el contrato.

3.1.4. Extreme programming

Extreme programming es la más conocida de las metodologías ágiles y se descompone


en varias perspectivas: valores, principios y actividades, como se mencionan a
continuación [21]:
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Valores:
• Simplicidad
• Comunicación
• Retroalimentación
• Coraje

Principios:
• Rápida retroalimentación
• Asumir la simplicidad
• Cambio incremental
• Trabajo en equipo
• Trabajo de calidad

Actividades:
• Generación de código
• Pruebas
• Escuchar atentamente
• Diseño

3.2. Comparación de los ambientes de desarrollo colaborativo (CDE)

A continuación vamos a presentar una breve comparación entre los ambientes de


desarrollo colaborativo (CDE): Asynchrony [60], Freepository [57], GBorg [58],
GForge [6], Savannah [22], SEUL [61] y SourceForge [62], los cuales fueron escogidos
debido a que algunos de estos son los más populares en el mercado, y además; cuentan
con características adicionales que actualmente son importantes para la gestión de
proyectos de software, como lo son: las listas de correos, los foros, los repositorios del
código fuente y los gestores de trackers, los cuales permiten dar seguimiento y apoyan
la evolución del proyecto.

Para esta comparación se tomo como fuente principal el trabajo doctoral:


“Construction of an Evaluation Model for Free/Open Source Project Hosting Sites”
[16] [53] y el website del Wiki: “Comparison of open source software hosting facilities”
[17], debido que estos comparan y prueban diferentes ambientes de desarrollo
colaborativo (CDE), entre los cuales, los que se han escogido para esta comparación
son los que se han mencionado anteriormente.
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

INFORMACIÓN GENERAL
Asynchrony Freepository GBorg GForge Savannah SEUL SourceForge
Una
Repositorio herramienta
Almacena un
seguro con Un sitio abierta Es el
conjunto
Subversion, con específico colaborativa de ambiente de La herramienta
Alojamiento web completo de
un plan básico para los desarrollo de desarrollo de desarrollo
de código abierto aplicaciones
gratis (sólo con proyectos software, que colaborativo colaborativa de
Descripción y cerrado, además de alta
acceso web) y relacionados permite más popular software más
breve de la venta de calidad
las versiones con gestionar para el conocida y con
proyectos en disponible
que cuentan con PostgreSQL. cualquier desarrollo de amplias
curso. para la
más Impusado por número de software herramientas.
plataforma
características GForge. proyectos de GNU.
Linux.
son de pago. desarrollo de
software.
Dirigido por un
Dirigido por equipo Grupo de
Free
Asynchrony.com Dirigido por el equipo de encabezado por voluntarios VA Software
Dirección Software
Inc. John Minnihan de desarrollo el exlíder de "Simple End- Corporation
Foundation
de GBorg. SourceForge: User Linux"
Tim Perdue
Número de
1,848 540 [57] 330 [58] 65 [54] 3,074 [22] Más de 50 230,000 [56]
proyectos
Con acceso
Número de
33,309 783 [57] 9,475 [58] 1,046 [54] 62,453 [22] Shell 300 y 2’000,000 [56]
miembros
con CVS 225.
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Gratis y la
SVN Básico
versión que se
Gratis.
puede
SVN + Gratis para
descargar
US$39 /año. proyectos con
Costos Indeterminado Gratis Gratis Gratis (Collabnet -
menos de 15
SVN Extremo TeamForge)
miembros.
US$189 /año. cuesta
US$4,995 la
[57]
licencia [59]
Tipo de
Propietaria GPL GPL GPL GPL GPL GPL
licencia
Tabla 1: Comparación CDE - Información general

Herramientas para el público o desarrolladores

Asynchrony Freepository GBorg GForge Savannah SEUL SourceForge


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Formato
Si No No Si Si Si Si
HTML libre

Basados en
Asignación de
los permisos
roles del Si Si Si Si Manual Si
que ofrece
proyecto
CVS

Noticias del
Si No Si Si Si Manual Si
proyecto

Servicio de
HTTP HTTPS FTP File Release FTP HTTP, FTP File Release
descarga

Administración
FAQ, páginas
de la Manual No DocManager FAQ Manual DocManager
generadas
documentación

Número de Actividad en Actividad en el


Estadísticas
descargas de las el proyecto, proyecto,
disponibles en
versiones beta y No tráfico en la No tráfico en la
Estadísticas No Internet:
número de determinado red, determinado red,
HTTP://STATS.S
versiones estadísticas estadísticas
EUL.ORG/
creadas. comparativas. comparativas.

Repositorio del Servidor CVS Servidor Servidor CVS Servidor CVS Servidor CVS Servidor CVS, Servidor CVS y
código fuente CVS, y ViewCVS y CVSweb y ViewCVS ViewCVS y ViewCVS
CVSweb, y CVSweb
plugin de
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Eclipse

Lista de Majordomo y
Si No Mailman Mailman Mailman Mailman
mensajes MHonArc

Bugs, soporte,
Petición o tarea
Tareas, Definido por parches,
en los cambios Bug, soporte, Jitterbug y
Tracker No características GForge y por características,
dentro del parches, tarea Manual
y bugs. el usuario tareas y sus
proyecto
dependencias

Foro Si No No Si Si Manual Si

Wiki No determinado No No Manual No Manual Manual

Rating definido
a partir de los No
Encuestas No No Si Manual Manual
atributos del determinado
proyecto

Gestor de
Otras Administrador tareas y
herramientas de parches gráfico de
Gantt
Tabla 2: Comparación CDE - Herramientas para el público o desarrolladores

HERRAMIENTAS DEL PROYECTO – HERRAMIENTAS PARA LOS ADMINISTRADORES DEL PROYECTO


Asynchrony Freepository GBorg GForge Savannah SEUL SourceForge
Administrador Si No Si Si Si Manual Si
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

de
herramientas
para los
desarrolladores
y el público
Historial de
Desconocido No No Si Si Manual Si
actividades
Soporte de Depende de la
SSI, PHP3,
scripts por disponibilidad
Desconocido No No No PHP4,CGI, PHP3, PHP4
parte del de cada uno
Embperl
servidor web de los sitios
MySQL and
Base de datos Desconocido No No Si No MySQL
PostgreSQL
Sólo A disposición
algunas de los
Shell Desconocido No No Si Si
personas lo desarrolladores
tienen. seleccionados.
Alojamiento
Si No No Si No Si Si
Virtual
Formulario Formulario CVS vía SCP, SFTP y
Carga de datos FTP CVS vía SSL SCP, SFTP y FTP
HTTP y FTP. HTTPS SSH rsync
Depende de la
política de SSH1, SSL SSH1, SSH2, SSL en
Seguridad SSH y SSL SSL SSH1, SSH2
cada uno de en web web
los sitios
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Depende de la
Política en las Los usuarios Política de copia de
Política Política Política política de Política
copias de hacen copia de seguridad (5 tipos de
desconocida desconocida desconocida cada uno de desconocida
seguridad seguridad copia, al día)
los sitios
Tabla 3: Comparación CDE - Herramientas para los administradores del proyecto

Herramientas personales para los desarrolladores

Asynchrony Freepository GBorg GForge Savannah SEUL SourceForge

Monitoreo de No
No Sólo para trackers Si Si No Si
Trackers/Foros/archivos determinado

Proyectos implicados Si No Si Si Si No Si

Problemas desde los trackers No No No, pero se puede enviar Si Si No Si


determinado notificación a través del
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Asignado/Enviado sistema de monitoreo

Inspección de las opiniones


No No No Si No No No
de los usarios

Correo electrónico Redirigido No No Redirigido Redirigido Manual Redirigido

Calendario No No No Si No No Si

Marcadores No No No Si Si No Si
Tabla 4: Comparación CDE - Herramientas personales para los desarrolladores
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

De acuerdo a los resultados obtenidos en la comparación anterior entre los CDEs


mencionados, se observa la gran importancia que hay en los servicios que buscan la
privacidad y seguridad en el acceso a los documentos y demás información vital para los
proyectos que se estén desarrollando, como también un bajo costo al que hay que incurrir
para contar con los servicios que estos ofrecen. Además, se observa que la mayoría de los
CDEs que existen actualmente, ofrecen todos sus servicios desde una plataformas web, lo
que brinda una mayor accesibilidad para los stakeholders del proyecto, los cuales se
conectan a los repositorios de forma remota o local, y la mayoría de proyectos que se están
desarrollando por medio de esta tecnología, resultan ser en su gran mayoría, aplicaciones de
software libre.

Por consiguiente, después de haber observado y analizado las funcionalidades para los
CDEs anteriormente mencionados, se define para este proyecto, que después de las
funcionalidades tales como la privacidad y la seguridad en los repositorios internos y las
diferentes herramientas de gestión de proyectos de software anteriormente mencionadas,
también es necesario tener en cuenta el precio como uno de los criterios más relevantes a la
hora de escoger el CDE que se ajuste a las necesidades para una casa de software que no
quiera incurrir en gastos relacionados a los costos de las licencias.

Finalmente, se puede concluir que GForge se ajusta a los criterios para este proyecto, ya
que además de incluir algunas de las herramientas importantes para la gestión de proyectos
de software, incorpora gestores de tareas y los diagramas de Gantt para la toma de
decisiones, y además, este CDE se puede descargar como una aplicación independiente
brindando la posibilidad de alojar los repositorios de forma interna con políticas de
seguridad privadas, logrando mayor confidencialidad de la información.

3.3. Marco institucional

Empresas de desarrollo de software de diferentes tamaños.

3.4. Glosario

Palabra clave Definición


Un bug es un mal funcionamiento de un elemento de software, que
Bug
hace que un programa funcione incorrectamente. [36]
Un entorno de desarrollo colaborativo (CDE) es un espacio virtual
donde todas las partes interesadas de un proyecto pueden compartir
CDE
conocimientos y, en general, el trabajo en conjunto para llevar a cabo
algunas tarea. [1]
Sistema operativo de distribución gratuita de Linux basada en Red
CentOS
Hat Enterprise Linux. [2]
Un Script CGI (Interfaz de salida común) es un programa que se
CGI
ejecuta en un servidor Web invocado desde un navegador Web. [41]
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Por sus siglas en inglés Concurrent Version System, se trata de un


sistema de versiones concurrentes el cual permite registrar los
CVS
cambios realizados en el código fuente de un proyecto de software
para su posterior revisión y soporte. [3]
Es una interfaz web que permite navegar y explorar un repositorio
CVSWeb
CVS. [30]
Proyecto de desarrollo de GForge que permite por medio de un
DocManager plugin la subida de documentos referentes a un proyecto al
repositorio del mismo. [32]
Embperl es un marco para la construcción de sitios web con Perl.
Embperl
[44]
Acrónimo para la sigla en inglés: “Frequently Asked Questions” el
FAQ cual hace referencia a las respuestas para las preguntas más
frecuentes. [27]
Versión final de un conjunto de funcionalidades asociadas a un
FileRelease
componente de software. [31]
FTP Protocolo de red que se usa para la transferencia de archivos. [26]
Entorno de desarrollo integrado de código abierto para el desarrollo
IDE Eclipse
de proyectos de software. [4]
Puede asociarse con una tarea, un riesgo o un bug dentro de la
gestión de un proyecto de software, el cual tiene propiedades, tiene
Ítem estado, se puede asociar con otros ítems y puede alojarse en un
almacén de datos. En GForge se les considera a los elementos que
son controlados por los trackers. [5]
Ambiente de desarrollo colaborativo con una interface intuitiva que
une un gran conjunto de herramientas desde la gestión del código
fuente, hasta trackers personalizados, gestores de tareas, gestores de
GForge
documentos y listas de correo. Todos estos son controlados por un
sistema centralizado de autorización que es mantenido y actualizado
automáticamente. [6]
Es un proyecto que busca el desarrollo del sistema operativo Linux
GNU
bajo la modalidad del código abierto. [23]
Licencia pública general de GNU, la cual suele utilizarse para
GPL
programas de software libre. [55]
Protocolo de red que se usa para la transferencia de hipertexto, es
HTTP decir el texto que aparece en la pantalla al navegar desde el cual uno
puede navegar a otro texto. [24]
Protocolo de red similar al HTTP pero con la característica adicional
HTTPS de que emplea el protocolo de seguridad SSL, brindando mayor
confidencialidad de los datos al transmitirlos por la red. [25]
Sistema operativo derivado de Unix, mantiene las ventajas que
Linux
ofrece Unix, este sistema operativo es libre. [7]
Sistema de software libre que permite administrar las discusiones por
Mailman
correos electrónicos y las listas de noticias electrónicas. [33]
MySQL Es un servidor de bases de datos relacionales, de código
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

abierto que utiliza el sistema operativo Linux. [45]


Tercera versión del lenguaje de programación PHP, diseñado para
PHP3
entornos Web. [42]
Cuarta versión del lenguaje de programación PHP, diseñado para
PHP4
entornos Web. [43]
Programa pequeño que proporciona alguna funcionalidad especifica
Plugin
a otra aplicación mayor o más compleja. [8]
Programa escrito en lenguaje de programación PERL que automatiza
Majordomo
la gestión de las listas de correo en Internet. [34]
MHonArc Es un convertidor para correos basados en Perl a HTML. [35]
Programa de la suite Microsoft Office usado para la gestión de
Microsoft Project
proyectos. [9]
Sistema para la gestión de bases de datos relacionales, el cual es de
PostgreSQL
código abierto [10]
Representa una línea guía a seguir durante el desarrollo de un
Roadmap
proyecto. [11]
Aplicación de sincronización de archivos, que permite
rsync que un cliente y un servidor se mantengan sincronizados sin enviar
los archivos modificados utilizando ambientes Unix. [50]
Secure Copy, más conocido como SCP, es un protocolo de
SCP transferencia segura de archivos entre un host local y otro remoto,
basado en el protocolo Secure Shell (SSH). [48]
Es un programa que puede acompañar un documento HTML o puede
estar codificado dentro de él, el cual se ejecuta en la maquina del
Script
cliente cuando el documento se carga o cuando se invoca algún link
específico que lo invoque. [39]
Es un protocolo de red similar al FTP que funciona con SSH,
SFTP cifrando los datos al transmitirlos, brindando mayor seguridad y
confidencialidad. [49]
Es un programa que interpreta los comandos y actúa como un
Shell
intermediario entre el usuario y un sistema Unix. [28]
Es un protocolo que sirve para acceder a computadores
remotos a través de una red para poder ejecutar comandos en una
SSH
máquina remota permitiendo controlarla y ejecutar programas
gráficos teniendo un servidor desde Unix o Windows. [47]
Primera versión del protocolo para acceso a computadores
SSH1
remotos proveído por SSH Communications Security [51]
Segunda versión del protocolo para acceso a computadores
SSH2
remotos proveído por SSH Communications Security . [52]
Acrónimo de la sigla en inglés: “Server Side Includes”, el cual hace
referencia a un mecanismo de software que permite que los
SSI servidores Web admitan directivas insertadas en documentos HTML
para la inserción de datos dinámicos sin tener que saber PERL o
PHP. [40]
SSL Es un protocolo de red que proporciona servicios de seguridad
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

cifrando los datos intercambiados entre el servidor y el cliente con un


algoritmo de cifrado simétrico. [46]
Personas involucradas o interesados en el desarrollo de un proyecto.
Stakeholders
[12]
Es un software utilizado para mantener las versiones actuales o
Subversion históricas de los archivos como el código fuente las páginas web y la
documentación. [13]
SVN Ver Subversion.
Es una herramienta de software que permite rastrear actividades que
Tracker se han definido dentro de un workflow, como son los eventos
generados y el estado de dichas actividades y sus componentes. [14]
ViewCVS Es un cliente web de repositorios de CVS. [29]
Es un software en un servidor que permite a los usuarios crear y
Wiki editar páginas Web de forma gratuita usando cualquier navegador
Web. [38]
Hace referencia a la gestión modelada y computarizada de todas las
Workflow actividades que deben llevarse a cabo y de los distintos protagonistas
involucrados en realizar un proceso de negocio. [15]
Es un sistema de seguimiento de bugs basado en Web desarrollado
Jitterbug
por Samba. [37]
Tabla 5: Definiciones y acrónimos
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

4. PROCESO

4.1. Metodología

Ilustración 1: Metodología a emplear

La metodología que se va a emplear, consta básicamente de siete fases secuenciales,


sin tener en cuenta la fase que se denomina Pruebas de la guía, ya que esta no es
secuencial debido a que se aplicará a medida que vaya transcurriendo la etapa
llamada Elaboración de la guía, como se explica claramente en la sección 4.2. (Parte
de Pruebas).

Finalmente, una vez se alcance la fase de Control de calidad, la guía entrará en un


proceso de refinamiento utilizando la retroalimentación obtenida a partir de los
resultados que se lograron al concluir la fase llamada Pruebas de la guía, buscando
con esto un producto de calidad.
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

4.2. Actividades

Para el desarrollo del proyecto, se definirán las siguientes actividades que se


realizarán durante todo el semestre 2009-III, para la finalización del trabajo
de grado de forma éxitos, de las cuales desde la sección 2.2.2 hasta la
sección 2.2.9 se incluirá en la guía.

o Levantamiento de información

Esta actividad permite organizar la documentación que se va a tener en cuenta


para la realización del trabajo de grado, ya que por medio de este se buscará
obtener bibliografía actualizada y estandarizada dentro del ámbito de las
metodologías que se usan en la gestión del desarrollo de proyectos de software
usando ambientes colaborativos, para que luego sea organizada y clasificada,
buscando que la solución a nuestra problemática sea aplicada al contexto actual
y en lo posible perdure como una solución vigente por mayor tiempo, también
se obtendrá bibliografía referente a la forma de desarrollar guías metodológicas.

Método: Levantamiento de Bibliografía

o Instalación de herramientas para GForge

En esta actividad se instalará la herramienta de software de ambiente de


desarrollo colaborativo GForge en un servidor con sistema operativo Linux
CentOS, junto con el plugin de Microsoft Project y el del IDE Eclipse.

Método: Experimental

o Definición de los trackers y workflows iníciales para el proyecto de


software basado en metodologías ágiles

En esta actividad se define un inventario de los diferentes trackers con sus


respectivos ítems, workflows y responsable en la gestión de un proyecto de
software basado en metodologías ágiles por cada etapa: definición de la gestión
del proyecto, levantamiento de requerimientos, arquitectura del proyecto,
desarrollo, aseguramiento de calidad y mantenimiento.

Método: Diseño-Implementación

o Etapa de definición de la gestión del proyecto

En esta actividad se definen los formatos para los documentos que se van
utilizar durante la planeación del proyecto tales como: propuesta del proyecto,
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

gobierno del proyecto, roadmap, cronograma. Además se realiza la


configuración del tracker de gestión con el registro de los documentos en
GForge.

Método: Diseño-Implementación

o Etapa de levantamiento de requerimientos

En esta actividad se definen el formato para los requerimientos y además se


configura su respectivo tracker.

Método: Diseño-Implementación

o Etapa de Arquitectura del proyecto

En esta actividad se definen el formato para la arquitectura y además se


configura su respectivo tracker.

Método: Diseño-Implementación

o Etapa de desarrollo

En esta actividad se ajusta el proyecto de software en cuanto a su desarrollo con


su código fuente y su administración de configuración al sistema subversion
dentro de GForge, además se realiza la configuración de su respectivo tracker.

Método: Diseño-Implementación

o Etapa de aseguramiento de calidad

En esta actividad se define el formato para el reporte de errores tanto en código


fuente como en los documentos del proyecto y el acoplamiento de la generación
de estadísticas de trabajo resultantes del sistema subversion, además se
configura su respectivo tracker.

Método: Diseño-Implementación
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

o Etapa de mantenimiento

En esta actividad se realizan las copias de seguridad para los documentos,


código fuente, bases de datos PostgreSQL y los archivos de subversion¸ para la
restauración cuando sea necesaria.

Método: Diseño-Implementación

o Pruebas

En esta actividad se realizan las pruebas de la guía, para ello esta actividad está
distribuida en tres secciones: dos parciales las cuales están programadas para
ejecutarse después de la etapa de desarrollo y la etapa de aseguramiento de
calidad, conjuntamente se complementa con una prueba final la cual se ejecuta
después de la etapa de mantenimiento. Para realizar las pruebas se van a diseñar
encuestas las cuales los expertos deben contestar probando la facilidad de uso
del progreso en ese instante de la guía para de esta manera obtener resultados
cualitativos que permitan el refinamiento de la guía. Para mayor información
acerca del progreso de la guía consultar sección 3.5 Cronograma.

o Elaboración de la memoria

En esta actividad se va documentar el proceso que se llevo a cabo durante el


desarrollo del trabajo de grado junto con su impacto y conclusiones
conjuntamente se tomaran como anexos los resultados de las pruebas que se
realicen por expertos.

o Elaboración de la página web

En esta actividad se registran todos los entregables del trabajo de grado en una
página web.

Método: Diseño-Implementación

4.3. Entregables o resultados esperados


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Entregable Resultado esperado Beneficiario


Comparación de Documentación Empresas de desarrollo de
diferentes ambientes de software y la Pontificia
desarrollo colaborativo Universidad Javeriana.
Guía Válida Empresas de desarrollo de
software y la Pontificia
Universidad Javeriana.
Memoria de trabajo de Aprobada John Eddie Díaz
grado Juan Felipe Olaya
Página web Documentación Comunidad científica
Tabla 6: Entregables

4.4. Presupuesto

RECURSOS FÍSICO Y SERVICIOS


Item Cantidad Valor Total
Licencia Linux Centos 1 $0 $0
Licencia GForge 1 $0 $0
Transporte 102 $1.500 $153.000
Papelería e Impresión 2 $30.000 $60.000
Diseño Página Web 1 $400.000 $400.000
CDs 3 $1.000 $3.000
Alquiler Servidor / Mes 6 $0 $0
Subtotal $616.000
Tabla 7: Recursos físicos y servicios

RECURSOS HUMANOS
Persona Horas de trabajo por Semanas Precio por Total
semana hora
John Eddie Díaz 12 17 $30.000 $6.120.000
Juan Felipe Olaya 12 17 $30.000 $6.120.000
María Consuelo 6 17 $100.000 $2.040.000
Franky
Subtotal $14.280.000
Tabla 8: Recursos humanos
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

PRESUPUESTO
Recursos Físicos y servicios $616.000
Recursos Humanos $14.280.000
Total $14.896.000
Tabla 9: Presupuesto

4.5. Cronograma

Ilustración 2: Diagrama de Gantt del cronograma del proyecto


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

Tabla 10: Actividades a realizar


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

5. RFERENCIAS Y BIBLIOGRAFÍA

5.1. Referencias

[1] - Booch G. Collaborative Development Environments. Rational Software


Corporation, 2002.

[2] - The community enterprise operating system, “CentOS”, Jun 2009;


http://www.centos.org/

[3] – Chuwiki, “Sesión con CVS”, Jun 2009;


http://www.chuidiang.com/chuwiki/index.php?title=Sesi%C3%B3n_con_CVS

[4] – Eclipse Foundation, “What is Eclipse and the Eclipse Foundation?”, Jun 2009;
http://www.eclipse.org/org/

[5] – Joel Semeniuk's Blog, “Team System and Process Governance”, Jun 2009;
http://weblogs.asp.net/jsemeniuk/archive/2005/06/11/411925.aspx

[6] – GForge Group, “GForge® Advanced Server”, Jun 2009;


http://gforge.org/gf/

[7] – Linux Online, “What is Linux”, Jun 2009;


http://www.linux.org/info/index.html

[8] – Digital Dictionary, “Internet Terminology – PlugIn”, Jul 2009;


http://www.cesa8.k12.wi.us/media/digital_dictionary.htm

[9] - Microsoft Office Online, “Descripción general de Microsoft Office Project


Standard 2007”, Jul 2009;
http://office.microsoft.com/es-es/project/HA101656383082.aspx

[10] – PostgreSQL, “About”, Jul 2009;


http://www.postgresql.org/about/

[11] – Business & Small business, “Creating a technology roadmap”, Jul 2009;
http://www.entrepreneur.com/technology/techtrendscolumnistpeteralexander/article
83000.html

[12] - Sommerville I. Ingeniería de Software. 7th ed., Pearson Educación S.A, 2005.

[13] – Tigris.org - Open software engineering tools, Subversion's Features, Jul 2009;
http://subversion.tigris.org/features.html

[14] – Notable Solutions Inc, “Workflow Tracker”, Jul 2009;


http://www.nsius.com/Solutions/ProcessComponents/Advancedcomponents/Workfl
owTracker/tabid/184/Language/es-ES/Default.aspx
Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

[15] – Pablo C. García – Workflow related Blog, “Capítulo 1 – Conceptos de


Workflow”, Jul 2009;
http://blogs.msdn.com/pcgarcia/pages/capitulo-1-conceptos-de-workflow.aspx

[16] – Haggen So, “Comparison of Free/Open Source Project Hosting (FOSPHost)


Sites Available for Hosting Projects Externally from Project Owners”, Jun 2009;
http://www.ibiblio.org/fosphost/exhost.htm

[17] – Wapedia, “Wiki: Comparison of open source software hosting facilities”, Jun
2009;
http://wapedia.mobi/en/Comparison_of_open_source_software_hosting_facilities#2

[18] – Equipos Virtuales - Godar S. Virtual and Collaborative Teams. Idea Group,
2004.

[19] – Grady Booch and Alan W. Brown. Collaborative Development


Environments. Rational Software Corporation. 2002.

[20] – Manifesto for Agile Software Development, Jul 2009;


http://agilemanifesto.org/

[21] – Fowler M y Beck K. Planning Extreme Programming. Addison Wesley, 2004.

[22] – Savannah, “Statistics”, Jun 2009;


http://savannah.gnu.org/stats/

[23] – The GNU Operating System, “What is GNU”, Jul 2009;


http://www.gnu.org/

[24] – W3C, “HTTP – Hypertext Transfer Protocol”, Jul 2009;


http://www.w3.org/Protocols/

[25] – IETF – The Internet Engineering Task Force, “RFC 2818: HTTP over TLS”,
Jul 2009;
http://tools.ietf.org/html/rfc2818

[26] – W3C, “RFC 959: FTP – File Transfer Protocol”, Jul 2009;
http://www.w3.org/Protocols/rfc959/

[27] – Computer Glosary, What is FAQ? Jul 2009;


http://www.iwebtool.com/what_is_faq.html

[28] – Indiana University, “Knowledge Base - In Unix, what is the shell?”, Jul 2009;
http://kb.iu.edu/data/agvf.html

[29] - SourceForge,"ViewVC",Jul 2009;


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

http://sourceforge.net/projects/viewcvs/

[30] – Free Software Directory, “CvsWeb”, Jul 2009;


http://directory.fsf.org/project/cvsweb/

[31] – FileRelease

[32] – GForge, “Document Manager”, Jul 2009;


http://forge.nesc.ac.uk/docs/gforge_manual/user_guide/project_functions/docman.ht
ml

[33] – Free Software Foundation Inc., “Mailman, The GNU Mailing List Manager”,
Jul 2009;
http://www.gnu.org/software/mailman/index.html

[34] – Cámara de comercio e industria de Alcoy, "Glosario - Majordomo", Jul 2009;


http://www.camaraalcoy.net/servicios_web/glosario/Glosario/M.htm

[35] – MhonArc, “What is MhonArc?”, Jul 2009;


http://www.mhonarc.org/

[36] – Vocabulario de ordenadores e Internet, "Vocabulario - bug", Jul 2009;


http://jamillan.com/v_bug.htm

[37] – Linux Software Directory, “Jitterbug - JitterBug web based bug tracking
system”, Jul 2009; http://linux.maruhn.com/sec/jitterbug.html

[38] – Wiki.org, “What Is Wiki”, Jul 2009;


http://wiki.org/wiki.cgi?WhatIsWiki

[39] – W3C, “HTML 4.01 Specification – Scripts”, Jul 2009;


http://www.w3.org/TR/REC-html40/interact/scripts.html

[40] – Indiana University, “Knowledge Base - What are Server Side Includes?”, Jul
2009; http://kb.iu.edu/data/bejw.html

[41] – University of Leeds, “Web Glossary: CGI Scripts”, Jul 2009;


http://iss.leeds.ac.uk/info/257/getting_help/374/web_glossary

[42] - PHP, " PHP Version 3 Documentation", Jul 2009;


http://www.php.net/manual/php3.php

[43] - PHP, " PHP 4 ChangeLog",Jul 2009;


http://www.php.net/ChangeLog-4.php

[44] - Embperl,"Building Dynamic Websites with Perl", Jul 2009;


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

http://perl.apache.org/embperl

[45] – ZonaServer, "Glosario de términos", Jul 2009;


http://www.zonaserver.es/glosario.html

[46] – Consejo Superior de Investigaciones Científicas, “Secure Socket Layer


(SSL)”, Jul 2009; http://www.iec.csic.es/CRIPTonOMICon/ssl.html

[47] – SSH,"Products and Services", Jul 2009;


http://www.ssh.com/products/

[48] – OpenBSD, "Manual Pages", Jul 2009;


http://www.openbsd.org/cgi-bin/man.cgi?query=scp&sektion=1

[49] – Indiana University, “Knowledge Base - What is SFTP, and how do I use it to
transfer files?”, Jul 2009; http://kb.iu.edu/data/akqg.html

[50] – datarec,"Glosario", Jul 2009;


http://www.datarecsa.com/Glosario/glosarior.htm

[51] – SSH1,"The Remoto Host Uses SSH1 Protocol", Jul 2009;


http://www.ssh.com/support/documentation/online/ssh/winhelp/40/the_remote_host
_uses_ssh1_protocol.html

[52] – SSH, "SSH Tectia ", Jul 2009;


http://www.ssh.com/documents/32/ssh2.txt

[53] - Haggen Hau Heng So, “Construction of an Evaluation Model for Free/Open
Source Project Hosting Sites”, School of Business Information Technology, 2005.

[54] GForge, “Estadísticas de GForge”, Jul 2009;


http://gforge.enseeiht.fr/

[55] – GNU Operating System, “Licencias”, Jul 2009;


http://www.gnu.org/licenses/licenses.es.html

[56] – SourceForge.net, “What is SourceForge.net”, Jul 2009;


http://sourceforge.net/apps/trac/sourceforge/wiki/What%20is%20SourceForge.net

[57] - Freepository, “Hosted development tools since 1999”, Jun 2009;


https://www.freepository.com/

[58] - GBorg PgFoundry, “Proyectos que necesitan ayuda” Jun 2009;


http://pgfoundry.org/

[59] – CollabNet, “Store”, Jun 2009;


Pontificia Universidad Javeriana Propuesta para trabajo de grado de investigación

https://store.collab.net/cgi-bin/pp

[60] – Asynchrony, “Asynchrony Solutions”, Jun 2009;


http://www.asynchrony.com/

[61] – SEUL, “SEUL.org”, Jun 2009;


http://www.seul.org/

[62] – SourceForge, “SourceForce.net”, Jun 2009;


http://sourceforge.net/

5.2. Bibliografía propuesta para el desarrollo de trabajo de grado

 Fowler M y Beck K. Planning Extreme Programming. Addison Wesley, 2004.

 Godar S. Virtual and Collaborative Teams. Idea Group, 2004.

 Concas G. Agile Processes in Software Engineering and Extreme Programming.


Springer, 2007.

 Manifesto for Agile Software Development, Jul 2009; http://agilemanifesto.org/.

6. ANEXOS

 Anexo 1 Poster
 Anexo 2 Actividades