Anda di halaman 1dari 45

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA


DIRECCIÓN DE POSGRADO

“INTEGRACIÓN DE CONFLUENCE,
JIRA, BITBUCKET, TRELLO Y
TIMESHEET EN LA GESTIÓN DE
PROCESOS DE DESARROLLO”

TRABAJO FINAL PRESENTADO PARA OBTENER EL


CERTIFICADO DE DIPLOMADO EXPERTO EN DESARROLLO DE
APLICACIONES VERSIÓN I

POSTULANTE : Nataly Nanda Huanca Patzi

TUTOR : Ing. Edson Ariel Terceros Torrico

Cochabamba – Bolivia 2018


Agradecimientos

Primeramente, mis agradecimientos a Dios por la vida que


me dio, las puertas que abrió en cada etapa de mi vida.

A mis padres, por su apoyo incondicional, su confianza en


mí, en las decisiones que tomé.

A mi familia, mi esposo y mi hijo, por ser mi motor,


apoyarme con paciencia, sacrificando el tiempo que nos
merecíamos estar juntos, por su amor y cariño.

A mis docentes y compañeros, de los cuales pude aprender


mucho y crecer más profesionalmente.
Índice

Índice de figuras 10
Resumen 6
Introducción 6
1. Generalidades 8
1.1. Antecedentes Generales 8
1.2. Antecedentes Específicos 8
2. Metodología 9
3. Integración de Confluence, Jira, Bitbucket, Timesheet y Trello para la Gestión de Proyectos 9
3.1. Conceptos sobre la gestión de proyectos 9
3.1.1. ¿Qué es un Proyecto? 9
3.1.2. Administración de Proyectos 10
3.1.3. Proceso de Administración de Proyectos 10
3.1.4. Fases de la Administración de Proyectos 11
3.1.5. Herramientas y Técnicas de Apoyo a la Administración de Proyectos 12
3.1.6. Administración de la Calidad del Proceso de Desarrollo 12
3.1.7. Administración del Conocimiento 14
3.1.8. Aplicaciones de Software de apoyo a la Administración de Proyectos 15
3.2. Confluence 16
3.2.1. Creación de páginas y espacios 16
3.2.2. Plantilla de Proyecto 18
3.2.3. Ficha de proyecto 19
3.2.4. Minuta de reuniones 19
3.2.5. Arquitectura 20
3.2.6. Reportes 22
3.3. Jira 23
3.3.1. Creación de proyectos e incidencias 24
3.3.2. Backlog y creación de Sprint 26
3.3.3. Estimación de tiempos 26
3.3.4. Pizarras 27
3.3.5. Reportes de jira 29
3.3.5.1. Reporte Burndown Chart 30
3.3.5.2. Reporte de Sprint 31
3.3.5.3. Reporte Time Tracking 31
3.4. Timesheet 32
3.4.1. Registro de horas de trabajo 32
3.4.2. Reportes Timesheet 34
3.5. Trello 35
3.6. Bitbucket 37
3.6.1. Creación de Ramas 38
3.6.2. Pull Request 41
Índice de figuras
Figura 1. Proceso de Administración de Proyectos..................................................................................... 11
Figura 2. Modelo Ideal para la SPI. ............................................................................................................ 13
Figura 3. Modelo de Madurez CMM. ......................................................................................................... 14
Figura 4. Creación de páginas en Confluence............................................................................................. 17
Figura 5. Tipos de plantillas en Confluence. .............................................................................................. 17
Figura 6. Ejemplo de configuración de página en Confluence. .................................................................. 18
Figura 7. Ejemplo Ficha de Proyecto en Confluence. ................................................................................. 19
Figura 8. Ejemplo de creación de una minuta de reunión en Confluence. .................................................. 20
Figura 9. Agregación de la herramienta Draw.io en Confluence. ............................................................... 21
Figura 10. Opciones herramienta Draw.io. ................................................................................................. 21
Figura 11. Lista de macros disponibles en Confluence............................................................................... 22
Figura 12. Ejemplo de reporte de tareas Confluence. ................................................................................. 23
Figura 13. Tipos de proyectos en Jira. ........................................................................................................ 24
Figura 14. Tipos de tareas Jira. ................................................................................................................... 25
Figura 15. Prioridades en Jira. .................................................................................................................... 25
Figura 16. Backlog y creación de Sprints. .................................................................................................. 26
Figura 17. Tablero Jira. ............................................................................................................................... 27
Figura 18. Configuración Tableros Jira. ..................................................................................................... 28
Figura 19. Configuración de Triggers Tableros Jira. .................................................................................. 28
Figura 20. Ejemplo opciones de Triggers Tableros Jira. ............................................................................ 29
Figura 21. Lista de reportes disponibles en Jira. ......................................................................................... 30
Figura 22. Ejemplo de reporte burndown chart Jira.................................................................................... 30
Figura 23. Ejemplo de reporte Sprint. ......................................................................................................... 31
Figura 24. Ejemplo reporte Time Tracking. ............................................................................................... 31
Figura 25. Ejemplo de registro de horas de trabajo. ................................................................................... 33
Figura 26. Registro de horas de trabajo desde Timesheet en Jira. .............................................................. 33
Figura 27. Registro de horas desde el calendario de Timesheet. ................................................................ 34
Figura 28. Reportes de Timesheet............................................................................................................... 35
Figura 29. Visualización tableros Trellos. .................................................................................................. 36
Figura 30. Configuración Conexión con Trello en Jira............................................................................... 36
Figura 31. Configuración Power-Ups en Trello.......................................................................................... 37
Figura 32. Estructura de ramas para versionamiento. ................................................................................. 38
Figura 33. Creación de ramas desde Bitbucket. .......................................................................................... 39
Figura 34. Selección de rama padre. ........................................................................................................... 39
Figura 35. Creación de rama desde Jira. ..................................................................................................... 40
Figura 36. Creación de ramas desde Trello................................................................................................. 41
Resumen
El desarrollo de sistemas ha ido evolucionando durante los últimos años, estos constituyen uno
de los aspectos estratégicos de las empresas. Para ello es necesario que la totalidad de la
organización, tenga conocimiento de la importancia de los mismos y pensar en todos los aspectos
que el desarrollo de sistemas involucra.

