Team Forge

Embed Size (px)

Citation preview

  • 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.html
  • 7/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?