Desarrollador(es) | Chris Schlaeger |
---|---|
Versión estable | 3.7.1 / 14 de marzo de 2020 ( 14-03-2020 ) |
Repositorio |
|
Escrito en | C++, Ruby |
Sistema operativo | Multiplataforma |
Tipo | Software de gestión de proyectos |
Licencia | Licencia pública general (GPL) |
Sitio web | www.taskjuggler.org |
TaskJuggler es un software de gestión de proyectos con licencia GPL ( software libre ) que se ejecuta en los sistemas operativos Linux y Unix y 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 proporcionaban una herramienta de línea de comandos que generaba informes HTML. Desde agosto de 2005 hasta julio de 2010, el paquete también proporcionó una interfaz gráfica de usuario basada en las bibliotecas de KDE.
TaskJuggler III fue lanzado el 5 de julio de 2010. Es una versión completamente reimplementada de la serie TaskJuggler 2.x y escrita en Ruby . [1] La interfaz gráfica de usuario de la versión 2.x aún no ha sido trasladada a TaskJuggler III; los documentos de TaskJuggler III, que son archivos de texto sin formato, se editan con un editor de texto y se procesan en la línea de comandos.
Un proyecto de TaskJuggler consta de uno o más documentos de texto sin formato escritos en un lenguaje de programación declarativo específico del dominio . Los documentos constan de un archivo de proyecto raíz y subarchivos opcionales incorporados a la raíz por medio de la palabra clave ( propiedad en la jerga de TaskJuggler), a uno o más niveles. La referencia del lenguaje de TaskJuggler se refiere al documento fuente de definición del proyecto de manera un tanto vaga como The TJP File . Esta discusión se refiere al documento fuente de definición del proyecto simplemente como TJP .include
El TJP es un documento declarativo. Los objetos centrales son tareas, recursos, informes, escenarios y restricciones de programación aplicadas a tareas y recursos. También hay una función rudimentaria para describir cuentas y acumular costos y gastos. Se puede hacer un seguimiento del progreso del proyecto declarando propiedades de completitud de tareas (como porcentaje) o propiedades de reserva de recursos que asocian recursos a tareas para duraciones específicas, que se pueden usar para 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 ejecutando el compilador TaskJuggler en el programa. El compilador TJP incluye un componente de programación basado en un algoritmo heurístico . TaskJuggler puede generar una amplia variedad de informes, incluido un diagrama de Gantt basado en declaraciones de informes dentro del TJP. El compilador TaskJuggler puede gestionar proyectos grandes con más de 10 000 tareas, 1000 recursos y restricciones complejas.
Una característica común de las herramientas de compilación que comparte TaskJuggler es que las compilaciones futuras (informes) no necesariamente reflejan los resultados anteriores, incluso cuando los datos de entrada son extremadamente similares. Cualquier cambio en el estado del proyecto tal como se declara en el TJP puede generar potencialmente una asignación de cronograma completamente nueva.
Actualmente, TaskJuggler no contiene (a partir de la versión 2.3.0) ninguna disposición para generar un cambio mínimo en el cronograma a partir de una proyección de cronograma existente en función de una entrada hipotética, como "¿qué sucede si le asigno a Bob cuatro horas para la tarea de documentación?". Sin embargo, se pueden introducir los elementos deseados de una salida de proyección en el TJP como restricciones adicionales, como suposiciones fijas relativas a futuros refinamientos de la proyección de cronograma. El refinamiento iterativo de restricciones es una técnica poderosa, pero carece de la inmediatez del recálculo incremental en una hoja de cálculo cuando se utiliza en una capacidad similar a la de una herramienta de proyección financiera.
El diseño de TaskJuggler permite al director de proyectos centrarse en la información que se conoce sobre el proyecto en cualquier etapa del mismo. TaskJuggler convierte esta información en informes y gráficos útiles. Ayuda al director de proyectos en todas las fases del proyecto, desde la idea inicial hasta la estimación del esfuerzo, la elaboración del presupuesto y el seguimiento del estado.
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 proporcionados y su disponibilidad. En función de las restricciones proporcionadas, TaskJuggler calcula un cronograma para los elementos de tarea dados. El equilibrador de carga integrado respeta las horas de trabajo y nivela el uso de los recursos automáticamente. TaskJuggler calcula los intervalos de las tareas, los tiempos de asignación para cada recurso y un análisis de ganancias/pérdidas para el proyecto. Estos resultados se pueden convertir en una gran cantidad de informes mediante un mecanismo de filtrado que se puede utilizar para restringir la información al subconjunto que se va a presentar.
La descripción del proyecto en texto simple se escribe en un lenguaje de programación declarativo y jerárquico que requiere pensar de manera 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]
Si bien es potente, esta complejidad puede generar una curva de aprendizaje pronunciada para adquirir competencia en el uso de TaskJuggler.