El desarrollo de la informática y las telecomunicaciones permitieron incrementar la eficacia en la


realización de las tareas y ahorrar tiempo en el desarrollo de las actividades. Con el transcurrir
del tiempo las empresas fueron observando cómo las tecnologías y sistemas de información
permitían a la empresa obtener mejores resultados que sus competidores, constituyéndose por sí
mismas como una fuente competitiva y una poderosa arma que permitía diferenciarse de sus
competidores y obtener mejores resultados que estos.

En el desarrollo de sistemas, los ambientes cambiantes de las empresas de desarrollo, las


competencias a nivel global que constantemente van mejorando debido a que el uso de sistemas
va aumentando con el tiempo. Todos estos cambios hacen que surjan nuevas tecnologías para
lograr mejor comunicación del conocimiento, mejoras de calidad del software, mejoras en la
coordinación de proyectos, entre otras.

Las tecnologías de información juegan un papel clave en esta evolución, presentándose nuevas
herramientas de apoyo para la gestión de desarrollo de sistemas, tratando de adaptarse a los
procedimientos de cada organización.

Palabras clave: Desarrollo de sistemas, herramientas de gestión de proyectos, calidad de


software, empresas de desarrollo, administración de proyectos, coordinación de conocimiento.

Introducción
En la actualidad casi todos los países dependen de complejos sistemas informáticos, productos
electrónicos que incluyen una computadora y el software de control, la fabricación industrial y
distribución está completamente sistematizada, como el sistema financiero. Por lo tanto, producir

6
software que genere ganancias es esencial para el funcionamiento de la economía nacional e
internacional.

Con el crecimiento del desarrollo de sistemas, se presentaron proyectos de gran magnitud, los
cuales presentaron problemas en distintas etapas, causando retrasos en los proyectos, era
complicado calcular un presupuesto con facilidad, no podían realizar la medición del desempeño
de los desarrolladores, los costos de software se incrementan cada vez, por estas razones se
desarrollaron métodos y técnicas para controlar la complejidad de los sistemas y herramientas
que permitan registrar cada etapa del proyecto.

Existen muchas herramientas para la gestión de desarrollo de software, las cuales ayudan a
administrar proyectos en sus diferentes etapas, desde reuniones donde se definen los alcances del
proyecto, hasta el desarrollo del sistema, el versionamiento de código, estimación de tiempos, la
creación de tareas, la generación de reportes de estado del proyecto, de tal forma que se pueda
tener una visión clara del tiempo, costo y complejidad del proyecto. Por lo tanto es necesario
tener conocimiento de la configuración de herramientas para la gestión de proyectos y así tener
mejor organización en las diferentes etapas de desarrollo.

Este documento será el resultado de la investigación de cómo integrar las herramientas de Jira,
Confluence, Bitbucket, Trello y Timesheet, las cuales actualmente son las más usadas,
Confluence para la gestión de documentos del proyecto, Jira para la gestión de tareas, Bitbucket
para la gestión de código usando un determinado controlador de versiones, Trello y Timesheet
que son complementos de Jira, el primero para el manejo de tableros más amigables y el segundo
para el manejo de tiempos de desarrollo por tarea respectivamente. La integración de estas
herramientas permitirá gestionar el desarrollo de sistemas de una forma ordenada y clara, además
de realizar estimaciones más precisas para el desarrollo, controlar la calidad del sistema, obtener
presupuestos acorde a la magnitud de los proyectos y tener informado a cada área interesada
sobre el estado del desarrollo del proyecto.

7
1. Generalidades

1.1. Antecedentes Generales


En el siglo pasado numerosas áreas de tecnología han tenido progresos considerables, pero el
área que más se destaca es la Administración de proyectos. (Rapoza, 2005)

Aun cuando la experiencia en la administración de proyectos ha mejorado rápidamente, aún


existe la necesidad de poder administrar un número cada vez más grande de proyectos con
características variables, las cuales se encuentran en diferentes fases dentro de un ciclo de vida,
lo que hace que el reto crezca más. Las tendencias de competencias globales, reingenierías más
rápidas, cambios tecnológicos, incrementan la importancia de los procesos de administración.
Imaginemos que tanto el administrador de proyectos como el equipo de desarrollo pueda ser
temporal, se necesita una administración que continúe a pesar de los cambios de personal.
Haciendo referencia al desarrollo de software es posible mencionar que los proyectos no cuentan
con procesos de administración. Frecuentemente se retrasan o sobrepasan lo presupuestado
inicialmente, además, los clientes se muestran insatisfechos con la calidad de los sistemas. Es por
esto que las organizaciones de desarrollo de software buscan mejorar su desempeño
(Sommerville, 2016).

1.2. Antecedentes Específicos


En la actualidad ya existe una gran variedad de herramientas para la gestión de proyectos, las
cuales ayudan a tener más control sobre las distintas etapas de los proyectos.

Entre ellos podemos mencionar: Project Manager, Redmine, Forecast, Teamwork Projects, entre
un número extenso de otros sistemas para la gestión de proyectos.

El que se considera como uno de los más completos es la suite de Atlassian, que es una empresa
de software con sede en Australia, que desarrolla productos para brindar servicios para la gestión
de proyectos de las empresas, fue fundada el año 2002 en Sidney, Australia y en la actualidad
cuenta con más de 10 aplicaciones que ayudan a gestionar las distintas etapas de un proyecto,

8
además de contar con una sección de add-ons en la cual se puede integrar diferentes
herramientas, algunas de ellas libres (Atlassian, 2018).

