sábado, 14 de enero de 2012

Herramientas para gestión ágil de proyectos de desarrollo de software

En este post incluyo mi lista de herramientas de referencia en el ámbito de gestión ágil del trabajo. No se trata de un post desinteresado puesto que mi propósito es comparar nuestra herramienta Worki con otras existentes en el mercado. En la actualidad sin mucho esfuerzo de búsqueda pueden encontrarse varias decenas de herramientas en dicho ámbito. 
Antes de comentar las características destacables de Worki respecto de otras herramientas, no se puede pasar por alto que uno de los valores que definen el enfoque ágil es "Individuals and interactions over processes and tools". La clave aquí está en la interpretación más o menos radical que se haga de "over". Sin entrar en cuestiones o discusiones infructuosas, supongo que podríamos estar de acuerdo en que las herramientas como medio para conseguir un fin, y que tendrán mayor protagonismo en la medida que el proceso (metodología) seguido por el equipo sea más sofisticado y/o exigente. Respecto de las herramientas específicas, asociadas a actividades concretas (tales como: requisitos, programación, control de versiones, pruebas, despliegue, etc.), no hay mucho que comentar pues son una clara necesidad para el trabajo del equipo. Pero cuando hablamos de herramientas de apoyo al proceso (apoyo a la metodología o apoyo la gestión del trabajo) el alineamiento entre las prácticas y técnicas del equipo respecto de las funcionalidades de la herramienta no resultan tan claros. No existe una cultura generalizada de utilizar herramientas para apoyar el proceso, o de centralizar y orquestar el proceso a través de una sola herramienta. Por este motivo las herramientas ágiles para gestión del trabajo, aunque parten esencialmente desde ofrecer un apoyo a la planificación y seguimiento, para ser más atractivas derivan rápidamente hacia integraciones con otros aspectos asociados a actividades específicas de desarrollo (tales como las mencionadas antes; requisitos, pruebas, etc.).

Cuando queremos hacer una implantación exitosa del enfoque ágil surge la pregunta: ¿Cuál es la herramienta que necesita mi equipo para gestionar de forma ágil su trabajo?. Una respuesta fiel al enfoque ágil sería: la que sea más rentable, en el sentido que la inversión (en tiempo y dinero) que se haga en ella se vea correspondientemente recompensada en productividad y calidad del resultado obtenido. Si bien esta respuesta es sensata, no nos ayuda mucho en cuanto a la decisión que queremos tomar :-).

Muchos equipos de desarrollo están satisfechos utilizando una hoja de cálculo o un simple tablero kanban de pared para gestionar su trabajo. Los inconvenientes de herramientas muy básicas o no específicas para gestión del trabajo son bastante obvios (ver post asociado a esto) pero aún así estas herramientas pueden resultar satisfactorias si el contexto de trabajo del equipo no es de gran envergadura o complejidad. En mi opinión, gran parte de la popularidad que rápidamente ha alcanzado el enfoque ágil se debe a que usualmente se le interpreta destacando dos aspectos: un cierto desprecio a la utilización de herramientas de gestión sofisticadas (exaltando herramientas más rudimentarias), y una apuesta por hacer del desarrollo de software una actividad más social y entretenida. Si bien esto es positivo, especialmente para comenzar con el enfoque ágil, probablemente después y debido a la mejora continua que el mismo enfoque ágil promueve, dichas herramientas básicas no serán adecuadas para las mejoras en las prácticas que requiera el equipo en la gestión de su trabajo.  

