TaskJuggler es un software de gestión de proyectos con licencia GPL ( software libre ) que se ejecuta en los sistemas operativos Linux y Unix . Está programado en C++ utilizando el kit de herramientas Qt y las bibliotecas de KDE . También funciona en Windows. El proyecto TaskJuggler fue iniciado en 2001 por Chris Schläger. Las primeras versiones incluían una herramienta de línea de comandos que generaba informes HTML. Desde agosto de 2005 hasta julio de 2010, el paquete también ofrecía una interfaz gráfica de usuario basada en las bibliotecas de KDE.
TaskJuggler III se lanzó el 5 de julio de 2010. Es una versión completamente reimplementada de la serie TaskJuggler 2.x y está escrita en Ruby . [ 1 ] La interfaz gráfica de usuario de la versión 2.x aún no se ha portado a TaskJuggler 3.x; los documentos de TaskJuggler 3, que son archivos de texto plano, se editan con un editor de texto y se procesan en la línea de comandos.
Acercarse
Un proyecto de TaskJuggler consta de uno o más documentos de texto plano escritos en un lenguaje de programación declarativo específico del dominio . Los documentos constan de un archivo raíz del proyecto y subarchivos opcionales incorporados a la raíz mediante la palabra clave ( propiedad en la jerga de TaskJuggler), en uno o más niveles. La referencia del lenguaje TaskJuggler se refiere al documento fuente de definición del proyecto de forma algo imprecisa como el archivo TJP . En esta discusión, nos referimos al documento fuente de definición del proyecto simplemente como el TJP .include
El TJP es un documento declarativo. Los objetos principales son tareas, recursos, informes, escenarios y restricciones de programación aplicadas a tareas y recursos. También incluye una función básica para describir cuentas y registrar costos y gastos. El progreso del proyecto se puede monitorear declarando propiedades de finalización de tareas (como porcentaje) o propiedades de reserva de recursos que asocian recursos a tareas durante periodos específicos, lo que permite generar proyecciones de programación.
TaskJuggler funciona como una herramienta de compilación de informes. Una vez escrito el programa TJP, se generan informes sobre el estado del proyecto mediante la ejecución del compilador TaskJuggler. El compilador TJP incluye un componente de planificación basado en un algoritmo heurístico . TaskJuggler puede generar una amplia variedad de informes, incluyendo diagramas de Gantt , a partir de las declaraciones de informes dentro del TJP. El compilador TaskJuggler puede gestionar proyectos de gran envergadura con más de 10 000 tareas, 1000 recursos y restricciones complejas.
Proyección no incremental
Una característica común de las herramientas de compilación, como TaskJuggler, es que las compilaciones futuras (informes) no necesariamente reflejan los resultados anteriores, incluso cuando los datos de entrada son muy similares. Cualquier cambio en el estado del proyecto, tal como se declara en el TJP, puede generar una asignación de cronograma completamente nueva.
Actualmente, TaskJuggler (a partir de la versión 2.3.0) no incluye ninguna función para generar un cambio mínimo en el cronograma a partir de una proyección existente, basándose en una entrada hipotética, como "¿qué pasaría si asigno a Bob cuatro horas a la tarea de documentación?". Sin embargo, es posible reintroducir elementos deseados de una proyección en TaskJuggler como restricciones adicionales, estableciendo supuestos fijos para futuras mejoras en la proyección del cronograma. La mejora iterativa de las restricciones es una técnica potente, pero carece de la inmediatez del recálculo incremental en una hoja de cálculo cuando se utiliza como herramienta de proyección financiera.
Ventajas
El diseño de TaskJuggler permite al gestor de proyectos centrarse en la información disponible sobre el proyecto en cualquier etapa del mismo. TaskJuggler transforma esta información en informes y gráficos útiles. Brinda soporte al gestor de proyectos en todas las fases, desde la idea inicial hasta la estimación del esfuerzo, la elaboración del presupuesto y el seguimiento del estado del proyecto.
La descripción textual del proyecto distingue a TaskJuggler de otros programas de gestión de proyectos. Permite al usuario centrarse en la estructura de desglose del trabajo , las prioridades y dependencias de las tareas, los recursos disponibles y su disponibilidad. Basándose en las restricciones proporcionadas, TaskJuggler calcula un cronograma para las tareas. El balanceador de carga integrado respeta las horas de trabajo y nivela automáticamente el uso de los recursos. TaskJuggler calcula los intervalos entre tareas, los tiempos de asignación para cada recurso y un análisis de pérdidas y ganancias del proyecto. Estos resultados se pueden generar en numerosos informes mediante un mecanismo de filtrado que permite restringir la información al subconjunto que se desea presentar.
Desventajas
La descripción del proyecto en texto plano está escrita en un lenguaje de programación jerárquico y declarativo que requiere pensar de forma abstracta sobre la secuencia y las restricciones del proyecto, así como sobre la estructura del programa en sí. Un proyecto típico tiene las siguientes secciones: [ 2 ]
- Encabezado del proyecto
- Definiciones macro
- declaraciones de bandera
- Definiciones de turno
- Definiciones de cuenta
- Definiciones de recursos
- Definiciones de tareas
- Reservas
- Informes
Si bien es potente, esta complejidad puede conllevar una curva de aprendizaje pronunciada para adquirir dominio en el uso de TaskJuggler.
Véase también
Referencias
- El arte de hacer malabares , ( PDF ) Revista Linux, número 61, diciembre de 2005, págs. 52-55.
- TaskJuggler: Los mejores planes archivados el 24/10/2018 en Wayback Machine (PDF), Linux Magazine, enero de 2004, págs. 75-77.
- Reseña de TaskJuggler por Software Projects.
Notas
Enlaces externos
- Sitio web oficial
- "TaskJuggler" . Código gratuito .
- Software gratuito de gestión de proyectos
- Software que utiliza Qt
- Software KDE
- Software libre programado en Ruby
- Software que utiliza la Licencia Pública General de GNU.