Cada una de estas herramientas tiene una sección administrativa, donde se puede configurar un
sin número de opciones, las cuales llegan a realizarse dependiendo a la forma de trabajo de cada
empresa.

2. Metodología
Para el presente trabajo se utilizarán los siguientes métodos de investigación:

● Método Bibliográfico, debido a que se realizará la lectura y compilación de libros


relacionados al tema de estudio.
● Método Analítico, debido a que se procederá a revisar y analizar ordenadamente
documentos relacionados al tema de estudio, para la redacción de la monografía.

3. Integración de Confluence, Jira, Bitbucket, Timesheet y Trello para la


Gestión de Proyectos
Es posible integrar las diferentes herramientas de la suite de Atlassian y herramientas de software
libre externo configurando los mecanismos apropiados de integración en ambas.

Antes de empezar con la integración de estas herramientas, vamos a explicar primeramente


algunos conceptos básicos para poder entender el porqué es necesario tener herramientas para
gestionar proyectos.

3.1. Conceptos sobre la gestión de proyectos


A continuación se expondrá algunos conceptos que hacen referencia a la gestión de proyectos.

3.1.1. ¿Qué es un Proyecto?


Un proyecto es cuando se busca desarrollar un objetivo y se desea conocer cuál puede ser el
resultado final de materializar por ejemplo una idea, igualmente se desea dar respuesta a un
problema planteado, buscar posibles soluciones a un escenario desconocido, es buscar como de

9
forma organizada se puede llegar a un resultado que se dio en primera instancia por una
incógnita, una necesidad inicial, cuando se conoce el resultado se da fin a ese proyecto, y tal vez,
se puede empezar otro (Estrada, 2015).

Según se expresa en el libro Gestión de proyectos “un proyecto es una búsqueda de una solución
inteligente al planteamiento de un problema tendiente a resolver, entre tantas, una necesidad
humana" (Urbina, 2001).

Entonces se puede pensar en crear un objetivo e intentar visualizar de forma ordenada qué será,
qué pasará si ese objetivo se logra materializar en la práctica, es parte de una planeación
estratégica, por lo tanto, un desarrollo inteligente para identificar las necesidades por las cuales
se quiere empezar a trabajar y con ello enfocar los esfuerzos para llevarlo a cabo y obtener un
resultado que genere un conocimiento mayor de lo que se quiere hacer.

3.1.2. Administración de Proyectos


Existen varias definiciones de la Administración de proyectos, a continuación, se muestran
algunas:

De acuerdo con una enciclopedia en línea, la administración de proyectos es la disciplina que se


encarga de definir y alcanzar objetivos optimizando el uso de recursos: tiempo, dinero, la gente,
espacio, etc. (Project Management Software, 2018).

Podemos definir la Gestión de Proyectos como el proceso de planificación, manejo de tareas y


recursos con el fin de cumplir con los objetivos definidos para la implementación de un proyecto
nuevo en la empresa, y la comunicación permanente del progreso y avances de sus resultados
(Gestión de Proyectos, 2008).

Es por eso que la configuración de estas herramientas ayudará a gestionar proyectos de manera
ordenada y alcanzar los objetivos con claridad.

3.1.3. Proceso de Administración de Proyectos


El proceso de administración de proyectos recibe como entradas o es afectado por (Dixon, 2018):

10
● Necesidades y requerimientos del proyecto a desarrollar (alcance).
● Límites establecidos en tiempo, costo, calidad, desempeño requerido, aspectos legales,
etc.
● Mecanismos para lograrlo entre los que están: personas, técnicas, herramientas, equipo y
organización.
En base al desempeño de dicha Administración se entregan productos o servicios como salida,
ver Figura 1.

Figura 1. Proceso de Administración de Proyectos.


Fuente: (Dixon, 2018)

3.1.4. Fases de la Administración de Proyectos


En la perspectiva tradicional, es posible distinguir 5 componentes de un proyecto (4 etapas más
el control) en el desarrollo de un proyecto (Project Management Software, 2018):

● Iniciación de proyecto
● Planificación de proyecto

11
● Producción de proyecto o ejecución
● Supervisión y control del Proyecto
● Finalización de proyecto o cierre.
No todos los proyectos pasarán por cada etapa ya que los proyectos pueden ser terminados antes
de que alcancen la finalización. Algunos proyectos probablemente no tienen la planificación y/o
el control. Y algunos proyectos pasarán por pasos 2, 3 y 4 varias veces (Project Management
Software, 2018).

3.1.5. Herramientas y Técnicas de Apoyo a la Administración de Proyectos


En esta sección se describen algunas iniciativas, marcos de referencia, y aplicaciones que surgen
como consecuencia de los cambios percibidos dentro de la Administración de Proyectos de
Software y que además complementan y dan soporte a las actividades que abarca. Dentro de
estas herramientas se encuentran algunas iniciativas en disciplinas como la administración de la
calidad y la administración del conocimiento. Finalmente, y como una última consideración a
estas soluciones e iniciativas, se analiza la posibilidad de adoptar herramientas de software por
parte de la organización.

La herramienta Confluence nos ayudará en las etapas, inicialización de proyecto y con la


supervisión y control del proyecto. Jira nos ayudará prácticamente con todas las etapas.
Bitbucket nos ayudará con las etapas de Supervisión y control del proyecto como Trello y
Timesheet.

3.1.6. Administración de la Calidad del Proceso de Desarrollo


Tal como se pudo observar anteriormente, el aspecto de calidad del proceso de desarrollo ha
tomado mayor importancia dadas las tendencias competitivas actuales. De la misma manera,
existen modelos de mejora de calidad como herramientas y marcos de referencia. Entre éstos se
encuentra la Mejora del Proceso de Software, el cual dentro de las iniciativas contemporáneas es
la más ampliamente utilizada para mejorar el desempeño de las organizaciones desarrolladoras
de software (Mathiassen, 2003).

