Mega herramientas vs Algo de imaginación

En un proyecto más o menos grande y serio, con clientes serios, con mucha burocracia y papeleo, suele ser un requisito indispensable en la gestión del proyecto que haya trazabilidad de todo con todo. Es decir, que de un acta de reunión con el cliente podamos consultar en cualquier momento en qué tareas ha derivado, cómo se ha resuelto cada una de esas tareas, si ha dado lugar a requisitos nuevos del proyecto. A su vez, de cada requisito debemos poder consultar en cada momento qué trozos del código garantizan su cumplimiento, qué pruebas del protocolo de pruebas permiten verificarlo, qué personas han tocado el código, si ha habido errores y cuales han sido …  y así hasta aburrir con todos los detalles.

En este tipo de proyectos, si se quiere cumplir con todo esto, lo habitual es lanzarse a mega herramientas, estilo la suite de rational o alguna otra similar. Pero estas herramientas tienen grandes inconvenientes.

En primer lugar, suelen ser licencias muy caras, por lo que tienden a racanearse o a no comprarse todas las herramientas de la suite. Son mega-herramientas que no son cómodas de utilizar y requieren bastante aprendizaje, por lo que tampoco se dan a conocer a todo el equipo de desarrollo. Si se compra, suelen comprarse licencias sólo para los jefazos del proyecto (¿cómo vamos a gastarnos 10000€ o más en un currito?). Por ello, o se pone a una o dos personas permanentemente ocupadas con la herramienta, enterándose de qué pasa en el proyecto y actualizando, o al final se queda toda la información desfasada.

¿Y cual es la solución a esto?

Evidentemente, una herramienta gratuita que nos permita gestionar las tareas y errores vía web no nos puede dar toda la funcionalidad completa de una de estas mega herramientas, pero con un poco de imaginación podemos cubrir el expediente de una forma efectiva.

Pongamos un herramienta gratuita y sencilla de usar estilo redmine o trac, con interface web y por tanto accesible por todos desde el navegador. Estas herramientas están pensadas para poner las distintas versiones o hitos, asociarles las tareas a realizar y los errores y llevar bien el control de cuánto hemos avanzado y cuánto nos queda. Por supuesto, no tiene nada que ver con casos de prueba, requisitos, reuniones … ¿ o sí ?

Echémosle un poco de imaginación y en nuestro proyecto vamos a crear una tareas "imaginativas". Redmine, por ejemplo, nos permite definir qué tipos de tareas tenemos, además de "tarea" y "error". Pongamos tareas estilo "reunión", "requisito", "caso de prueba", etc.

En una tarea reunión símplemente escribimos un resumen de la reunión y adjuntamos el fichero con el acta de la reunión (un doc, pdf o lo que sea). De esa reunión saldrán tareas a realizar. Pues las añadimos y las relacionamos con la tarea "reunión". También podemos meter nuestras tareas "requisito" y asociarlas con lo que queramos (reuniones o tareas normales). Igualmente, podemos crear nuestras tareas "caso de prueba" y asociarlas las tareas normales, a las tarea "requisito", etc. Podemos incluso hacer subproyectos separados para cada tipo de tarea. Nuestro PROYECTO puede tener subproyectos REUNIONES, REQUISITOS, PRUEBAS, DESARROLLO, de forma que según el perfil del "currito/jefe", se le den accesos a unas u a otras. Así, por ejemplo, un desarrollador trabaja en el subproyecto DESARROLLO de forma normal a como se hace en una de estas herramientas, con sus hitos, tareas y errores, pero tiene acceso inmediato, quizás de sólo lectura, a los requisitos que debe cumplir a los protocolos de pruebas que debe pasar su código. Y si los jefes son malos (que casi siempre lo son), no tendría ni siquiera acceso de lectura al de REUNIONES, para que no ve

¿La ventaja de todo esto?. Al ser fácilmente accesible por todo el mundo, es fácilmente modificable y se puede tener permanentemente actualizado con un mínimo de disciplina, cada uno actualizando lo que le corresponde.

¿La pega?. Estas herramientas no están pensadas para esto, así que no admiten de una forma fácil y rápida sacar informes adecuados o grandes listados. Sí se puede consultar para una tarea concreta, sea del tipo que sea, las otras tareas relacionadas, siguiendo los enlaces. Así, de un requisito concreto, podemos ver qué tareas se han realizado para cumplirlo, qué prueba comprueba dicho requisito o de qué reunión ha venido. Pero no se puede sacar un listado que nos relacione directamente todos los requisitos con sus pruebas asociadas. De todas formas, lo importante es que está todo relacionado en la base de datos de redmine y haciendo un pequeño esfuerzo adicional, bien con phpmyadmin como comenté hace unos días, o bien haciéndose una herramienta a posta, podemos sacar los informes que queramos.

En fin, no sé si en la práctica todo esto es realizable o si es realmente eficiente. Lo que sí sé es que no se suele cumplir toda la trazabilidad que se debe cumplir, precisamente por lo caro de las herramientas, escasas licencias y falta de gente para meter los datos en ellas día a día. Suele ser mejor algo incompleto pero bien hecho, que algo completo totalmente mal hecho.

Entradas relacionadas:

Esta entrada ha sido publicada en Herramientas y etiquetada como , , . Guarda el enlace permanente.

4 respuestas a Mega herramientas vs Algo de imaginación

  1. blaxter dijo:

    Una táctica (en trac) que se puede usar para la reuniones, es usar el wiki directamente. Para requisitos o tareas que hayan salido de esa reunión se usan los tags y de esa forma en la propia página del wiki, con macros, puedes hacer que salgan automáticamente todas las referencias.

  2. Pingback: ¿Hay que externalizar la web 2.0? « lboisset’s Ruminations

  3. Pingback: ¿Hay que externalizar la web 2.0? | dominios, diseño web, ecommerce - Mantis Technology Solutions Blog

  4. Pingback: Diario de Programación » Blog Archive » Buena acogida del redmine… quizás demasiada

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.