Unfuddle, potencia y sencillez en gestión de proyectos

A estas alturas ya es sabido que tengo cierta obsesión por los gestores de proyectos. Para mí es una herramienta muy útil para organizar el trabajo, tanto en equipo como en solitario. He probado muchos programas de este tipo, online, instalados…. y desde hace unas semanas le tocó el turno a Unfuddle, tras la recomendación de César Sáiz.

Unfuddle me ha sorprendido mucho. Es bastante potente en cuanto a los datos que se pueden controlar, pero tiene un interfaz amigable y donde no se lían las cosas. De forma corriente, suele suceder que a más funcionalidades o refinamiento, más caótico es el manejo / disposición de los elementos en pantalla, así que unfuddle sin duda combina un excelente equilibrio en ese aspecto. Los tickets están bien organizados, tienes filtros, un dashboard… y es, en verdad, muy cómodo de manejar.

La estructura organizativa me parece de igual modo interesante, y lógica, aspecto en el que también pecan muchos gestores, por defecto o por exceso. Aquí tenemos N proyectos, a los que irán asociados M milestones o hitos. Cada hito, puede tener asociadas T tareas. Cada tarea, tiene una serie de datos, como la fecha de finalización, el tipo de tarea, prioridad, usuario asignado… Además, se pueden crear nuevos campos, así como definir sus valores. Y cada tarea, tiene asociado un estado (nuevo, aceptado, resuelto y cerrado) y es modificable y comentable, teniendo la posibilidad incluso de enlazar con otras tareas.

Más detalles que interesan,

  • El repositorio. De forma paralela al sistema de tickets, existe la posiblidad de utilizar el gestor de versiones, basado en subversion o en git. Por este último me ha dado, por innovar…
  • Mensajes. Para utilizar a modo de foro, por ejemplo…
  • Notas. Para tener controladas notas… datos a controlar en el futuro, datos de acceso…. como un sistema de notas de escritorio.
  • Gestión del tiempo: aunque no está controlado en la versión gratuita, se pueden asignar horas a tareas, para luego ver informes.

Y algunas cosas que mejoraría,

  • Las tareas llevan su propia fecha de finalización, pero es independiente de la fecha de finalización del hito. Así que si mueves tareas a otro hito, o si el hito en general lo aplazas, tienes que cambiar una a una la fecha de la tarea…
  • La sincronización con Google Calendar podría ser mucho más automática… exportar / importar ficheros es algo rústico…

En general, un excelente gestor. De las cosas malas está que la versión gratuita sólo es accesible por dos usuarios, aunque en comparación con otros servicios similares en la nube los planes no son demasiado caros. Desde luego por aquí, caerá una buena temporada de uso…

GQueues, gestión de tareas en Google Apps

Los gestores de tareas es un tipo de software que para mí tiene mucha importancia, pues siempre que los he utilizado la mejora de la productividad y organización ha sido considerable. Unos me parecían mejores, otros más completos, otros peores… pero todos tenían un problema común: la necesidad de tener un subdominio o ubicación diferente de la del correo. Cuando Google Apps lanzó la tienda de aplicaciones, no le presté mucha importancia, hasta hace algunas semanas que me puse a examinar la oferta existente….

Google Apps me parece un servicio muy útil. Tienes una especie de intranet (wiki mediante los Sites, documentos colaborativos mediante los Docs, el calendario corporativo…) dentro del mismo núcleo donde tienes el correo, así que a nivel operativo resulta muy atrayente tener todo ubicado en un mismo sitio. Y si además añadimos la posibilidad de tener un gestor de tareas también integrado en la plataforma…

GQueues es la primera app que probé. Es un gestor de tareas muy sencillo, con una interfaz muy amigable, y orientada al nuevo look de Google Apps. La versión lite, tiene bastante funcionalidad, aunque se puede quedar muy corta por el hecho de que no permite asignaciones (y, por tanto, aviso mediante emails de la asignación de nueva tarea a un usuario). Comentando más cosas,

Mola

  • Crear tareas y subtareas. Una tarea puede dividirse en partes más pequeñas asociadas a otros usuarios…. así que, ¡genial!.
  • Asignar etiquetas, para hacer filtros, búsquedas… o que quede más claro de qué va una tarea…
  • La versión de pago, integra perfectamente los hitos y fechas con el calendario de Google Apps
  • Hay colas y categorías, de tal manera que puedes tener una jerarquía y ordenar por proyectos y áreas, por ejemplo…
  • Drag & Drop de items, asignación de colores a categorías… la UX es muy buena.
No mola
  • No tener comentarios por cada tarea. El usuario puede marcarlas como realizadas, pero no se pueden hacer comentarios.
  • A los usuarios que invitas, no les puedes asignar un nick, viendo su correo. Ellos pueden cambiarlo, pero tú no puedes definirlo como admin
Ni fu ni fa
  • Se pueden realizar tareas colaborativas, para editar en tiempo real. Yo no le veo mucha utilidad, pero ahí está…
  • La velocidad podría mejorar. No es lento, pero tampoco inmediato, sobre todo aplicando filtros…
En resumen, para equipos pequeños y que no necesiten medir mucho las métricas (las tareas por ejemplo, no tienen un campo para horas estimadas o % completado) es una herramienta que me ha parecido muy buena. Simple, pero efectiva.

Diseñador, programador: dos roles