12
La mejora del proceso de software (SPI de sus siglas en inglés: Software Process Improvement)
es una iniciativa de mejora de la capacidad de una organización, para proporcionar servicios de
calidad de una manera competitiva, el cual tiene una naturaleza cíclica y evolutiva que involucra
las siguientes actividades (Mathiassen, 2003).

Iniciación. Involucra el desarrollar planes, agendas, e infraestructura.

Diagnóstico. En esta etapa se evalúa el nivel de madurez actual de la organización para el


desarrollo de software.

Establecimiento. Diseño de proyectos de mejora en base a los resultados de la actividad


anterior.

Acción. Implementación de los proyectos de mejora de las prácticas de la organización

Aprendizaje. Revisión de las lecciones aprendidas durante el proceso.

Dicho modelo se puede observar de manera gráfica en la Figura 2 y es llamado IDEAL debido a
sus siglas en inglés (Initiating, Diagnosing, Establishing, Acting, y Learning).

Figura 2. Modelo Ideal para la SPI.


Fuente: (Mathiassen, 2003)

13
Esta iniciativa típicamente utiliza modelos normativos para medir (diagnosticar) las prácticas
actuales de desarrollo para servir de guía al momento de darle prioridad a las mejoras a
implementar. Uno de estos modelos es el Capability Maturity Model o CMM el cual consta de 5
niveles de madurez basados en áreas de procesos clave que pueden identificarse en cada nivel.
Dichos niveles pueden observarse en la Figura 3

Figura 3. Modelo de Madurez CMM.


Fuente: (Mathiassen, 2003)

En la práctica, hay bastante espacio para interpretar estos modelos y para complementarlos con
otros conocimientos, pero son herramientas actuales a estas preocupaciones actuales para
mejorar la calidad del proceso de desarrollo en este tipo de organizaciones (Mathiassen, 2003).

3.1.7. Administración del Conocimiento


Iniciativas como el SPI, además de conformar un proceso de mejora, conforma iniciativas para
crear y compartir el conocimiento generado a nivel organizacional entre diferentes individuos,
proyectos y departamentos (ya que se observa una etapa de aprendizaje) (Mathiassen, 2003).

14
Puesto que la ingeniería de software es una actividad de conocimiento altamente intensa y las
organizaciones necesitan constantemente adoptar nuevas tecnologías y mejorar sus prácticas, la
Administración del Conocimiento ha sido empleada con el objeto de transmitir estas prácticas y
experiencias (Mathiassen, 2003).

La administración del conocimiento consiste en codificar las experiencias y lecciones


aprendidas, para almacenar los objetos de conocimiento resultantes y reutilizarlos por medio del
uso de Tecnologías de Información, lo que permite a un gran número de personas buscar y
recuperar el mismo conocimiento sin ser necesario tener contacto con la persona que
originalmente lo desarrolló. Muchas herramientas de Software y Estrategias existen para la
administración del conocimiento actualmente, y el mismo SPI constituye una forma particular de
crear, compartir y administrar el conocimiento dentro de la organización si se puede implantar
adecuadamente (Mathiassen, 2003).

3.1.8. Aplicaciones de Software de apoyo a la Administración de Proyectos


El software de administración de proyectos, es un término que cubre muchos tipos de software,
incluso programación, asignación de recursos, software de colaboración, comunicación y
sistemas de documentación, que están acostumbrados al trato con la complejidad de proyectos
grandes (Project Management Software, 2018).

Las herramientas de software son requeridas para automatizar y facilitar la aplicación de la


metodología particular de la organización para la administración de proyectos. Esta metodología
incluye cómo se organiza para manejar sus proyectos, qué prácticas son necesarias para llevar a
cabo su administración y sus procesos, y además que requerimientos se tienen en relación con su
cultura organizacional (Levine, 2018).

Una vez que se determinan y documentan estas necesidades, es posible evaluar que aplicaciones
de software cumplen con dichos criterios y en base a esta evaluación realizar una selección
(Levine, 2018).

15
Las nuevas generaciones de herramientas de Tecnologías de Información de administración de
proyectos combinan las tres S’s: scope, scheduling y status. Es decir, herramientas para
administrar el alcance, la programación de tareas y el estado en que se encuentran. Por otra parte,
y a diferencia de las herramientas desarrolladas anteriormente, estas tienen la característica de
incorporar el poder de tecnologías basadas en Internet (Levine, 2018).

3.2. Confluence
Puesto que hoy en día trabajamos en entornos que requieren colaboración para la creación de
contenidos y gestión de equipos, para facilitar la comunicación y el trabajo en equipo se puede
decir que en nuestro entorno actual es primordial la comunicación, no solo cuando trabajamos en
diferentes ubicaciones, también cuando aun estando en la misma oficina tenemos que colaborar
en proyectos con personas de otros departamentos, más aún cuando no siempre disponemos de
tiempo para reuniones o surgen imprevistos que hacen que algunos proyectos se demoren y no se
ejecuten en la fecha prevista.

Confluence es software de colaboración en equipo. Escrito en Java y utilizado principalmente en


entornos corporativos, está desarrollado y comercializado por Atlassian. Confluence se vende
tanto como software de uso local como solución de servidor (Atlassian, 2018).

Con Confluence se puede crear notas de reunión, planes de proyectos, incluir recursos
multimedia y contenidos dinámicos. Crear espacios diferentes para que cada departamento o
equipo comparta la información y organize el trabajo de forma eficiente con un sistema bien
estructurado (Atlassian, 2018).

En la mayoría de los proyectos se da poca importancia a la gestión de documentos, pero


llegamos en un punto en que necesitamos tenerlos, con Confluence se puede llegar a realizar
estos documentos de forma fácil.

3.2.1. Creación de páginas y espacios