Para no extenderme más, a continuación sólo destacaré las características únicas o superiores de Worki respecto del resto de herramientas.  
  • Esta primera característica no es técnica pero me gusta mencionarla :-). Worki nació y se ha nutrido desde tres vertientes: la docencia, la investigación y la aplicación industrial. Es un desarrollo hecho en Valencia-España.
  • Worki no es sólo una herramienta pues conlleva una metodología de trabajo, nuestra metodología TUNE-UP Process, la cual integra prácticas de los métodos ágiles más populares (Scrum, Kanban, Extreme Programming y Lean Development). Las opciones configurables se centran en lo estrictamente necesario para abordar la diversidad del contexto de trabajo, el resto de funcionalidades ya está configurada a una forma de trabajo. Así, el equipo se concentra en la implantación de la metodología y de la herramienta, sin desgastarse en la definición de una metodología ni en la configuración de una herramienta que la apoye. Las opciones configurables de Worki le permiten al equipo evolucionar fácilmente desde un enfoque tradicional hacia uno más ágil.     
  • La coordinación del trabajo se orquesta mediante workflows flexibles y configurables (con "verdaderos workflows", con roles, actividades y operadores de secuencia, selección y paralelo) que permiten el establecimiento de actividades y roles desde el estilo más puro de Scrum hasta uno más tradicional, lo cual facilita en gran medida las transiciones desde enfoques tradicionales hacia otros más ágiles.
  • Enfoque TDRE (Test-Driven Requirements Engineering) para la gestión de requisitos integrada en el desarrollo de productos. Se trata de una gestión de requisitos basada en pruebas de aceptación (PA). Todo el proceso de desarrollo está dirigido por las PA, éstas se definen, se implementa el código para satisfacerlas y finalmente se aplican para comprobar que se satisfacen. Las PA que constituyen la especificación de cada cambio en el producto.
  • Se ofrece una completa y sencilla gestión de tiempos, aunque esta funcionalidad es opcional. En el nivel más completo se puede registrar el esfuerzo estimado y el esfuerzo real invertido, ofreciéndose muchas facilidades para su edición y posterior explotación de la información. Los registros de tiempos se realizan a nivel de actividad y de persona encargada, con fecha-hora de inicio y de fin, con lo cual posteriormente la información se puede explotar hasta ese nivel de detalle. Worki permite registrar en línea el tiempo invertido ofreciendo facilidades para iniciar o detener el registro de tiempo, pero también permite registrar el tiempo invertido a posteriori, indicando la fecha-hora de inicio y la duración correspondiente.
  • Tablero multikanban es la interfaz de arranque de Worki, un espacio donde el usuario inicia su trabajo, en él puede visualizar el resumen de toda la información que le es relevante como miembro en todos los proyectos en los cuales participa. Se incluyen actividades no terminadas, mensajes por contestar, por leer o esperando respuesta, alertas y notificaciones. Además se ofrecen múltiples facilidades para acceder, seleccionar, ordenar o filtrar los datos mostrados, así como diversas formas de accesor al detalle de un ítem de trabajo específico.   
  • Gestión integral del Backlog y de los ítems en un Sprint o Proyecto. Se ofrecen facilidades para ordenar, seleccionar y filtrar todas la información necesaria para gestionar el trabajo pendiente, incluyendo además: reordenamiento de ítems en cualquier contenedor (Backlog, Spritn o Proyecto), movimiento de ítems entre contenedores, gestión de relaciones entre ítems, asignación de responsables, estimación de esfuerzo asociado a actividades, asociación de ítems en partes del producto, etc.
  • Comunicación integrada en el contexto de los ítems de trabajo. Con esto se consigue prescindir en gran medida de la comunicación por email u otros medios fuera de la herramienta. Toda la comunicación escrita mantenida entre los colaboradores y asociada a un ítem de trabajo está incluida en él.
  • Configuraciones asociadas al producto. Cada producto tiene su(s) equipo(s), sus roles, sus workflows, niveles de testeo, nivel de gestión de tiempos, etc., aunque dichos elementos pueden compartirse entre productos.
  • Gestión de documentos a nivel de producto y de ítems de trabajo. La documentación se gestiona con un repositorio donde se mantienen las versiones de los documentos.
  • Dashboards preconfigurados para el seguimiento de proyectos y de sus Sprints.
  • Cuadro de mandos para gestión de varios proyectos con una visualización integrada del estado de todos a la vez.
  • Gestión de portafolio de proyectos, donde los proyectos son tratados como ítems de un portafolio.

Mi lista de herramientas, ordenada por nombre, es la siguiente. 













Patricio Letelier

4 comentarios:

  1. Me gustaría añadir Projify: http://www.projify.com

    Projify es una herramienta basado en la nube para una gestión simple de proyectos, tareas, reportes de incidencia (tickets) y para mantener y compartir calendarios, donde podemos colaborar en un proyecto de una manera eficaz desde cualquier lugar.

    ResponderEliminar
  2. Hola
    Me gustaria hablar de otra herramienta que te permita gestionar tickets, administrar proyectos y gestionar tu tiempo te recomiendo Integria IMS.
    En palabras generales son sus funciones mas importantes.. bueno tambien tiene opcion de inventario para subir ficheros y cosas asi.
    Os dejo un link para que le eches un vistazo luego: http://integriaims.com/
    Saludos
    Ivo

    ResponderEliminar
  3. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar