Projekt-Jongleur
Projektplanung mit Taskjuggler
Der Termin
Beginnen Sie mit dem ersten Teil "Wie lange dauert die Aufgabe?". Taskjuggler hält dafür in seinem Editor einige Schlüsselwörter bereit: So legt effort den Aufwand in Manntagen fest, gefolgt von der Zuordnung eines oder mehrerer Mitarbeiter (Ressourcen) zu dieser Aufgabe. Der Schlüssel length bestimmt die Dauer in Arbeitstagen, duration in Kalendertagen.
Sie holen sich also jetzt die entsprechenden Angaben von den Handwerkern ein und schätzen den eigenen Aufwand ab. Im Beispiel der Aufgabe "Ersatzbad" können die Eingaben so aussehen wie in Listing 2.
Listing 2
Teilaufgaben weiter unterteilt
task ersbad "Ersatzbad" {
task chkwas "Pruefen Wasseranschluss" {
effort 1d
allocate ma2
}
task chkhzg "Pruefen Heizung" {
effort 1d
allocate ma2
}
task rep "Reparaturen" {
effort 2d
allocate ma1, ma3
}
task cln "Saeubern" {
effort 1d
allocate ma2
}
}
Sie erinnern sich an die Zuordnung von Mitarbeitern und Identifiern? Der Name ma1 entspricht dem Installateur Müller, ma2 sind Sie selbst, ma3 ist der Elektriker Strom. Die Aufgabe "Prüfen Wasseranschluss", die sie selbst vornehmen, nimmt einen Tag in Anspruch. Gleiches gilt für die Aufgabe "Prüfen Heizung". Die Reparaturen, die der Installateur und der Elektriker durchführen, setzen Sie mit je zwei Tagen an, Den Abschluss, das Reinigen des Ersatzbades, übernehmen Sie wieder Sie selbst und planen dafür einen Tag ein. Entsprechend füllen Sie die restlichen Aufgaben aus.
Das Schlüsselwort depends legt die zeitliche Reihenfolge der Arbeiten fest und bestimmt die Abhängigkeiten zwischen mehreren Vorgängen. Da Taskjuggler den zeitlichen Ablauf errechnen soll, arbeiten Sie mit relativen Zeitangaben der Art: "Aufgabe 2 kann starten wenn Aufgabe 1 abgeschlossen ist." Das Beispiel "Bereitstellen Ersatzbad" verdeutlicht das Prinzip. Die zeitliche Reihenfolge ist: Die Aufgabe "Prüfen Wasseranschluss" legt den Beginn des Projektes fest. Danach kann die Aufgabe "Prüfen Heizung" beginnen. Die Reparaturen können starten, wenn beide Vorgänger "Prüfen Wasseranaschluss" und "Prüfen Heizung" abgeschlossen sind. Das Säubern kann erfolgen, wenn die Reparaturen abgeschlossen sind. Übersetzt für den Editor von Taskjuggler sieht dies aus wie in Listing 3.
Listing 3
Zeitliche Abhängigkeiten festlegen
task ersbad "Ersatzbad" {
task chkwas "Pruefen Wasseranschluss" {
effort 1d
allocate ma2
depends Bare.start
}
task chkhzg "Pruefen Heizung" {
effort 1d
allocate ma2
depends !chkwas
}
task rep "Reparaturen" {
effort 2d
allocate ma1, ma3
depends !chkwas, !chkhzg
}
task cln "Saeubern" {
effort 1d
allocate ma2
depends !rep
}
}
Bare.start ist der Starttermin des Projekts Badrenovierung. Sein Parameter .start wurde in Taskjuggler automatisch erzeugt. Die restlichen Eingaben beschreiben relative Zeitpunkte die Taskjuggler selbst umrechnet. Zum Beispiel ist !chkwas ist der Endzeitpunkt der Aufgabe "Prüfen Wasseranschluss". In der Nomenklatur von Taskjuggler steht ein Ausrufezeichen für einen relativen Zeitpunkt innerhalb einer übergeordneten Aufgabe – also hier dem Hauptpunkt "Ersatzbad", zwei Ausrufezeichen für einen relativen Zeitpunkt innerhalb des Gesamtprojekts, also einer Hauptaufgabe. Dementsprechend geben Sie die zeitlichen Abhängigkeiten für alle Teil- und Hauptaufgaben ein.
Die Eingaben schließen Sie mit der Taste F9 ab. Taskjuggler prüft daraufhin die eingegebenen Daten auf korrekte Syntax und berechnet anschließend das Projekt. Sie sehen dann in der grafischen Darstellung des Gantt-Plans, wie sich die Einzelaufgaben zueinander verhalten, wann Aufgaben starten und enden und wann das Gesamtvorhaben abgeschlossen ist (Abbildung 2).
Mit den Reportfunktionen von Taskjuggler rechnen Sie sich die anfallenden Kosten aus – Sie erinnern sich, dass Sie den einzelnen Aufgaben Mitarbeiter (Ressourcen) zugewiesen haben und dass diese Ressourcen auch über Kostenfaktoren verfügen. Anhand dieser Angaben erstellt Taskjuggler dann auch den entsprechenden Report oder – wie im Abbildung 3 – die Auslastung der Ressourcen im Projekt.
Das Problem
Nun bringt die schönste Planung nichts, wenn man diese nicht jederzeit der aktuellen Situation angepassen kann. Ein Beispiel für Veränderungen in der Projektlaufzeit sind zum Beispiel vorher nicht absehbare Ressourcenengpässe. Zum Beispiel fällt Ihr Elektriker Strom gerade dann wegen Krankheit aus, wenn er auf der Baustelle erscheinen sollte. Oder eine Aufgabe wird in wesentlich kürzerer Zeit abgeschlossen als geplant. Zum Beispiel stellen Sie bei der Überprüfung von Heizung und Wasseranschluss im Ersatzbad fest, dass alles in Ordnung ist und sie sich die beiden Reparaturtage einsparen können.
Um den Projektplan an aktuellen Gegebenheiten anzupassen, benutzen Sie wieder den Editor von Taskjuggler. Für den Krankheitsfall des Elektrikers verändern Sie die Zeitparameter. Für wegfallende Reparaturen streichen Sie einfach die zugehörige Aufgabe. Sie geben also einfach alle Veränderungen der Parameter Ressourcen, Zeit und Kosten im Editor ein und lassen Taskjuggler neu berechnen. Da Sie wie zuvor beschrieben stets mit relativen Zeitangaben gearbeitet haben, errechnet Taskjuggler einen neuen Projektplan. Lediglich im Fall, in dem Aufgaben gelöscht werden, müssen Sie entsprechende manuelle Korrekturen im Editor vornehmen, wenn Aufgaben auf die gelöschte Aufgabe referenzieren.