En Confluence el contenido se organiza en espacios y dentro de ellos creamos páginas. La
organización es jerárquica, partiendo por una página home o inicial y bajo la cual se ubican las

16
páginas que representan el contenido de un proyecto: requerimientos y documentos técnicos,
agenda de compromisos, reuniones, acuerdos, bitácora de proyecto, etc. (Atlassian, 2018).

Figura 4. Creación de páginas en Confluence.


Fuente: (Sistel, 2018)

Con Confluence podemos definir también plantillas, de manera de que los espacios y las páginas
que creamos sean homogéneas y comparten un origen común: la plantilla.

Figura 5. Tipos de plantillas en Confluence.


Fuente: (Sistel, 2018)

17
Otras virtudes de Confluence que lo hacen muy conveniente para el manejo documental de los
proyectos son:

● Control de acceso y edición de espacios y páginas.


● Customizable vía macros y add-ons.
● Manejo de versiones.
● Capacidad de búsqueda dentro del contenido (sean páginas o adjuntos tipo MS Office o
PDFs).
● Edición de contenido, muy similar a un editor de MS Word.

3.2.2. Plantilla de Proyecto


Para la integración con JIRA, definimos los siguientes objetivos:

Contar con una plantilla de espacio de proyecto, con una estructura de páginas que representan el
contenido del proyecto.

Contar con una ficha de proyecto, que es una página del espacio con una vista resumen del
contexto y estado del proyecto.

Integrar la ficha con JIRA, de manera de que los datos del proyecto (estado y fechas relevantes
principalmente) se actualicen automáticamente en la ficha, sin necesidad de edición manual.

Figura 6. Ejemplo de configuración de página en Confluence.


Fuente: (Sistel, 2018)

18
3.2.3. Ficha de proyecto
Es la página del espacio que resume los objetivos, estado y eventos relevantes del proyecto, Aquí
la tabla Resumen se actualiza automáticamente a partir de la integración que se define entre
JIRA y Confluence dado el identificador del correspondiente proyecto JIRA (REQ-216). El jefe
de proyecto solo actualiza las otras secciones de la ficha.

Figura 7. Ejemplo Ficha de Proyecto en Confluence.


Fuente: (Sistel, 2018)

3.2.4. Minuta de reuniones


Todos los proyectos conllevan reuniones. Para que estas sean realmente efectivas, debemos
llevar un registro de sus compromisos. En este caso todas las minutas de reunión se crean a partir
de una plantilla de página y se guardan bajo Minutas Reunión.

19
Figura 8. Ejemplo de creación de una minuta de reunión en Confluence.
Fuente: (Sistel, 2018)

3.2.5. Arquitectura
En el desarrollo de software también es necesario tener definido los flujos de trabajo o mockups
que en una reunión se pueda definir y documentar, de esa forma tener un respaldo de las
reuniones realizadas y las decisiones tomadas.

Confluence nos permite integrar herramientas externas, que pueden ser de utilidad para este
propósito, en la sección de marketplace, en este caso como ejemplo podríamos agregar la
herramienta draw.io, que sirve para el diseño de flujos, gráficos, mockups para web o mobile,
etc.

20
Figura 9. Agregación de la herramienta Draw.io en Confluence.
Fuente: (Atlassian, 2018)

Y así poder seleccionar las diferentes opciones que nos ofrece draw.io

Figura 10. Opciones herramienta Draw.io.


Fuente: (Atlassian, 2018)

21
3.2.6. Reportes
Se puede insertar en las páginas reporte por medio de macros, seleccionando insertar macros y
reportes.

Figura 11. Lista de macros disponibles en Confluence.

Fuente: (Atlassian, 2018)

Los reportes que pueden ser agregados son las que muestren el estado de las tareas de Jira,
siempre y cuando esté conectado con Jira, por ejemplo, el reporte de tareas, que indica las tareas
de un determinado sprint en jira, el usuario responsable de realizarla, la fecha de asignación, el
usuario que creó la tarea, el estado y la fecha de finalización.

22
Figura 12. Ejemplo de reporte de tareas Confluence.
Fuente: (Atlassian, 2018)

3.3. Jira
Jira nos permite planificar proyectos, brindando varias opciones para los diferentes procesos de
trabajo de las empresas.

JIRA es una herramienta en línea para la administración de tareas de un proyecto, el seguimiento


de errores e incidencias y para la gestión operativa de proyectos. La herramienta fue desarrollada
también por la empresa australiana Atlassian. Inicialmente Jira se utilizó para el desarrollo de
software, sirviendo de apoyo para la gestión de requisitos, seguimiento del estado de desarrollo y
más tarde para la gestión de errores. Jira puede ser utilizado para la gestión y mejora de los
procesos, gracias a sus funciones para la organización de flujos de trabajo (Atlassian, 2018).

Es una solución de planificación de proyectos o de gestión de entornos colaborativos que


optimiza la productividad de los equipos de trabajo. Puede utilizarse como un software de
gestión de tareas cuando se necesita una estructura, agrupación y flujo de trabajo determinado
(Atlassian, 2018).

De forma nativa, puede llevarse un registro de horas sobre las tareas y su gestión suele hacerse a
través de paneles kanban o gráficos de gantt. Soporta plugins que permiten expandir sus
capacidades.

23
Jira está diseñado para que todos los miembros del departamento puedan planificar su trabajo
diario creando historias de usuario, incidencias o asignando tareas y subtareas a los miembros de
un determinado equipo.

Supervisa y analiza el trabajo de todo el equipo, creando informes con los que mejorará el
control y rendimiento del departamento con datos visuales en tiempo real.

A continuación se explicará las opciones que nos brinda.

3.3.1. Creación de proyectos e incidencias


