7/22/2019 Team Forge
1/15
1 Teamforge1.1 General
Teamforge esta orientado a empresas grandes/medianas por su elevado costo delicencia. La licencia mas bsica cuesta U$S 5000 anuales para 25 usuarios y por cada
usuario extra U$S 625. Sin duda un precio demasiado alto para empresas pequeas.
1.2 InstalacinTeamforge cuenta con una VM de VMWare para su prueba por 30 dias, por lo que
solo basta con correrla para poder evaluar lo que este producto nos ofrece. Tanto como
para la instalacin nativa o como para la VM los requerimientos son:
Sistema operativos soportados:Sistema operativo Versin ArquitecturaRed Hat Enterprise Linux 5.3 32-bitRed Hat Enterprise Linux 4.7 32-bit
Red Hat Enterprise Linux 4.7 64-bit
CentOS 5.2 32-bit
CentOS 4.7 32-bit
CentOS 4.7 64-bit
Hardware: Procesador: 2+ GHz (x2) RAM: 2+ GB Espacio en disco: 40+ GB
Ademas requerimos: Conexion a internet Suscripcion vlida RHN Acceso root al SO donde se instalar
Los requisitos de harware son elevados, pero considerndose que la maquina es
un servidor, se pueden cumplir sin inconvenientes. Por otro lado resulta ms restrictiva los
requerimientos de software ya que podra implicar tener que comprar un servidor
dedicado en caso de que no contemos con esa distribucin en nuestra entorno.
La instalacin es realmente muy sencilla, aunque lleva su tiempo. Nos llevo 1 hora
5 minutos la instalacin de Teamforge en forma nativa. La instalacin se realizo sobre una
VM con CentOS 5.2. preinstalado. Se le asignaron 2gb de RAM y 2 procesadores.
7/22/2019 Team Forge
2/15
Los pasos para la instalacin por defecto son los siguientes:
1) Iniciar sesin root en el SO.2) Crear una carpeta donde guardarn los archivos de instalacin.
o mkdir -p /opt/collabnet/teamforge-installer3) Descargar el instalador de Teamforge (rpm) de
http://www.open.collab.net/downloads/sfee/linux.html
4) Desplegar el paquete de instalacin.o rpm -ivh TeamForge-install-5.2.0.0..noarch.rpm
5) Verificar que el servicio sendmail este parado. Si esta corriendo pararlo con:o /sbin/service sendmail stopo
/sbin/chkconfig sendmail off
6) Correr el instalado (PASO MAS IMPORTANTE)o cd /opt/collabnet/teamforge-installer/5.2.0.0o ./install.sh -a -b -V
Se descargarn varios paquetes del repositorio redhat que son necesarios para el funcionamiento del
Teamforge (entre ellos PostgreSQL). Este paso demora alrededor de 1 hora.
7) Una concluido el paso anterior ya tendremos instalado el Teamforge. Procedemos a iniciarel servicio.o /etc/init.d/collabnet start all
Notas sobre la prueba:
La primera vez que intentamos la instalacin, la misma aborto porque detecto un conflicto
con unas bibliotecas de PostgreSQL previamente instaladas, pero luego de que se desinstalara
PostgreSQL y sus dependencias la instalacin se realizo sin problemas. Cabe aclarar que la mayor
parte del tiempo que llevo la instalacin fue la descaraga de 2 cds del teamforge que realiza en el
paso 6.
1.3 Funcionalidades bsicasTeamforge posee integrado una amplia gama de herramientas y funciones que son muy
tiles para gestin de los proyectos. Entre ellas se destacan:
o Control de versiones para el cdigo fuente (SVN/CVS)o Tracker
http://www.open.collab.net/downloads/sfee/linux.htmlhttp://www.open.collab.net/downloads/sfee/linux.htmlhttp://www.open.collab.net/downloads/sfee/linux.html7/22/2019 Team Forge
3/15
o Repositorio de documentoso Wikio Administrador de tareas (Asignacin y seguimiento)o Foros de discusino File Release system (FRS)o Reporte de tareaso Lista de mailso Novedadeso Build & Test (No integrado por defecto, con costo de licencia adicional)Luego de crear un proyecto, la pagina de inicio del mismo se ve de la siguiente
manera:
Se puede observar que el menu se encuentra bien organizado contando con lasherramientas en solapas bien divididas. La pgina de inicio se puede customizar, por
defecto incluye las novedades del proyecto y las estadsticas del proyecto, como ser la
cantidad de tareas, la cantidad de artefactos, la cantidad de documentos y la cantidad de
file releases.
Es importante destacar que no si bien, en la documentacin dice tener soportes
para otros lenguages, no se encontr la forma para que el sitio cambie de lenguaje. Esta
puede ser una seria limatacin en empresas donde no todos los involucrados hablen ingls
7/22/2019 Team Forge
4/15
A continuacin se detalla ms en profundidad las herramientas provistas.
Control de versiones:
Cada proyecto tiene su propio SCM (Source control manager) este puede ser SVN
o CVS de acuerdo con la eleccin del Project manager. Por defecto con la creacin del proyecto no
se establece el SCM, sino que este debe instanciarse en la solapa source code->Create repository.
Teamforge soporta multiples repositorio en un proyecto, tal como se muestra a continuacin.
Repositorio de documentos:
El repositorio de documentos es muy til para mantenimiento de estos, ya que no
solo permite almacenar las distintas versiones de estos, sino tambin se pueden vincular los
mismos con tems del proyecto.
7/22/2019 Team Forge
5/15
Tracker:
Con esta herramienta se pueden llevar registros de bugs, de problemas, etc. La
implementacin es lo suficientemente flexible para que se pueda usar de varias maneras.
La informacin a detallar es titulo, descripcin, prioridad ,estado, responsable. En la
seccin se visualiza un resumen con estadsticas y datos cuantitativos respecto a los
mismos
Administrador de tareas:
Las tareas se tratan de una forma especializada y no como un mero
artefacto del tracker. Esto permite un mejor control de las mismas y la integracin con el
MS-Project a travs de un plug-in que funciona perfectamente y se detallara ms
adelante.
Se observa como se pueden crear carpetas que agrupen a las tareas. Al seleccionar
una carpeta se observa un breve resumen de los estados globales de las mismas.
Wiki:
7/22/2019 Team Forge
6/15
Es una seccin que alberga una pagina Wiki donde los usuarios pueden ir
actualizando. Puede ser til para realizar una ayuda customizada o definir el workflow tpico de la
empresa sobre la herramienta.
Foros de discusin:
Es una herramienta que favorece notablemente la comunicacin de los miembros
del proyecto. Cada post de los foros pueden vincularse con un artefacto de un tracker.
File releases:
Se cuenta con una seccin para administrar las releases del proyecto. De esta
forma se puede tener un registro de las versiones instaladas en tales fechas. Se permite la
vinculacin con artefactos, para garantizar una trazabilidad hacia los mismos.Roles de usuario
7/22/2019 Team Forge
7/15
Luego se
Reportes:
Teamforge permite crear reportes customizados sobre el proyecto. Los
reportes no forman parte del proyecto y cada miembro del equipo que genere uno, solo
ser visto por l. Un ejemplo es el que se muestra a continuacin.
7/22/2019 Team Forge
8/15
1.4 TrazabilidadPara la gestin de la trazabilidad de los tems de los proyectos. Teamforge utiliza la
herramienta Tracker. Un Tracker definido por Teamforge es lo siguiente:
CollabNet TeamForge Tracker:
Es una coleccin de registros que siguen el desarrollo de una unidad de trabajo
desde su concepcin hasta su conclusin. Puede crear un tracker para gestionar casi cualquier tipo
de trabajo que su proyecto requiera.
En cada proyecto, puede crear cualquier numero de trackers. Cada tracker rastrea
un tipo diferente de datos.
Para cada tracker, se puede definir valores para el estado, la categora, y otros
campos por defecto. Puede crear sus propios campos customizados para capturar los datos
adicionales que sean especficos de su proyecto u organizacin. Tambin se pueden crear flujos de
trabajo sobre los trackers a modo de especificar los criterios necesarios para que los usuarios
puedan cambiar el estado de los mismos.
Cada entrada individual en un tracker se denomina artefacto. El control de acceso
basado en roles del sistema permite que miembros del proyecto tiene permitido ver, crear y editar
artefactos.
La trazabilidad esta bien lograda en Teamforge. Esta aplicacin permite vinculaciones de
todas sus herramientas entre si. Por ejemplo, es posible vincular un artefacto de un tracker con
una tarea, con un File release o incluso con un post en el foro de discusin, permitiendo un traceo
horizontal de los artefactos excelente. La vinculacin de los tems es bidireccional, es decir al
7/22/2019 Team Forge
9/15
vincular un post de un foro con un artefacto de un tracker, el artefacto se actualiza
mostrando la vinculacin, esta caracterstica permite trazabilidad bidireccional.
Los commits del repositorio tambin se permiten vinculacin hacia cualquier
herramienta y con la posibilidad de realizarlo en forma automtica simplemente poniendo
un tag: [idItem] en el mensaje de log. Lo que no se puede hacer en forma automtica es el
cambio de estado de los artefactos y de de las tareas, esto es un gran limitacin, puesto
que el desarrollador al terminar una tarea tiene que cambiar el estado manualmente en la
seccin determinada perdiendo tiempo.
Otro contra que tiene la aplicacin respecto a este punto es que no se puede
tracear automticamente desde un commit a un tem de alguna herramienta, si bien el
mensaje de log tiene el id del tem, ste no tiene un link automatico al mismo, cosa que si
ocurre en el otro sentido.
1.5 Integracin continuaTeamforge no viene tiene una herramienta para integracin continua pre
instalada, sin embargo permite vincularse perfectamente con Hudson. Hudson es una
herramienta desarrollada en Java que brinda un sistema de integracin continua, tal como
CruiseControl o DamageControl que permite de forma sencilla a los desarrolladoresintegrar cambios al proyecto y facilita a los usuarios la obtencin de un build reciente. La
integracin continua automtica aumenta la productividad.
Las siguientes son algunas de las caractersticas de Hudson:
Facil configuracin:Hudson puede ser configurado completamente desde su interfaz web,con un chequeo on the fly de errores. No necesita que se modifique un archivo XML
manualmente.
7/22/2019 Team Forge
10/15
Soporte de cambio: Hudson puede generar una lsta de cambios hechos en el build desdeCVS/Subversion. Esto es hecho de una manera eficiente para redicur la carga sobre el
repositorio can generate a list of changes made into the build from CVS/Subversion. This is
also done in a fairly efficient fashion, to reduce the load of the repository.
Links permanentes: Hudson brinda URLs limpias y legible en la mayoria de sus paginas,tambien incluye algunos links permenentes como latest build/latest successful build,
asi pueden ser facilemente linkeados de cualquier parte
Integracin RSS/E-mail/IM: Se pueden monitorear los resultados de los build via RSS o e-mail para tener notificaciones en tiempo real de las fallas.
Reporte test JUnit/TestNG : Reportes de pruebas de JUnit pueden ser tabulados,resumidos y mostrados con la informacion historica, como ser cuando comenzo a fallar. La
tendencia histrica es dibujada en un grfico.
Builds distribuidos: Hudson puede distribuir la carga de los build/test sobre a multiplescomputadoras. Esto permite aprovechar major las computadoras de los desarrolladores
cuando estan en modo idle.
Hudson se integra con Teamforge en la solapa Build & Test, para instalar la herramienta
son necesarias una serie de pasos los cuales son detallados en la misma seccin cuando laherramienta no se encuentra instalada. Luego de la instalacin Hudson queda perfectamtente
integrado a Teamforge, tal como se puede ver a continuacin.
Cabe destacar que no es recomendado la instalacin de Hudson en el mismo servidor
donde se aloja Teamforge. En nuestro caso prctico, intentamos instalar Hudson en el mismo
servidor pero tuvimos resultados no sactifactorios, pues la herramienta no pudo completar la
instalacin. Teniendo en cuenta lo anterior y los pasos que son requeridos para que Hudson se
integre con Teamforge se determina que no es sencilla la instalacin y que puede llevar un cierto
tiempo.
7/22/2019 Team Forge
11/15
1.6 Integracin con IDEs y otros sistemas.Teamforge dispone de un plugin para conectarse con el MS Visual Studio y Eclipse.
Tuvimos la oportunidad de probar del del Visual Studio y la verdad que se comporto muy
bien.
Visual studio
Su instalacin es muy sencilla, simplemente se requiere bajarse el instalador de la
pagina de CollabNet y ejecutarlo.
El plug in permite hacer casi cualquier cosa que desde el sitio. Por ejemplo crear
artefactos, tareas, etc
7/22/2019 Team Forge
12/15
Nos parece interesante conocer el grado de adhesin que tienen cada uno de estos
productos con los entornos de desarrollo ms populares y sobre los cuales alguno de nosotros
trabajamos, como ser Eclipse y Visual Studio.
Tambin nos interesa saber la disponibilidad de plugins que no solo nos permita integrarlo
a nuestro IDE, sino a otros sistemas de administracin de proyectos como el Microsoft Project.
MS-Project
Como projects leaders la herramienta de administracin por excelencia es el MS-
Project. Esta potente herramienta es muy utilizada como soporte para la administracin de
proyectos. Este plug in permite la realizacin de una WBS , la asignacin de recursos , dependencia
de tareas sea sincronizada directamente con el sitio de Teamforge. Esto evita que el PL invierta su
valioso tiempo en duplicar la informacin sobre el sitio de gestin, ya que la sincronizacin de
realiza de forma automtica con solo un click. Para vincular Teamforge en un proyecto,
simplemente debemos ingresar nuestro nombre de usuario, contrasea y nombre del servidor
Teamforge
7/22/2019 Team Forge
13/15
Posteriormente se despliega una ventana con nuestros proyectos y elegimos el
deseado. Posteriormente se agregan automticamente las tareas creadas en Teamforge(en caso de que existan).
En nuestra prueba, agregamos tareas nuevas, agregamos dependencia entre las
mismas y modificamos los recursos asignados.
El plugin anda perfectamente. Pudimos realizar tareas y sincronizarlas con la
herramienta, solo tocando un botn
Tuvimos inconvenientes porque las tareas
realizadas en el Project no tenan duracin, lo que no nos
permitia realizar la vinculacin de la tarea ABM-Usuarios
con Reporte de Usuarios, asimismo la asignacin de los
recursos Jose Iturralde y Gina Torres, no tenan en
Teamforge los permisos necesarios para editar las tareas.
Luego de la correccin la sincronizacin se realizo sin
inconvenientes como se puede ver a continuacin.
7/22/2019 Team Forge
14/15
El plug in anda se desempea correctamente. Lo nico objetable es que al sincronizar con
el Teamforge podra cambiar valores del Project en caso de algn error de integridad, lo que en un
proyecto grande podran pasar inadvertido.
1.7 DesempeoPara probar la funcionalidad de la misma, dimos de alta un proyecto de nombre iPersist.
Luego de la alta de un par de desarrolladores los agregamos al proyectoNo encontramos ningn
punto flojo en la misma, salvo la integracin fallida con Hudson para el build & Test. Desde la
instalacin de la misma en forma nativa
La herramienta se ha desempeado realmente bien.
Desarrollaremos un workflow de la herramienta y evaluearemos el desempeo de la
misma, se tendrn en cuenta la usabilidad, la presentacin de los datos, etc.-Realice un circuito completo desde que se inicia un proyecto, incluyendo:
-Asignacin al proyecto 2 desarrolladores, 1 PL y 1 Tester
-Asignacion de tareas a los desarrolladores y testers
-Realizar commits y crear bugs
-Cambiar los estados de los bugs a abiertos y cerrados
7/22/2019 Team Forge
15/15
1.8 Soporte de documentacinLa documentacin de la aplicacin es realmente excelente. Se encuentra bien
categoriza por temas y por roles de usuario, de forma de encontrar el tema buscado con
par de clicks. La ayuda es online, lo que garantiza que esta siempre actualizada. Su
navegabilidad consiste de una vista de rbol sobre el lado izquierdo que agrupa las
categoras, al mejor estilo msdn.
Cuenta con una barra de bsqueda para encontrar rpidamente temas puntuales.
En nuestra experiencia en el uso de la herramienta, todo lo que necesitamos saber, estabaplasmado en la ayuda. Sin dudas un punto muy fuerte en la herramienta.
1.9 ConclusinComo ltima etapa y cierre del trabajo prctico haremos una conclusin en la cual
intentaremos consensuar y definir en qu proyectos utilizaramos una u otra herramienta,
a que tipo organizaciones y equipos de desarrollo estn orientadas, porqu NO usaramos
determinada herramienta y porque SI usaramos otra.
Conclusiones del sistema, cuando lo usara?