TaskJuggler ist eine unter der GPL lizenzierte ( freie ) Projektmanagement-Software , die unter Linux und Unix läuft und in C++ mit dem Qt-Toolkit und den KDE -Bibliotheken programmiert wurde. Sie ist auch unter Windows lauffähig. Das TaskJuggler-Projekt wurde 2001 von Chris Schläger ins Leben gerufen. Frühe Versionen boten ein Kommandozeilen- Tool zur Generierung von HTML-Berichten. Von August 2005 bis Juli 2010 stellte das Paket zusätzlich eine grafische Benutzeroberfläche auf Basis der KDE-Bibliotheken bereit.
TaskJuggler III wurde am 5. Juli 2010 veröffentlicht. Es handelt sich um eine vollständig neu implementierte Version der TaskJuggler-2.x-Serie, geschrieben in Ruby . [ 1 ] Die grafische Benutzeroberfläche der Version 2.x wurde noch nicht in TaskJuggler 3.x übernommen; TaskJuggler-3-Dokumente, die als einfache Textdateien vorliegen, werden mit einem Texteditor bearbeitet und über die Kommandozeile verarbeitet.
Ansatz
Ein TaskJuggler-Projekt besteht aus einem oder mehreren Klartextdokumenten , die in einer domänenspezifischen deklarativen Programmiersprache verfasst sind . Die Dokumente bestehen aus einer Stammprojektdatei und optionalen Unterdateien, die mittels des includeSchlüsselworts ( einer Eigenschaft in der TaskJuggler-Terminologie) bis zu einer oder mehreren Ebenen in die Stammdatei eingebunden werden. Die TaskJuggler-Sprachreferenz bezeichnet das Quelldokument der Projektdefinition etwas ungenau als „TJP-Datei“ . In diesem Text wird das Quelldokument der Projektdefinition einfach als „ TJP“ bezeichnet .
Das Projektplanungsdokument (TJP) ist ein deklaratives Dokument. Im Fokus stehen Aufgaben, Ressourcen, Berichte, Szenarien und Terminbeschränkungen, die Aufgaben und Ressourcen zugeordnet sind. Es bietet außerdem grundlegende Funktionen zur Beschreibung von Konten und zur Erfassung von Kosten und Ausgaben. Der Projektfortschritt lässt sich verfolgen, indem der Fertigstellungsgrad von Aufgaben (in Prozent) oder die Ressourcenbuchungseigenschaften deklariert werden, die Ressourcen für bestimmte Zeiträume Aufgaben zuordnen. Diese Eigenschaften können zur Erstellung von Terminprognosen verwendet werden.
TaskJuggler dient als Berichtsgenerierungstool. Nach der Erstellung des TJP-Programms generiert der TaskJuggler-Compiler Berichte zum Projektstatus. Dieser Compiler beinhaltet eine Scheduling-Komponente, die auf einem heuristischen Algorithmus basiert . TaskJuggler kann eine Vielzahl von Berichten, darunter Gantt-Diagramme, auf Grundlage der im TJP definierten Berichtsdefinitionen erstellen. Der TaskJuggler-Compiler ist in der Lage, große Projekte mit über 10.000 Aufgaben, 1.000 Ressourcen und komplexen Nebenbedingungen zu verarbeiten.
Nicht-inkrementelle Projektion
Ein gemeinsames Merkmal der von TaskJuggler verwendeten Kompilierungswerkzeuge ist, dass zukünftige Kompilierungen (Berichte) nicht unbedingt frühere Ergebnisse widerspiegeln, selbst wenn die Eingaben extrem ähnlich sind. Jede Änderung des im TaskJuggler-Dokument (TJP) festgelegten Projektstatus kann potenziell zur Generierung einer komplett neuen Terminplanzuordnung führen.
TaskJuggler bietet derzeit (Stand: Version 2.3.0) keine Möglichkeit, auf Basis hypothetischer Eingaben, wie z. B. „Was wäre, wenn ich Bob vier Stunden für die Dokumentationsaufgabe einweise?“, eine minimale Terminplanänderung aus einer bestehenden Terminplanprognose zu generieren. Gewünschte Elemente aus einer Prognoseausgabe können jedoch als zusätzliche Nebenbedingungen in TaskJuggler (TJP) zurückgeführt werden, um die Terminplanprognose weiter zu verfeinern. Die iterative Verfeinerung von Nebenbedingungen ist zwar eine leistungsstarke Technik, bietet aber nicht die Unmittelbarkeit inkrementeller Neuberechnungen in einer Tabellenkalkulation , wenn sie ähnlich wie ein Finanzprognoseinstrument eingesetzt wird.
Vorteile
TaskJuggler ermöglicht es dem Projektmanager, sich in jeder Projektphase auf die bereits bekannten Projektinformationen zu konzentrieren. TaskJuggler wandelt diese Informationen anschließend in aussagekräftige Berichte und Diagramme um. Es unterstützt den Projektmanager in allen Projektphasen – von der ersten Idee über die Aufwandsschätzung und Budgetierung bis hin zur Statusverfolgung.
Die textbasierte Projektbeschreibung unterscheidet TaskJuggler von anderen Projektmanagementprogrammen. Sie ermöglicht es dem Benutzer, sich auf die Projektstruktur , Aufgabenprioritäten und -abhängigkeiten sowie die verfügbaren Ressourcen und deren Verfügbarkeit zu konzentrieren. Basierend auf den vorgegebenen Rahmenbedingungen berechnet TaskJuggler einen Zeitplan für die einzelnen Aufgaben. Der integrierte Load Balancer berücksichtigt Arbeitszeiten und gleicht die Ressourcenauslastung automatisch aus. TaskJuggler berechnet Aufgabenintervalle, die Zuweisungszeiten für jede Ressource und eine Gewinn- und Verlustrechnung für das Projekt. Diese Ergebnisse können anschließend mithilfe eines Filtermechanismus, der die Informationen auf die anzuzeigenden Teilmengen beschränkt, in einer Vielzahl von Berichten dargestellt werden.
Nachteile
Die Projektbeschreibung im Klartext ist in einer hierarchischen, deklarativen Programmiersprache verfasst, die abstraktes Denken über die Abfolge und die Einschränkungen des Projekts sowie die Struktur des Programms selbst erfordert. Ein typisches Projekt umfasst die folgenden Abschnitte: [ 2 ]
- Projektkopf
- Makrodefinitionen
- Flaggendeklarationen
- Schichtdefinitionen
- Kontodefinitionen
- Ressourcendefinitionen
- Aufgabendefinitionen
- Buchungen
- Berichte
Diese Komplexität ist zwar sehr leistungsstark, kann aber auch zu einer steilen Lernkurve führen, um die nötige Kompetenz im Umgang mit TaskJuggler zu erlangen.
Siehe auch
Referenzen
- Die Kunst des Jonglierens , ( PDF ) Linux Magazine, Ausgabe 61, Dezember 2005, S. 52-55.
- TaskJuggler: Die besten Pläne archiviert am 24.10.2018 bei der Wayback Machine (PDF), Linux Magazine, Januar 2004, S. 75-77.
- Rezension von TaskJuggler durch Softwareprojekte.
Anmerkungen
- ^ "Installation" .
- ^ Schlaeger, Chris. „TaskJuggler Workshop“ (PDF) . Abgerufen am 19. Dezember 2012 .