Lo principal en Jira es la creación de proyectos, una vez instalada la aplicación en la parte
superior del menú se puede visualizar el menú Proyectos, creamos un nuevo proyecto y nos
muestra una lista de opciones para el modo del proyecto. Son 3 tipos de proyectos: para el
desarrollo de un software, para servicios de soporte, para la gestión de proyectos diferentes de un
software. Las opciones para un proyecto de desarrollo de un software son: usando la metodología
Scrum, kanban o un flujo de desarrollo básico. A continuación, se ingresa un nombre al
proyecto.

Figura 13. Tipos de proyectos en Jira.


Fuente: (Atlassian, 2018)

Una vez el proyecto está creado, se puede crear incidencias que pueden ser de tipo:

Epic: Que son tareas grandes, que deben ser subdivididas.

Story: Es un tipo de problema para una historia de usuario.

24
Task: Es una tarea que debe ser realizada.

Bug: Una tarea o un problema que rompe el funcionamiento del sistema.

Inprovement: Una mejora a una tarea ya existente

New Feature: Una funcionalidad nueva del sistema

Sub-task: Es una sub tarea de una tarea más grande.

Figura 14. Tipos de tareas Jira.

Fuente: (Atlassian, 2018)

Estas tareas tienen prioridades, como se muestra en la figura 15:

Figura 15. Prioridades en Jira.


Fuente: (Atlassian, 2018)

Highest: Este problema bloqueara el progreso

High: Un problema serio que puede bloquear el progreso

Medium: Tiene el potencial de afectar el progreso

Low: Problema menor o fácil de solucionar

25
Lowest: Problema trivial con poco o ningún impacto en el progreso

3.3.2. Backlog y creación de Sprint


Jira, contiene una sección Backlog, que es una lista de tareas por realizar. También contiene una
opción para crear un nuevo sprint, la cual divide en una nueva sección donde se pueden arrastrar
las tareas que si van en el sprint e iniciar el mismo.

Figura 16. Backlog y creación de Sprints.


Fuente: (Atlassian, 2018)

3.3.3. Estimación de tiempos


Cada tarea puede ser estimada de diferentes formas, estas pueden ser configuradas en la sección
de configuración de Tableros, en la pestaña Estimaciones.

Puntos de Historia: Los puntos de historia son una unidad de medida para expresar una
estimación del esfuerzo general que se requerirá para implementar completamente un ítem de
acumulación de producto o cualquier otro trabajo. Cuando estimamos con puntos de historia,
asignamos un valor de punto a cada elemento.

Estimación de tiempo original: Son las estimaciones que pueden ser en minutos, horas o días.

26
Cantidad de Tareas: No se registra un tiempo o un peso, se evalúa solo por la cantidad de
tareas realizadas en el sprint.

3.3.4. Pizarras
Una vez iniciado el sprint, aparece en la opción sprints activos el siguiente tablero, donde se
listan las tareas por estados, dependiendo al flujo de trabajo que tiene cada empresa, en el
ejemplo vemos que tienen los siguientes estados:

Todo: Son las tareas que aún no se iniciaron en el desarrollo

In progress: Son las tareas que se están desarrollando.

In review: Son las tareas que ya culminaron el desarrollo y se encuentran en revisión.

Done: Son las tareas terminadas, revisadas y aprobadas.

Figura 17. Tablero Jira.


Fuente: (Atlassian, 2018)

Este tablero puede ser configurado dependiendo a la forma de trabajo de cada empresa, para tal
caso, existe una sección en el menú “Boards”, ingresamos a “All boards”, en la lista de tableros,

27
se puede configurar cada una de ellas, en la sección de columnas se puede agregar más columnas
o quitar.

Figura 18. Configuración Tableros Jira.


Fuente: (Atlassian, 2018)

En estos tableros también se pueden configurar triggers, una vez conectado con Bitbucket, para
que automáticamente las tareas se muevan en el tablero y cambien de estado.

Figura 19. Configuración de Triggers Tableros Jira.


Fuente: (Atlassian, 2018)

28
La configuración normal de los triggers seria, claro que esta puede variar dependiendo a la forma
de trabajo de cada empresa:

In progress: Cuando se realiza la creación de una rama o un pull request se reabre o se rechaza

In Review: Cuando un pull request se crea

Done: cuando un pull request es unido.

Figura 20. Ejemplo opciones de Triggers Tableros Jira.


Fuente: (Atlassian, 2018)

3.3.5. Reportes de jira


Una vez culminado el sprint o en el transcurso, Jira cuenta con una lista de reportes que pueden
ser generados para visualizar el avance del proyecto, analizar la eficiencia del desarrollo, los
retrasos o sobreestimaciones de las tareas, etc.

29
Figura 21. Lista de reportes disponibles en Jira.
Fuente: (Atlassian, 2018)

Como ejemplo tomaremos los siguientes reportes:

3.3.5.1. Reporte Burndown Chart


Sirve para realizar un seguimiento del trabajo total restante y así poder proyectarse a la
probabilidad de alcanzar el objetivo de sprint. Esto ayudará a un equipo a gestionar su progreso y
responder en consecuencia.

Figura 22. Ejemplo de reporte burndown chart Jira.


Fuente: (Atlassian, 2018)

30
3.3.5.2. Reporte de Sprint
Este reporte sirve para comprender el trabajo completado o retrasado en cada sprint. Esto ayuda a
determinar si un equipo está comprometido en exceso o si hay un aumento excesivo del alcance.

Figura 23. Ejemplo de reporte Sprint.


Fuente: (Atlassian, 2018)

3.3.5.3. Reporte Time Tracking


Muestra las estimaciones de tiempo original y actual para problemas en el proyecto actual. Esto
puede ayudar a determinar si el trabajo está bien encaminado para esos problemas.

Figura 24. Ejemplo reporte Time Tracking.


Fuente: (Atlassian, 2018)

31
3.4. Timesheet
Timesheet nos da una visión más clara del trabajo que puede desarrollar un individuo, la
eficiencia de un equipo de desarrollo para que en las próximas iteraciones la planificación sea
más precisa.

