Gestaltung des Zeitplans für Abschluss- und Studienarbeiten
Voraussetzung für die Anmeldung einer Abschluss- oder Studienarbeit im Fachgebiet verteilte und mobile Anwendungen ist immer ein ausgearbeiteter Zeitplan. Die Gestaltung eines solchen Zeitplans wird hier beschrieben.
1. Zeitlicher Rahmen
Das Startdatum für eine Bachelor-/Master-/Studienarbeit wird an der HS Mannheim frei in Absprache zwischen Student/in, Betreuer/in und Gutachter/innen festgelegt. Die Arbeit braucht also nicht am Ersten eines Monats beginnen.
Der Umfang ist in der Studienordnung festgelegt:
- Bachelorarbeiten haben einen Umfang von 12 ECTS Creditpoints.
- Masterarbeiten haben einen Umfang von 30 ECTS Creditpoints.
- Studienarbeiten ersetzen im Bachelorstudium zwei Wahlpflichtmodule. Sie haben deshalb abhängig vom RGS entweder einen Umfang von 10 oder 12 ECTS Creditpoints.
Ein ECTS Creditpoint entspricht an der HS Mannheim vom Aufwand her 30 Stunden Arbeit. Diese Festlegung wird in den Prüfungsordnungen für die Bachelor- und die Masterstudiengänge getroffen. Damit liegt der zeitliche Aufwand am oberen Ende der Rahmenvorgaben für die Einführung von Leistungspunktsystemen und die Modularisierung von Studiengängen der Kultusministerkonferenz , die den Aufwand mit 25-30 Stunden pro Creditpoint angegeben.
Die Bearbeitungszeit ist bei Bachelorarbeiten drei Monate, bei Masterarbeiten sechs Monate. Für Studienarbeiten kann die Bearbeitungszeit in Absprache zwischen Student/in und Betreuer/in frei festgelegt werden, wobei die Studienarbeit und damit auch der Bearbeitungszeitrum von dem/der zuständigen Studiendekan/in genehmigt werden muss.
Die Bearbeitungszeit von Bachelor- und Masterarbeiten muss so festgelegt werden, dass der geplante Starttermin frühestens eine Woche nach der Abgabe des Anmeldeformulars im Sekretariat ist.
Studien-/Bachelor-/Masterarbeiten dürfen auch früher als zum vorgesehenen Termin abgegeben werden. An anderen Hochschulen wird teilweise in den Prüfungsordnungen vorgegeben, dass z.B. Bachelorarbeiten frühestens nach acht Wochen abgegeben werden dürfen. Auch wenn es an der HS Mannheim keine vergleichbare Verpflichtung gibt, sollten Sie sich an diese Vorgabe halten.
2. Zeitplan
Es ist unbedingt erforderlich frühzeitig einen ausführlichen Zeitplan zu erstellen. Aus diesem Plan muss hervorgehen, was getan werden soll und wann es getan werden soll. Dazu müssen Sie…
- eine Liste der anstehenden Aufgaben erstellen,
- sachlogische Abhängigkeiten zwischen den Aufgaben identifizieren (z.B. “Anforderungsanalyse” muss vor “Softwareentwurf” beendet sein),
- auf der Basis der sachlogischen Abhängigkeiten die Reihenfolge und zeitliche Abfolge der Abarbeitung der Aufgaben planen.
Welchen Zweck hat der Zeitplan? Der Zeitplan hilft Ihnen bei der Strukturierung des Themas. Erst durch die Aufschlüsselung der komplexen Gesamtaufgabe (Abschluss- oder Studienarbeit schreiben) in kleinere Teile wird genauer sichtbar, ob die Themenstellung realistisch in der zur Verfügung stehenden Zeit bearbeitet werden kann, denn kleinere Pakete sind besser überschaubar. Damit man aber beurteilen kann, ob der angedachte Aufwand für die Bearbeitung einer Aufgabe tatsächlich machbar ist, sollte immer auch klar sein, was genau das Resultat jeder einzelnen Aufgabe sein wird (z.B. “Kapitel 3 fertig geschrieben”).
Außerdem ermöglicht ein Zeitplan festzustellen, was bei Verzögerungen passieren wird. Ein realistischer Zeitplan sollte immer einen Puffer für unvorhergesehene Verzögerungen beinhalten. Sollten Sie bei der Bearbeitung Ihres Themas auf Dritte angewiesen sein (z.B. Lieferung von IoT-Hardware), dann sind das zusätzliche Abhängigkeiten, die im Zeitplan berücksichtigt werden müssen. Sie können dann bspw. ableiten, bis wann sich spätestens die Lieferung eines Geräts verzögern darf, damit Sie die verbleibenden Aufgaben, die erst begonnen werden können, wenn das Gerät tatsächlich da ist, noch bis zum geplanten Abgabetermin schaffen können.
Aufgaben können auch in Ein-Personen-Projekten in einem begrenztem Ausmaß parallel bearbeitet werden (z.B. vormittags Text schreiben, nachmittags programmieren). Jede Aufgabe wird dennoch für einen bestimmten Zeitraum eingeplant und zwar so, dass alle parallelen Aufgaben, die zu einem Zeitpunkt zur Bearbeitung anstehen, auch realistisch gleichzeitig (z.B. im Sinne von “vormittags”/“nachmittags”) erledigt werden können.
Oft werden sachlogisch aufeinander folgende Aufgaben nicht ganz exakt aufeinander abfolgend geplant (“Normalfolge”: die Bearbeitung der folgenden Aufgabe beginnt genau dann, wenn die vorige abgeschlossen ist): Stattdessen beginnt die Bearbeitung einer folgenden Aufgabe oft überlappend mit der vorigen (die Überlappung der Abarbeitung der nachfolgenden mit der vorigen Aufgabe wird “Lead Time” genannt). Es kann auch eine Pause zwischen dem Beginn der Bearbeitung der folgenden zum Ende der vorigen geben (“Lag Time”). Sollte es zu Verzögerungen kommen, kann man die Abarbeitung von Aufgaben in einem gewissen Rahmen (auch unter Ausnutzung des eingeplanten Puffers von Lags) verschieben, ohne dass es zu einer Verzögerung des Endtermins kommt.
Die Aufgabenzerlegung ist rekursiv: Eine große Aufgabe kann man immer in kleinere Aufgaben zerlegen. Die Frage bei jedem Planungsvorgang ist, wie feingranular die Unterteilung denn nun eigentlich erfolgen soll. Die folgenden Erfahrungswerte gelten für Bachelor- und Studienarbeiten: Die Arbeit sollte insgesamt in ca. 12-17 Aufgaben zerlegt werden, die im Regelfall mindestens drei Tage und maximal 10 Tage lang sein sollten. Planen Sie einen Puffer von ca. einer Woche ein. Bei Masterarbeiten sollten Sie trotz der doppelten Bearbeitungszeit nicht mehr als 20 entsprechend größere Aufgaben einplanen, damit der Zeitplan noch übersichtlich bleibt. Es ist aber angemessen mit zwei Wochen einen entsprechend verlängerten Puffer einzuplanen.
3. Gantt Diagramm mit PlantUML
Es gibt unterschiedliche Techniken und Darstellungsformen für Zeitpläne (z.B. als Netzplan ). Die Erfahrung zeigt, dass für die Erstellung eines Zeitplans für Abschluss- und Studienarbeiten Gantt Diagramme , wie in Abb. 1 gargestellt, besonders geeignet sind.
Das Gantt Diagramm ermöglicht es, einen Überblick über die geplanten Aufgaben, deren zeitliche Abfolge und (allerdings im Vergleich zum Netzplan limitiert) Abhängigkeiten zu geben, sowie die Überwachung von etwaigen Verzögerungen während der Abarbeitung des Plans.
Abb. 1: Beispiel für ein Gantt Diagramm bei einer Bachelorarbeit
Das beispielhafte Gantt Diagramm in Abb. 1 zeigt den Zeitplan einer fiktiven Bachelorarbeit. Die schwarzen Rauten sind Meilensteine. Zu einem Meilenstein findet ein bestimmtes Ereignis statt. Es kann sich auch um ein Quality Gate handeln: Im Ablauf des Projekts darf es nur weitergehen, wenn ein Zwischenergebnis in einer vorgegebenen Qualität erreicht wurde. Im Beispiel-Gantt-Diagramm ist der Meilenstein Präs. Literaturrecherche ein solches Quality Gate. Die anderen Meilensteine im Beispiel sind aber keine Quality Gates, sondern nur mit Dritten abgestimmte feste Termine. Speziell die Status-Reports, die im Abschnitt “Statusmeldungen” abgebildet sind, sind nicht in den Ablauf der Aufgaben eingebunden, stehen also nicht am Anfang oder Ende einer Aufgabe und sind deshalb auch nicht mit Pfeilen verbunden.
@startgantt gantt.png
Project starts the 2019/07/17
saturday are closed
sunday are closed
2019/10/03 is closed
-- Statusmeldungen --
[Status-Report 1] happens 21 days after start
[Status-Report 2] happens 42 days after start
[Status-Report 3] happens 63 days after start
[Status-Report 4] happens 84 days after start
-- Durchführung --
[Anforderungsanalyse und Lit.-Recherche] lasts 10 days
then [Präs. Literaturrecherche] happens 14 days after start
then [Aufgabe 1] lasts 5 days
then [Aufgabe 2] lasts 3 days
then [Aufgabe 3] lasts 5 days
then [Aufgabe 4] lasts 2 days
then [Aufgabe 5] lasts 5 days
[Aufgabe 6] lasts 3 days
[Aufgabe 4] -> [Aufgabe 6]
[Aufgabe 7] lasts 1 days
[Aufgabe 5] -> [Aufgabe 7]
[Aufgabe 6] -> [Aufgabe 7]
then [Aufgabe 8] lasts 2 days
then [Aufgabe 9] lasts 6 days
then [Aufgabe 10] lasts 3 days
then [Aufgabe 11] lasts 5 days
-- Endredaktion --
then [Abgabe Draft] happens 73 days after start
[Korrektur und fertigschreiben] lasts 9 days
[auf Feedback warten] lasts 5 days
[Feedback einarbeiten] lasts 3 days
[drucken und binden] lasts 1 day
[Abgabe] happens at 91 days after start
[Abgabe Draft] -> [auf Feedback warten]
[Abgabe Draft] -> [Korrektur und fertigschreiben]
[auf Feedback warten] -> [Feedback einarbeiten]
[Feedback einarbeiten] -> [drucken und binden]
[Korrektur und fertigschreiben] -> [drucken und binden]
[drucken und binden] -> [Abgabe]
[Anforderungsanalyse und Lit.-Recherche] is colored in lightblue
[Korrektur und fertigschreiben] is colored in lightblue
[auf Feedback warten] is colored in lightblue
[Feedback einarbeiten] is colored in lightblue
[drucken und binden] is colored in lightblue
@endgantt
Listing 1: Beschreibung des Zeitplans für das Gantt Diagramm in Abb. 1 mit der PlantUML- DSL
Eine Beschreibung der DSL von PlantUML für Gantt Diagramme finden Sie in der Anleitung für Gantt Diagramme mit PlantUML .
Im einfachsten Fall (“Normalfolge”), bei der Aufgabe auf Aufgabe folgt, brauchen Sie bloß die Aufgabenbeschreibung in eckigen Klammern mit vorangesetzem then
und der Dauer von n Arbeitstagen mit lasts n days
auflisten (im Beispiel von Listing 1 ist das so bei den Aufgaben 1-5 und 8-11). Pfeile (->
) brauchen Sie nur, wenn Sie andere Abfolgen im Zeitplan kennzeichnen wollen wie z.B. bei den überlappend ablaufend geplanten Aufgaben 5 und 6.
In der Beschreibung in Listing 1 ist der Start des Projekts fest vorgegeben (17.07.2019): Project starts the 2019/07/17
, Wochenenden und ein Feiertag sind aus der Berechnung der Zeitdauern ausgenommen: is closed
. Daher dauert die Aufgabe 1 (lasts 5 days
) sieben Wochentage lang vom 01.08. bis zum 07.08. Das Ende des Projekts ist ebenfalls vorgegeben (91 Tage nach dem Start) und die letzten Aufgaben ab dem Meilenstein Abgabe Draft sind fest bis zum Ende des Projekts geplant. Daher bleibt im Beispielzeitplan ein Puffer vom 21.09. bis zum 29.09. Dadurch, dass die Dauern der Aufgaben 1-11 vorgegeben sind (lasts x days
), wird der Puffer von PlantUML in die Lücke vor dem Meilenstein Abgabe Draft eingeplant.
Sie können den Terminplan in Listing 1 als Vorlage verwenden. Passen Sie lediglich Projektstart und Meilensteine (happens ...
), sowie Feiertage und ggf. Urlaubszeiten an (is closed
bzw. are closed
). Die hellblauen Aufgaben sollten Sie so lassen, wie sie sind. Sie entsprechen dem vorgegebenen Vorgehen im Fachgebiet verteilte und mobile Anwendungen. Nur die grünen Aufgaben müssen Sie für Ihr Projekt anpassen. Im einfachsten Fall können Sie die Normalfolge wählen wie im folgenden Listing 2.
...
-- Durchführung --
[Anforderungsanalyse und Lit.-Recherche] lasts 10 days
then [Präs. Literaturrecherche] happens 14 days after start
then [Datenmodell und Architektur] lasts 3 days
then [Kapitel 1-2 schreiben] lasts 4 days
then [Implementierung Backend] lasts 3 days
then [Implementierung und Test Adapter zu Legacy-System] lasts 4 days
then [Nutzerbefragung mit Fragebogen] lasts 2 days
then [Fragebogen auswerten und Forntend designen] lasts 4 days
then [Testprozedur planen] lasts 3 days
then [Frontend implementieren] lasts 3 days
then [Akzeptanztest] lasts 1 days
then [Kapitel 3-5 schreiben] lasts 10 days
...
Listing 2: beispielhafte Konkretisierung der Vorlage aus Listing 1
Sie können PlantUML entweder von
Github downloaden
und installieren. Dafür brauchen Sie aber Java, Ant und das
GraphViz-Paket
. Neben dem Start von der Kommandozeile (java -jar plantuml.jar zeitplan.puml
) gibt viele andere Möglichkeiten PlantUML zu benutzen (s.
Liste
).
Die einfachste – wenn auch nicht komfortabelste – Möglichkeit PlantUML zu verwenden ist das PlantUML Online Formular . Darin können Sie einfach mit der PlantuML- DSL für Gantt Diagramme PNG und SVG generieren lassen.
4. Welche Aufgaben sollen eingeplant werden?
Planen Sie unbedingt einen angemessenen Puffer ein (ca. eine Woche bei drei Monaten Dauer, ca. zwei Wochen bei sechs Monaten Dauer). Bei drei Monaten Dauer sollte die Arbeit in insgesamt in ca. 12-17 Aufgaben zerlegt werden, die im Regelfall mindestens drei Tage und maximal 10 Tage lang sein sollten. Bei sechs Monaten Dauer sollten Sie nicht mehr als 22 entsprechend größere Aufgaben einplanen.
Die einzuplanenden Aufgaben haben immer ein Ergebnis, auch wenn es manchmal nicht unbedingt greifbar in Form eines Artefakts (Modell, Quellcode, Testergebnis, geschriebenes Kapitel) ist, sondern nur neues, noch nicht niedergeschriebenes Wissen oder eine konkrete Idee in Ihrem Kopf ist.
Abgesehen von einigen Standardaufgaben wie Anforderungsanalyse und Literaturrecherche, die bei jedem BA-/MA-/SA-Projekt am Anfang stehen sollten, sowie Korrektur und fertigschreiben, auf Feedback warten, Feedback einarbeiten, drucken und binden, die immer am Ende stehen müssen, hängt es sehr von der konkreten Aufgabe ab, welche Aufgaben Sie einplanen sollten.
Planen Sie unbedingt auch das Schreiben der Arbeit ein – am besten kapitelweise – wobei Sie tendenziell kurze Kapitel wie das Fazit am Ende mit dem Schreiben von anderen Kapiteln zu einer Aufgabe zusammenfassen können.
Bei Arbeiten, in denen Software erstellt wird, können Phasen im Entwicklungsprozess als Aufgaben im Zeitplan verwendet werden, die im Regelfall mit der Fertigstellung eines oder mehrere Artefakte enden.
Falls die Aufgaben damit zu lang werden, können Sie ergänzend das Gesamtsystems in einige Komponenten zerlegen (z.B. Frontend, Backend, Adapter) und die Phasen entsprechend untergliedern (z.B. “Entwurf Backend”, “Implementierung Backend”, “Test Backend”, “Entwurf Frontend”, “Implementierung Frontend”, “Test Frontend”, “Integration Gesamtsystem”).
Weitere potenzielle Aufgaben, die bei einer Arbeit relevant sein können, sind “Architekturentwurf”, “Datenmodellierung”, “Experiment planen/durchführen/auswerten”, “Logfileanalyse”, “Test-Client-Entwicklung”.
Ein agiles Vorgehen z.B. in Anlehnung an Scrum ist aus mehreren Gründen bei Abschlussarbeiten problematisch. Lediglich bei explorativen Studienarbeiten kann dies in Absprache mit dem Betreuer sinnvoll sein. Da beim agilen Vorgehen das letztliche Resultat am Anfang noch unbestimmt sein muss, kann zum Beginn, wenn Thema, Vorgehen und Scope der Arbeit abgesprochen werden müssten, nicht beurteilt werden, ob es für eine Abschlussarbeit passend ist.
Wenn Sie ein in gewissen ASpekten vergleichbares partizipatives Vorgehen z.B. in Anlehung an EN ISO 9241-210 (ehemals EN ISO 13407) planen wollen, können Sie ein inkrementelles Vorgehensmodell ins Auge fassen. Aus jeder Iterationen muss dann aber aus den vorstehenden Gründen grundsätzlich ein validierbares Artefakt herauskommen, das zum Zeitpunkt der Planung spezifiziert werden muss. Planen Sie dann aber eine Validierung jedes Artefakts direkt nach der Iteration ein. Die Validierung soll sich auf den jeweiligen im Inkrement im Fokus stehenden Aspekt des Gesamtnutzens beziehen.
5. Verzögerungen und Verlängerung der Abgabefrist
In der Natur von Abschluss- und Studienarbeiten liegt, dass es zu unvorhergesehenen Verzögerungen kommen kann. In dem Fall hilft der Zeitplan festzustellen, ob der ursprünglich geplante Endtermin durch Verschieben von Aufgaben und Nutzung der noch vorhandenen Puffer eingehalten werden kann.
Sollte es laut der Planung nicht mehr realistisch möglich sein den Endtermin einzuhalten, sieht die Prüfungsordnung der HS Mannheim vor, dass wenn es zur Gewährleistung gleicher Prüfungsbedingungen oder aus Gründen, die von der zu prüfenden Person nicht zu vertreten sind, erforderlich ist, die Bearbeitungszeit um höchstens zwei weitere Monate verlängert werden kann. Die Entscheidung darüber trifft der Prüfungsausschuss auf der Grundlage einer Stellungnahme des Betreuers.
Eine Verlängerung kommt nur in Betracht, wenn der Plan keinen Puffer mehr enthält, wobei auch ggf. Wochenenden und andere als frei eingeplante Tage mit in die zur Verfügung stehende Zeit eingerechnet werden müssen. Der Umfang der Verlängerung muss minimal sein.
Da die Verlängerung beim Prüfungsausschuss beantragt werden muss, kann man sich nicht sicher sein, dass der Antrag tatsächlich bewilligt wird. Deshalb sollte besser der Scope, also der angepeilte Umfang der Arbeit, angepasst werden. Das kann dadurch geschehen, dass man Aufgaben entfallen lässt (bspw. eine Iteration beim inkrementellen Vorgehen), wenn das inhaltlich möglich ist. Wenn es im Zeitplan keine optionalen Aufgaben gibt, kann das erwartete Ergebnis einer oder mehrerer Aufgaben angepasst werden (z.B. nur Implementierung eines Teils der angestrebten Funktionalität, z.B. durch Weglassen der am wenigsten wichtigen funktionalen Anforderung).
Wenn der Umfang der Arbeit angepasst werden soll, muss das auf jeden Fall vorher mit beiden Gutachter/innen abgesprochen werden.
Wenn Scope oder Abgabetermin angepasst werden, muss der Zeitplan aktualisiert und mit allen Beteiligten abgestimmt werden.