Muchas veces he comentado la importancia de contar con un diseñador (“game designer“) en cualquier proyecto, por indie que pueda ser, como rol que tome las decisiones principales en cuanto a las mecánicas, reglas o fundamentos del juego. Siempre es muy valorable que los miembros de un equipo den su opinión, pero el diseñador tiene la última palabra, descartando aquello que no encaje, adaptando ideas… en definitiva, siendo el “jefe” en el área de diseño.

Sin embargo, en equipos muy pequeños, o incluso en proyectos llevados por una misma persona, la figura del diseñador queda algo difusa si coincide con el programador. Es decir, que diseñador y programador sean la misma persona. En este caso, se suelen “fundir” demasiado los roles y relajar los detalles. Así,

  • El diseño es más fácil que cambie de forma muy constante, incluso que se comience a programar sin documento de diseño, pues lo irá adaptando el programador sobre la marcha. Y eso puede dar lugar a muchas incoherencias, aspectos que no terminen de encajar….
  • La percepción es subjetiva. Cuando se tiene un diseñador dando “caña”, los errores, las mejoras… se van dectectando y puliendo de forma más clara. Si no, a pesar de que el programador sea consciente, puede considerar cosas válidas que no lo sean tanto, o dejar de lado los detalles que aporten una diferenciación con la competencia.
  • Especialización. Lo de siempre: tener un especialista en cada campo o rol, aporta un valor realmente único. Y se nota mucho, tanto en el juego en sí (jugabilidad, mecánicas, interacción) como en los detalles, cuándo hay detrás un diseñador.

En el desarrollo indie, todo el mundo tiende a hacer de todo, pero es algo que en la medida de lo posible, hay que tratar de evitar. ;)

El gestor de proyectos perfecto

Por el blog de Undead, publicamos algunas experiencias con herramientas clasificadas como “gestores de proyectos“, y de hecho llevo ya varios años haciendo uso de este tipo de software. He probado muchas aplicaciones, principalmente en entorno web, tanto a nivel de SaaS como soluciones open source descargables e instalables en un servidor web. Algunas me han llegado a parecer muy productivas, usándolas durante cierto tiempo, pero por unas cosas o por otras, al final siempre he tenido la sensación de que se quedaba pequeño, o no terminaba de convencerme.

¿Qué tendría que tener el gestor de proyectos perfecto? En mi opinión,

  • Usuarios, roles y permisos. La mayoría implementa todo esto, pero en muchas ocasiones de forma un tanto rara. Los usuarios tendrían que poder englobarse en grupos (dirección, equipo, freelancers, colaboradores…) y en base a ello, que tuviesen ciertos permisos, para acceder a unos módulos u otros.
  • Agenda. Disponer de una agenda de contactos, puede llegar a ser muy útil, para no recurrir al archivador de tarjetas, al correo…
  • Wiki. Una wiki que resulte útil, pues algunos la incorporan en modo demasiado simple, o con un diseño que apenas permite encontrar algo o documentar a gusto. Además, que sea definible por proyectos, de tal manera que una persona que estuviese en el proyecto A, no puede acceder a la documentación del proyecto B.
  • Proyectos. En un proyecto pueden participar usuarios de diferentes grupos, cada uno con una serie de permisos. La flexibilidad ideal sería, por ejemplo, que al subir un archivo, pudieses elegir qué grupo podría verlo o editarlo. Y disponer de otras funcionalidades como calendario, diagramas de Gantt
  • Tareas. Siguiendo el punto anterior, un buen gestor de tareas. Milestone o hitos, listas de tareas, tareas sin estar dentro de una lista, asignaciones a personas y en tiempo… De un vistazo, tener el control de lo que se está haciendo, de lo que queda por hacer, de quién está con ello…
  • Ficheros. Gestión de ficheros, divididos por categorías, tags… e integración con subversion.
  • Foros. Organizados por proyectos, también con un sistema de permisos / grupos / usuarios, y con alertas. Al nuevo mensaje, correo! Una moderación avanzada, también se agradecería. Borrar mensajes, editarlos, trasladarlos…
  • Usabilidad / Manejo. En general, todos los gestores suelen pecar de ser algo “duros” a la vista. Los temas visuales no están nada cuidados, y la usabilidad a la hora de manejo y configuración muy pobre. Muy “1.0“. Permitir un diseño personalizable, pero con uno potente por defecto, tener los módulos bien organizados, búsquedas…
  • Open Source. Para ser perfecto, tendría que ser Open Source, sencillo de instalar (sin mil instalaciones previas por consola), de configurar (GUI), y realizado bajo PHP / MySQL.

La principal limitación viene al a hora de controlar temas como manejar información para diferentes equipos / personas, de tal manera que en un mismo proyecto, puedas decidir qué documentos compartes con quién (o con qué grupo), qué mensajes son para todos o sólo para algunos… o temas como asignar tareas muy puntuales a una persona que no está dentro de un proyecto, sino en otro, pero que de forma temporal necesita acceder a algo presente en otro proyecto… Son cosas no habituales, pero cuando el equipo es muy limitado y dependes de muchos freelance o colaboradores, facilitan la organización.

Los proyectos que he ido usando /probado: dotProject, ProjectPier, Egroupware, Trac, PHPProjekt, Tikiwiki, Assembla, Clocking IT, TeamBox. Y seguro que alguno más me dejo por ahí… ;) alguna sugerencia? :P