Básicamente es una herramienta que permite rastrear en donde se está consumiendo el tiempo en
el proyecto, cuánto tardan las tareas y en qué tareas está trabajando cada recurso. La planilla
tiene el nombre del proyecto, el nombre de la tarea o un ID, el miembro del equipo del proyecto
a cargo de dicha tarea, la fecha en que la tarea se llevó a cabo, la duración, la hora o día de inicio,
hora o día de finalización, y el estado. Por supuesto que los datos pueden ser personalizados de
acuerdo al gusto del gerente del proyecto o de la organización, y en función del objetivo
principal para la cual fue establecida, por lo que es posible que necesite información adicional
para los propósitos en el proyecto. Pero los elementos mencionados más arriba son los más
básicos de alto nivel. En definitiva, Timesheet es un parte de horas, un método para registrar la
cantidad de tiempo que cada trabajador ha dedicado a cada tarea del proyecto (Tempo
Timesheet, 2018).

Lo más importante es que mucha información respecto del estado actual del presupuesto se
construye justamente con dicha herramienta.

A continuación se explicarán las bondades de esta herramienta.

3.4.1. Registro de horas de trabajo


Para trabajar Jira con Timesheet se debe activar el add-on de timesheet que se encuentra en la
lista de los productos de marketplace, una vez activada, aparece en el menú la opción Tempo,
con una lista de submenús.

Entre ellas está la opción Tracker, que sirve para iniciar el contador de tiempo que corre mientras
estamos realizando la tarea, este tiene un botón de pausa o stop para parar cuando dejemos de
trabajar en la tarea y reportar lo realizado en ese intervalo de tiempo, esta opción sería el registro
de horas de trabajo en tiempo real.

32
Figura 25. Ejemplo de registro de horas de trabajo.
Fuente: (Tempo Timesheet, 2018)

En la opción Timesheet, se puede visualizar un cuadro de horas realizadas por día, por tarea, para
tener un mejor control diario en que tareas el desarrollador se ocupó y cuánto tiempo le tomó
realizar la tarea, desde esta interfaz también se puede registrar horas de trabajo haciendo clic en
la opción Log Work.

Figura 26. Registro de horas de trabajo desde Timesheet en Jira.


Fuente: (Tempo Timesheet, 2018)

33
También se puede ingresar a la opción Worklog Calendar, desde donde se puede visualizar en la
sección derecha la lista de tareas por hacer, que contiene filtros muy útiles para ver las tareas que
requerimos, con simplemente arrastrar al día correspondiente, nuevamente se puede registrar las
horas trabajadas.

Figura 27. Registro de horas desde el calendario de Timesheet.


Fuente: (Tempo Timesheet, 2018)

Con Timesheet, podemos tener distintas formas de organizar nuestro trabajo.

3.4.2. Reportes Timesheet


En el mismo menú del tracker tenemos la opción de Reportes donde encontramos una lista de
opciones para generar reportes, por usuario, por equipo, por tarea, por proyecto, a partir de filtros
de jira, en las cuales nos genera un reporte de tareas con sus respectivas horas por día realizadas
en cada una de ellas.

34
Figura 28. Reportes de Timesheet.
Fuente: (Tempo Timesheet, 2018)

3.5. Trello
Trello da mayor visibilidad a las tareas al integrarse con Jira, Confluence y Bitbucket,
permitiendo a cada desarrollador organizarse individualmente con tareas extras que puedan
presentarse diariamente, las cuales no son necesarias pasarlas por una planificación, simplemente
como recordatorios o apuntes de algo que debe revisar.

Es una aplicación que sirve para gestionar tareas permitiendo organizar el trabajo de forma
colaborativa mediante tableros virtuales compuestos de listas de tareas en forma de columnas.
Con esta aplicación se intenta mejorar las rutinas de trabajo en equipo generando avisos para
organizar un proyecto en el que colaboran varias personas de manera más visual (Trello, 2018).

35
Figura 29. Visualización tableros Trellos.
Fuente: (Trello, 2018)

Trello se puede integrar con Jira, Bitbucket y Confluence, por medio de los Power-up de Trello,
activando el Conector de Trello para la aplicación Jira Server.

Figura 30. Configuración Conexión con Trello en Jira.

Fuente: (Atlassian, 2018)

Una vez activado el conector, en Trello se debe activar el Power-up.

36
Figura 31. Configuración Power-Ups en Trello.
Fuente: (Trello, 2018)

Conectado a Jira, se puede ver las tareas de Jira, el estado en la que se encuentran, la prioridad
y el responsable de la incidencia (Atlassian, 2018).

Conectado a Bitbucket, se puede añadir ramas, pull request a las tarjetas de Trello, las cuales
nos mantendrá actualizados, con las revisiones y observaciones escritas en cada rama (Atlassian,
2018).

Conectado a Confluence, se puede crear nuevas páginas, ver quienes crearon algunas páginas y
cuando (Gestion de Proyectos, 2008).

3.6. Bitbucket
Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizan el sistema
de control de versiones Mercurial y Git. Bitbucket ofrece planes comerciales y gratuitos.

Esta herramienta ayuda al control de código de cada tarea realizada, supervisa y controla también
los avances del proyecto, por los commits realizados diariamente y pull request, que se explicará
a continuación.

37
3.6.1. Creación de Ramas
Para una mejor organización de las revisiones de las tareas, se debe crear una rama por cada tarea
del proyecto, está sacada de la rama principal.

La rama Master, es donde se encuentra la versión de producción.

La rama Development, es donde se encuentra la versión nueva pero que puede estar en el ciclo
de pruebas o puede sufrir alguna modificación antes de subirse a producción.

