Las herramientas de gestión de proyectos nos proporcionan utilidades para el seguimiento de hitos, tareas, incidencias, notificaciones, calendario, repositorios, y mucho más, dependiendo de cada plataforma. Cuando vamos a seleccionar una herramienta debemos evaluar las necesidades de nuestro proyecto, el tamaño del equipo que forma el desarrollo, y también el cliente final, ya que, si necesitamos comunicación directa de los avances del proyecto deberemos decidir cual es la mejor herramienta en función del cliente.
En esta publicación vamos a comentar algunas de las herramientas más conocidas y analizar que nos puede aportar y que no cada una para la gestión de proyectos, en mi caso sobre todo software, aunque como veremos que estos programas también los podemos utilizar para otro tipo de proyectos donde necesitemos definir unos hitos y unos objetivos que cumplir ya que, por ejemplo, utilizando los diagramas de Gantt que incorpora Redmine podemos hacer un buen seguimiento de los mismos,…
A la hora de analizar los programas de gestión de proyectos nos fijaremos en una serie de utilidades generales para evaluar como es el funcionamiento de cada una, analizando la usabilidad, el manejo de tareas, los avisos, si tienen o no calendario o diagramas de Gantt,… , estas son las principales que tendré en cuenta:
- Gestión de usuarios: es fácil de manejar los usuarios, las funciones de añadir, eliminar y administrar la autoridad de los mismos es ágil y sencilla, cubre nuestras necesidades.
- Gestión de tareas : fácil de añadir, modificar, eliminar y discutir acerca de las tareas y los problemas, se pueden añadir tareas y cuestiones por correo electrónico. La visualización es las tareas es buena, podemos editarlas para añadir títulos, marcas, …
- Utilidades de seguimiento: tiene un diagrama de Gantt y un calendario para permitir miembro de ver todos los proyectos y tareas de un solo vistazo.
- Documentación: tiene utilidades para la documentación de los proyectos como una Wiki, gestión y aportación de documentación,…
- Búsquedas: es importante que el buscador sea eficiente, y que permita hacer diferentes tipos de búsquedas y filtrados a los usuarios.
Al seleccionar una herramienta de gestión de proyectos debemos evaluar las necesidades de nuestro proyecto, el tamaño del equipo, que tipo de desarrollo implica y también el cliente final.Código Xules
Herramientas que analizaremos
1. TRAC
Trac es una herramienta orientada a gestión de proyectos de desarrollo software, que nos proporciona un sistema de seguimiento de incidencias y tareas que podremos agrupar por proyectos, con un sistema wiki como base para toda la creación de tareas y documentación.
Es software libre con un enfoque sencillo (minimalista según los propios creadores) desarrollado con Python para la web , para obtener una visión de lo que es Trac puedes visitar su web ya que ella misma está echa con Trac, donde podrás ver las incidencias de su proyecto y su estado.
Trac proporciona integración con los software de gestión de repositorios con Subversion y Git, además, proporciona visualización para nuestras actualizaciones de los proyectos, lo que nos va a permitir relacionar las tareas o incidencias con las actualizaciones del proyecto que las implementa o corrigen.
La versión actual Trac 1.0 muestra una madurez del proyecto incorporando mejoras en el propio software como en los nuevos plugins entre ellos un sistema de Blog y diagramas de Gantt, algo que se echaba de menos en la versión anterior ya que la visión temporal era insuficiente y poco visual para ver el estado del proyecto en una misma línea temporal.
Trac es una herramienta orientada a gestión de proyectos de desarrollo software que permite integrar sistemas de control de versiones, proporciona un sistema de Blog completo y diagramas de Gantt entre otras utilidades.Código Xules
Características
Ya hemos ido nombrando algunas características de Trac, a continuación, nos centramos en las más significativas e importantes.
- Soporta múltiples proyectos: en una misma plataforma puedes definir varios proyectos, no es necesario crear una nueva instalación para cada uno.
- Gestión de usuarios avanzada: la gestión de usuarios es bastante avanzada, permitiendo adaptarla a nuestras necesidades, en la documentación econtrarás explicaciones bien detalladas de la gestión de login, como de permisos.
- Informes estándar y personalizados: esto es algo que me gusta mucho, ya que con Trac Reports podemos personalizar o crear nuestros propios informes de forma sencilla.
- Tareas: la definición de tareas en Trac es sencilla, y se denominan tickets, podemos definir los valores generales de usuario, título, asignar la incidencia,… , los diferentes valores estáticos son personalizables en la administración, la descripción de tareas la hacemos usando el formato Wiki, también proporciona un menús con las opciones básicas.
- Seguimiento en línea de tiempo: el seguimiento temporal en Trac es básico, es un parámetro que definimos en los tickets (tareas), en cada proyecto disponemos de informes que nos permiten hacer diferentes tipos de ordenación por tiempo, importancia de la tarea, …, con el plugin de diagramas de Gantt añadimos una nueva visión general de los proyectos.
- Wiki: el sistema de documentación es muy flexible ya que nos permite con su sistema Wiki ir creando y enlazando fácilmente la documentación.
- Seguimiento temporal
- Soporte multiidioma
- Soporte de instalación en diferentes bases de datos (MySQL, PostgreSQL, SQLite, …)
- Integración sistemas de control de versiones (Subversion, CVS, Git, ..): permite integrar la documentación y cambios en los proyectos software asociados al proyecto, fácilmente podemos definir si algún cambio soluciona o mejora un ticket con una simple referencia al mismo al reportar la información en las observaciones al cambio
- Notificaciones por correo electrónico: podemos configurar fácilmente el aviso de tareas asignadas vía email, así cuando cambian de estado.
- Sistema de Blog: como puedes en la documentación Trac incorpora un sistema completo de Blog, como puedes ver en la imagen.
- Documentación: desde la página de guía: Trac Guide tenemos acceso a toda la documentación bien detallada de todo lo que necesitas para: instalar, personalizar, plugins, actualización, configuración, administración, backup, …
Ejemplo sencillo
Para ver un ejemplo de Trac vamos a usar unos simples pantallazos de su propia web que está basada en este software.
Para ello si accedemos a la gestión del proyecto Trac en primer lugar nos encontramos una Wiki herramienta disponible por defecto, toda la documentación y incidencias utilizan este formato, en la imagen puedes ver la presentación de su proyecto en su Wiki:
Como puedes ver en la imagene en el menú encontramos las siguientes entradas:
- Wiki: su integración nos permite documentar el proyecto y establecer relaciones con las incidencias abiertas.
- Eventos: aquí tenemos la línea temporal del proyecto, con diferentes filtros podemos ver las tareas resueltas, las nueva, …
- Progreso: organizados por hitos tenemos acceso a la visualización del estado del proyecto, pudiendo ver por cada hito el número de tareas realizadas, pendientes,…, así como la fecha de finalización.
- Hojear fuentes: si integramos un sistema de control de versiones como CSV, Git o Subversion será aquí desde donde tendremos acceso al código fuente, la integración se hace desde la entrada de menú Administración no visible en este ejemplo
- Ver incidencias: desde esta pestaña tenemos acceso a diferentes listados sobre las incidencias por ejemplo: Incidencias abiertas, Incidencias del usuario, …, también, podemos crear nuestros propios informes que aparecerían en este listado.
- Nueva incidencia: al crear una nueva incidencia tenemos una serie de campos definidos como son el título, la descripción, el hito en el que la incluimos, el usuario que la va a resolver, y algún parámetro más para identificar la tarea.
- Buscar: incorporá un sistema de búsquedas dentro del proyecto, muy importante cuando vaya creciendo el volumen de documentación e incidencias de nuestro proyecto.
- Administración: esta es una pestaña que no aparece, porque no la hacen pública, si hacemos nuestra instalación, será en esta opción donde accederemos a todas las opciones de configuración de Trac, desde nuevos hitos, tipos de incidencia, usuarios, permisos, …
Conclusión
Trac es una herramienta muy útil para equipos de desarrollo software independientemente del tamaño, su uso para usuarios poco avezados puede resultar algo compleja, aunque yo la recomiendo para cualquier tipo de usuario dentro del equipo. Otra cosa es si necesitamos comunicación directa con el cliente, este no es el punto fuerte de Trac, ya que de cara a un cliente final puede resultar complejo y poco útil utilizar este sistema, otras herramientas como Basecamp están más orientadas a estas necesidades como veremos.
2. REDMINE
Si conoces en primer lugar Trac verás que está influenciado por este software, esta herramienta para la gestión de proyectos se basa en un sistema de creación de peticiones que pueden ser definidos como nuevas características, mejoras, bugs, …, incorporando un sistema de seguimiento de finalización y cumplimiento de tareas. Redmine es un software libre y de código abierto desarrollado con el framework Ruby on Rails.
Algunas de las herramientas más destacadas que incluye son: calendario de actividades, diagramas de Gantt, wiki, foro, integración con control de versiones, control de flujo de trabajo basado en roles, integración con correo electrónico, RSS, etc…
Para un primer acercamiento a esta herramienta puedes consultar la web de Redmine ya que está desarrollada utilizando su propia herramienta de gestión de proyectos, esta es una imagen de la portada de su web:
Redmine es una gran herramienta para el seguimiento de proyectos que reúne todas las necesidades, y además, podemos aumentar su potencial con la incorporación o el desarrollo de pluginsCódigo Xules
Características
Algunas de las características de Redmine ya las hemos comentado vamos a desglosar aquí estas y algunas más:
- Soporta múltiples proyectos: en una misma plataforma puedes definir varios proyectos, no es necesario crear una nueva instalación para cada uno.
- Gestión de usuarios flexible: roles flexibles basados en control de acceso, soporte para el registro de usuarios.
- Seguimiento de tareas fácil: proporciona un sistema de seguimiento de errores, tareas, peticiones, …, que es ágil y flexible, a la par que fácil de manejar.
- Seguimiento en línea de tiempo: con la incorporación de diagramas de Gantt y calendario.
- Administración de documentación: proporciona gestión de noticias, documentos y archivos, así como una Wiki.
- Seguimiento temporal
- Soporte multiidioma
- Soporte de instalación en diferentes bases de datos (MySQL, PostgreSQL, SQLite, …)
- Integración SCM (Subversion, CVS, Git, Mercurial, Bazaar y Darcs)
- Feeds y notificaciones por correo electrónico
- Creación de peticiones vía email
- Personalización de las tareas: campos personalizados, proyectos y usuarios
Ejemplo sencillo
A continuación, sin necesidad de instalación vemos una serie de imágenes de la creación de un proyecto en Redmine realizado en la demo habilitada por Redmine.
Para empezar tenemos que registrar una cuenta de usuario, es un paso sencillo, una vez hecho esto en primer lugar tenemos que crear un proyecto, en la imagen puedes ver un ejemplo:
Una vez creado el proyecto ya podemos crear las peticiones, estás las podemos denominar inicialmente como bug, características (features) o soporte (support), como ya hemos comentado esto se puede personalizar, creación de una petición:
En la pantalla de visión general del proyecto puedes ver mi usuario Julio Yáñez Novo y el listado de las peticiones, donde de momento solo aparece la que hemos creado:
Para ver la actividad del proyecto tenemos la pestaña Actividad donde podemos ver las últimas modificaciones realizadas en el proyecto, como podemos ver en la imagen de momento solo aparece la petición creada:
RedMine nos proporciona una visión del proyecto en un diagrama temporal, en la imagen puedes ver una visualización del diagrama e Gantt:
Conclusión
En definitiva Redmine es una gran herramienta para el seguimiento de proyectos reúne todas las necesidades básicas, y además, podemos aumentar su potencia con la incorporación o el desarrollo de plugins, o mejorar su visualización con los diferentes temas disponibles, ya que en la versión clásica se hecha de menos una visualización general más actual.
Desde mi punto de vista es una herramienta ideal para equipos de trabajo que no necesitan una interacción muy activa con el cliente, ya sea porque es un proyecto independiente o porque, solo se presentan los resultados de los diferentes hitos alcanzados.
3. BASECAMP
Como veremos a continuación el funcionamiento y la orientación de Basecamp es diferente a la de los gestores de proyectos que hemos visto anteriormente, Basecamp permite separar totalmente la comunicación con el cliente, es decir, tendremos una comunicación completa con el cliente para registrar sus nuevas necesidades y requerimientos, pero separado del resto de tu proyecto, permitiendo que las tareas a realizar en el proyecto no sean visibles para el cliente, nunca verán nada que no deberían, dando al equipo una seguridad a la hora de trabajar.
Así, Basecamp destaca en su función de canal de comunicación con el cliente ya que permite generar conversaciones que se reciben y se pueden responder por vía correo electrónico o en la aplicación, esto hace que sean conversaciones dinámicas donde además podemos aportar documentación subiendo y compartiendo archivos.
Basecamp es una aplicación de pago, aquí puedes consultar sus precios Basecamp > Pricing que van inicialmente desde los 29$ por mes para versión interna de equipos, 79$ por mes para versión interna de equipos con integración de clientes, desde los 3000 $ por año tenemos las versiones para empresas. Para probar inicialmente la herramienta te puedes registrar en su web y acceder a varios ejemplos de proyectos, permitiéndote crear un proyecto propio, será a partir del segundo cuando te exigirán contratar un plan. En tres pasos de registro puedes acceder al gestores de proyectos:
Finalmente, la pantalla principal de Basecamp:
Características
Veamos ahora en detalle las características de Basecamp tanto como gestores de proyectos como comunicación con el cliente.
- Tareas pendientes: en la creación de tareas podemos añadir detalles, notas o archivos adjuntos, fácilmente podemos asignarlas a una o más personas y establecer un calendario de vencimiento
- Seguimiento de tareas: podemos acceder a varias vistas para ver nuestras tareas pendientes o el conjunto del proyecto, podemos organizar fácilmente las tareas pendientes en listas, así como perfilar y repartir trabajo por hacer, pudiendo cambiar fácilmente el orden de prioridad. Esto nos permitirá establecer fácilmente un calendario para el proyecto.
- Comnetarios: comentar directamente sobre las tareas y listas de tareas pendientes.
- Chats: para poder hablar con un grupo en tiempo real, cada Basecamp puede tener su propio chat de grupo. Esto nos va a permitir hacer preguntas rápidas, compartir inforación, adjuntar archivos, citas y ejemplos de código, de una forma ágil y rápdida.
- Documentos y Archivos: organizar documentos clave, archivos y activos; también nos permite vincular Google Docs, modificarlos y discutirlos. En esta parte hecho de menos una estructura estilo Wiki sobre todo para la documentación de proyectos software.
- Gestión de horarios: este es un punto fuerte de Basecamp ya que nos permite organizar de forma ágil horarios estableciendo plazos e hitos. Podemos añadir eventos en diferentes formatos horarios, adjuntar gente y enviar notificaciones. Estos horarios se puedes suscribir con Google Calendar, iCal o Outlook.
- Informes: los informes nos permiten ponernos al día con lo que su equipo está haciendo, comprobar los retrasos y estado de las tareas de forma sencilla
- Adaptación al móvil: tiene una versión adaptada al móvil, esto es un punto a su favor sobre todo en algunos proyectos.
Una de las carencias que encuentro desde el punto de vista de proyectos software es una integración sencilla con sistemas de control de versiones como Subversion, CVS o Git, ya que estás las tenemos que hacer con herramientas de terceros como Cloudpipes que permite una integración con GitHub.
Algunos ejemplos
Para ver unos ejemplos de como se muestran las diferentes características de Basecamp podemos registrarnos y trastear con algunos de los proyectos que trae por defecto, o incluso, crear uno nuevo desde cero o partiendo de otro ya existente.
La visualización de los mensajes la encontramos en el tablón de mensajes (Message Board):
Para acceder a la lista de tareas nos iremos a To-Dos:
Por último, un vistazo a la parte que menos me convence la gestión de la documentación y ficheros:
Conclusión
Encuentro Basecamp como una herramienta como una herramienta muy útil para proyectos en los que interactúas constantemente con el cliente, por ejemplo, en desarrollos de webs corporativas o tiendas online, no la utilizaría en proyectos íntegramente software donde me decantaría por alguno que facilitase la integración de versiones.
4. GITHUB
El primer acercamiento a GitHub viene porque es un sistema de control de versiones, debido a las utilidades que ha ido incorporando como una página web o una Wiki por proyecto podemos decir que se es una herramienta completa de gestión de proyectos.
Para los proyectos públicos es gratis sin importar el número, por esto y por su funcionamiento colaborativo es muy popular entre proyectos de software libre, si necesitas un repositorio privado para gestionar tu proyecto tendrás que pagar por ello, aquí puedes ver las tarifas Unlimited private repositories
GitHub is free to use for public and open source projects. Work together across unlimited private repositories with a paid plan.GitHub
Características
- Sistema de control de versiones: al contrario de las otras herramientas ya vistas, GitHub es ya en si mismo un sistema de control de versiones, donde podrás acceder a todas las versiones de tu código, hacer forks, …
- Página web: página web para cada proyecto.
- Wiki: integra una wiki para cada proyecto.
- Seguimiento gráfico del desarrollo del proyecto: pudiendo visualizar los desarrolladores, en que repositorios trabajan, las bifurcaciones del proyecto,…
- Seguimiento temporal: se echa de menos la integración con un diagrama de Gantt
- Seguidores: como está muy orientado a la promoción de los proyectos públicos, incorpora herramientas típica de una red social, como seguir a usuarios, marcar favoritos, …
- Software: es una herramienta orientada sobre todo a proyectos software.
Ejemplos de proyectos
En este caso no voy a mostrar un ejemplo, para empezar con GitHub y ver como sería su configuración solo tienes que echar un vistazo a su tutorial para empezar Hello World.
Como ejemplo de dejo unos pantallazos de dos proyectos de software libre que sigo habitualmente Spring Roo y GvNIX:
Conclusión
Si estás desarrollando un proyecto, necesitas que este sea visible, darlo a conocer y ayuda de otros usuarios está es tu herramienta, es la herramienta preferida hoy en día para el desarrollo colaborativo de proyectos de software libre, sus números así lo indican. También, si buscas alojamiento en la nube con un proyecto cerrado esta también es tu herramienta, si por lo contrario buscas una instalación local te aconsejaría que escogieses Trac o Redmine.
JIRA
JIRA Software es la herramienta de gestión de proyectos para equipos Agile, tal y como ellos mismos publicitan su herramienta en su web, Jira nos permite tanto un alojamiento en la nube como una instalación en nuestros servidores, para cada una hay diferentes precios y costes que puedes consultar en la tienda de Jira.
Si entras en la web de Jira verás que es mucho más que un gestor de proyectos ya que su elevado número de complementos la hacen una herramienta muy flexible y potente.
Jira es una aplicación web que nos proporciona todas las necesidades para la gestión de proyectos, desde seguimiento de errores, incidencias, administración de tareas, …, es una aplicación versátil que enfocada al desarrollo Agile proporciona también Tableros Scrum o Tableros Kamban, incorporando también informes que permiten ver en tiempo real el estado de los sprints.
Características
- Gestión de usuarios versátil: nos va a permitir sin problemas gestionar equipos pequeños de 10 personas a equipos de 10000, sus planes de contratación también están enfocados según estas necesidades, todas las necesidades están cubiertas.
- Planificación: nos permite crea historias de usuario e incidencias, planificar sprints y fácilmente distribuir tareas entre el equipo.
- Lanzamiento: está muy pensado para gestionar con seguridad equipos muy grandes por ello permite la definición de diferentes flujos de trabajo independientes a la hora de lanzar el software, todo esto acompañado siempre de la supervisión en tiempo real, que permite el análisis con total transparencia
- Creación de informes: tenemos disponibles informes para el seguimiento en detalle de la evolución del proyecto, pudiendo así mismo crear nuestros propios informes.
- Integración con sistemas de control de versiones:: nos permite la integración con múltiples sistema de gestión de versiones.
- Planificación Porfolio: nos permite dibujar un esquema detallado del desarrollo del proyecto elaborando una hoja de ruta incluyendo todos los desarrollos en función de los equipos disponibles permitiendo un seguimiento en tiempo real.
- Colaboración en tiempo real
- Integración continua
Solo he detallado algunas de las que me parecen más importantes, ya que Jira es muy completo y cubre un abanico de posibilidades muy alto.
Ejemplos de proyecto
Aunque es una herramienta orientada a equipos grandes que no te asuste probarla, desde Jira pruebas tenemos la posibilidad de analizar y ver como funciona con un proyecto real este software, a continuación te muestro los pasos para el registro hasta llegar a la pizarra.
En primer lugar nos registramos seleccionando la versión que queramos probar en Jira pruebas, a partir de ahí completamos el registro como se muestra en las imágenes:
Después de seleccionar un avatar para nuestro usuario y seleccionar el idioma accedemos a las opciones del Jira:
Ahora seleccionamos una opción para crear nuestro proyecto:
Seguimos los sencillos pasos de la instación y al finalizar accederemos a nuestro proyecto ya listo para utilizar:
Finalmente la pizarra del proyecto desde donde acceder a todas las funciones de Jira:
Conclusión
Si no tienes un equipo grande de desarrollo tus necesidades están cubiertas usando Trac o Redmine, por lo contrario para empresas grandes con múltiples desarrollos con posibilidad de inversión está es la herramienta ya que nos permite cubrir todas las necesidades de escalabilidad con un seguimiento en tiempo real de todos los desarrollos.
6. ALTERNATIVAS
Wrike
Es una herramienta de gestión de proyectos que funciona como un tablón con varias vistas, es bastante intuitivo, permite la gestión de usuarios y la creación de proyectos y tareas, así como la integración con algunas aplicaciones como Google Drive, Dropbox, Apple mail, …, las puedes consultar en Wrike apps.
Esta herramienta dispone de aplicaciones para Android y iPhone algunas de las características principales son:
- Usuarios
- Multi proyecto
- Discusiones
- Priorización de tareas
- Informes personalizados
- Gestión de tareas
- Flujo de actividad en tiempo real
- Diagrama de Gantt dinámico
Es una herramienta sencilla, con carencias para desarrollos software como por ejemplo la integración de los sistemas de control de versiones.
Puedes hacer un registro de forma sencilla para probarlo, una vez dentro te pedirá que seleccionas la versión que quieres probar: profesional o empresa, como se ve en la imagen:
Así, por último una imagen de la pantalla principal del gestor de proyectos Wrike:
Trello
Trello es una herramienta muy sencilla pero también muy básica, te puedes registrar con una cuenta de Gmail y acceder rápidamente a la creación de tableros, en la versión gratuita estás son las características más importantes:
- Tableros, listas, tarjetas, miembros, checklists, adjuntos, …
- Potenciadores básicos
- Integraciones básicas con Box, Drive y Dropbox
- Archivos adjuntos de hasta 10 MB
En las otras versiones puedes consultar aquí los precios incorpora integraciones con Evernote, Github, Google Hangouts, Mailchimp, Salesforce, Slack, Google Drive, Dropbox y más.
Está es una visualización de la pantalla principal del proyecto:
Documentación y enlaces
- Comparing 6 Project Management Tools: publicación en inglés donde analizan con Pros y Contras las herramientas: Redmine, Github, Basecamp, Trello, Wrike y Kickoff.
- Trac Project:
- Documentación Trac (inglés): desde esta página de documentación tienes acceso a toda la información que necesitas para: Instalar, personalizar, plugins, actualización, configuración, administración, backup, …
- JIRA: enlace a la web oficial de Jira Software desarrollado por la compañía Atlassian.
- Redmine wikipedia
- Redmine: web del software donde puedes descargarlo para su instalación.
- 4 funciones centrales de Basecamp: estas funciones se desglosan en coordinación y gestión de proyectos, canal de comunicaciones, registro de documentos y requerimientos, y por último, control de horas hombre.
- Explore GitHub
- GitHb personal
- GitHub en Wikipedia
- Conociendo GitHub, el servicio donde alojar tus repositorios Git
- Introducción a Git y Github
- ¿Que es Github?
- Ayuda de GitHub: aquí encontrarás la mayoría de las respuestas a tus dudas
- Ayuda de Trello
Todo proyecto tiene en primera fase el alcanzar unos objetivos que deben de ser revisados en todo momento por el seguimiento y control de proyectos para regular las posibles
desviaciones Ver mas en http://www.elephant-project.com/
En nuestra empresa usamos https://kanbantool.com Pudedo recomendar esta herramienta a todos. Es sencilla, intuitiva y ofrece una serie de funcionalidades que permiten mantener el control total de los proyectos. Es una herramienta muy práctica, porque obtienes una perspectiva más visual en el seguimiento de las actividades del proyecto .
Hola, un artículo muy interesante. Me gustaría recomendar https://kanbantool.com/es/ . Este tablero de control es fácil de usar y sirve para la gestión de proyectos. Además ofrece la posibilidad de colaboración en tiempo real. ¡Saludos!