La rama Versión, es la raíz de una nueva versión en desarrollo, desde donde se deben sacar las
ramas por tarea, una vez aprobada la rama, estas ramas de tareas son unidas a la raíz para la
integración continua y donde se realiza las pruebas integrales una vez terminado el ciclo de
desarrollo.

Figura 32. Estructura de ramas para versionamiento.


Fuente: Elaboración propia.

Estas ramas pueden ser creadas de varias formas:

38
Desde Bitbucket: Ingresando al proyecto correspondiente, en las opciones de la barra lateral
izquierda, se encuentra la opción de crear rama,

Figura 33. Creación de ramas desde Bitbucket.


Fuente: (Atlassian, 2018)

Se debe seleccionar la rama padre, el repositorio, el tipo de rama, pero lo más importante para
mantener relacionado los 5 sistemas es que el nombre debe empezar con el id del ticket de jira.

Figura 34. Selección de rama padre.


Fuente: (Atlassian, 2018)

Desde Jira: Seleccionando la tarea que se va a realizar, en el panel derecho muestra la


descripción de la tarea, en la parte inferior indica un enlace “Crear rama”, que abrirá la opción de
seleccionar en qué proyecto de Bitbucket, que rama y que tipo de tarea es la que se realiza, por
defecto sugiere un nombre, que tiene el id de la tarea a realizar que es única para todos los
sistemas de gestión, Bitbucket, Jira y Confluence.

39
Figura 35. Creación de rama desde Jira.
Fuente: (Atlassian, 2018)

Desde Trello, al integrar Tello con Bitbucket, se puede activar la siguiente configuración para
constantemente tener informe del estado de la tarea, si existe una rama creada a partir de esta
tarea también muestra un icono de rama, si está en progreso, se marcará una barra de progreso de
color rojo, si tiene un pull request, aparece un icono de pull request, toda esta información se ve
en jira, pero en Trello es más visual.

40
Figura 36. Creación de ramas desde Trello.
Fuente: (Trello, 2018)

3.6.2. Pull Request


Los pull request son muy importantes al momento de la integración continua, hay dos puntos que
se deben revisar antes de aprobar una rama.

Revisión de código, para identificar la lógica que se empleó para desarrollar la tarea, en este
punto podemos identificar código sucio, redundancia de datos, código sin las convenciones
adecuadas, código no óptimo, etc.

Revisión de funcionalidad, si estos dos puntos son correctos, entonces se debe proceder con la
aprobación y posterior unión de la rama de la tarea a la rama principal de la versión en curso.

41
Conclusiones

La apropiada integración de las herramientas de Atlassian más Trello y Timesheet como


complementos, ayuda en gran manera a la gestión de proyectos, el uso correcto de los parámetros
en cada sistema, la variedad de funciones y complementos son los que hacen que estas
herramientas sean más potentes para administrar proyectos.

El tener herramientas de gestión para cada etapa y proceso del desarrollo de un proyecto,
permite visualizar los alcances del proyecto, conocer los recursos y el tiempo necesario para
desarrollarlos, optimizando así cada recurso asignado al proyecto.

Haciendo uso de la herramienta de Confluence facilitamos la comunicación entre las distintas


áreas del proyecto, mantenemos toda la información de las decisiones y acuerdos realizados entre
las áreas involucradas, teniendo centralizada la información en un solo lugar de manera
organizada y completa.

Jira por su parte, en el manejo de las iteraciones y tareas del proyecto, acomodándose a las
diferentes formas de trabajo que una empresa pueda implementar, ayuda a la supervisión de los
tiempos y esfuerzos realizados en el proyecto, informándonos de forma clara y simple los
avances del proyecto, este integrado a Confluence y Bitbucket, se convierte en el centro de la
planificación y ejecución de los proyectos.

El complemento de Timesheet, integrada a la herramienta de Jira, hace más potente a esta


herramienta, aumentando opciones a Jira, para la medición de tiempos reales de desarrollo de
cada tarea, de esa forma controlamos el trabajo de las personas diariamente, impulsando así
llegar a nuestros objetivo constantemente.

En el desarrollo de sistemas no siempre tenemos tareas de desarrollo de código como tal,


también se presentan otras circunstancias que no pueden ser medidas, Trello colabora a que estas
tareas extras sean agregadas a nuestro trabajo diario para ordenarnos y organizarnos de forma
individual.

42
Y por último pero no menos importante, Bitbucket, nos ayuda a la integración continua de las
diferentes tareas realizadas en el proyecto, que es algo muy importante para el monitoreo de
control de calidad, donde las tareas terminadas deben pasar por una etapa de revisión tanto de
código como de funcionalidad, haciendo que todo lo desarrollado salga con una cantidad más
reducida de bugs.

43
Bibliografía

Estrada, J. (2015). Análisis de los estándares internacionales más utilizados en la gestión de proyectos.
Buenos Aires.

Gestión de Proyectos. (2008). Malaga: Vertice.

Mathiassen, L. &. (2003). Journal of Knowledge Management.

Rapoza, J. (2005). Good ol' project days. EWeek.

Sommerville, I. (2016). Software Engineering. Inglaterra: Pearson.

Urbina, B. (2001). Gestión de Proyectos. España.

Páginas web

Atlassian. (9 de Septiembre de 2018). es.atlassian.com. Obtenido de https://es.atlassian.com/company

Dixon, M. (9 de Septiembre de 2018). Project management body of knowledge. Obtenido de


http://www.apm.org.uk

Levine, H. (9 de Septiembre de 2018). Project Management. Obtenido de


https://it.toolbox.com/tags/project-management

Project Management Software. (09 de Septiembre de 2018). Obtenido de


https://en.wikipedia.org/wiki/Project_management_software

Sistel. (09 de Septiembre de 2018). Obtenido de https://www.sistel.es

Tempo Timesheet. (09 de Septiembre de 2018). Obtenido de https://www.tempo.io

Trello. (09 de Septiembre de 2018). Obtenido de https://trello.com/

44