Teilprojekt vs. Einzelprojekt für das Abschlussprojekt

Nicht alle Ausbildungsunternehmen können ihren Azubis für das Abschlussprojekt ein komplett eigenständiges Projekt anbieten. Und manchmal ist das auch gar nicht sinnvoll. Wenn auch die normale Arbeit im Betrieb so organisiert ist, dass alle Entwickler gemeinsam an einem Projekt arbeiten, sollte man für das Abschlussprojekt nicht unbedingt eine Ausnahme machen.

Daher stehen viele Prüflinge vor der Aufgabe, ihr Teilprojekt umzusetzen, zu dokumentieren und zu präsentieren. Die Frage, die sich viele von ihnen nun stellen, ist:

Worauf sollte man bei der Umsetzung eines Teilprojekts für die Abschlussprüfung achten?

Die kurze Antwort: Es muss eindeutig die Eigenleistung des Prüflings erkennbar sein.

Vor- und Nachteile von Teilprojekten

Man kann nicht grundsätzlich sagen, das Teil- oder Einzelprojekte besser für die Abschlussprüfung sind. Es kommt immer auf die individuelle Arbeit an. Einzelprojekte haben den Vorteil, dass unmissverständlich klar ist, was der Prüfling überhaupt gemacht hat. Das können die Prüfer dann direkt bewerten. Außerdem hat man natürlich freie Hand bei der Umsetzung und kann (falls es keine Vorgaben seitens des Unternehmens gibt) Programmiersprache, Datenbank, Entwicklungsprozess usw. selbst wählen. Auch den kompletten Projektablauf inkl. Planung und Kostenbetrachtung hat man in der eigenen Hand.

Bei Teilprojekten ist das Hauptproblem vieler Prüflinge, zu zeigen, was ihr Anteil am Projekt war. Allerdings entspricht die Umsetzung eines Teilprojekts in den meisten Betrieben wahrscheinlich eher der Realität. Denn wo werden in der Praxis tatsächlich solch kleine Projekte auf der grünen Wiese von einer Person umgesetzt? Meistens werden die Entwickler wohl eher gemeinsam an vorhandenen Projekten arbeiten.

Außerdem stellen sich bei Gemeinschaftsprojekten auch ganz andere Aufgaben. Man muss z.B. genau die Zuständigkeiten planen, Abhängigkeiten berücksichtigen, Meetings durchführen, Versionsverwaltung und Continuous Integration aufsetzen, Coding Guidelines erstellen und befolgen usw. Das sind natürlich alles Aufgaben, die ein professionelles Vorgehen erfordern – also genau das, was wir im Abschlussprojekt sehen wollen.

Teilprojekte haben also durchaus ihren Reiz. Sie sind anspruchsvoll (zumindest auf organisatorischer Ebene) und realistisch.

Herausstellen der Eigenleistung

Auch wenn Teilprojekte nun also eher der Realität in der Softwarebranche entsprechen, stellen wir doch an die Abschlussprüfung ganz besondere Anforderungen. Es geht um eine Prüfungsleistung, die bewertet wird. Der Prüfling soll zeigen, dass er methodisch Software entwickeln kann. Also muss er seine Fähigkeiten unter Beweis stellen.

Ein tolles Gesamtprojekt, zu dem der Prüfling nur Kleinigkeiten beisteuert, reicht also nicht als Prüfungsleistung aus. Er muss schon einen gewissen fachlichen Beitrag leisten, der auf dem Niveau eines Einzelprojekts liegt. Vielleicht werden gewisse Teile nicht so intensiv beleuchtet wie in einem Einzelprojekt (die Datenbank ist vielleicht schon vorhanden oder das Framework für die GUI ist bereits entworfen). Aber dann erwarte ich als Prüfer eine tiefere Auseinandersetzung mit den restlichen Bereichen (z.B. Schnittstellenproblematik, Einhaltung der Architektur, Abstimmung mit anderen Entwicklern).

Häufig werden in Projektarbeiten von Teilprojekten auch nicht alle üblichen Bereiche – Datenhaltung, Logik, Präsentation – der Softwareentwicklung behandelt. Wenn die Datenbank und die GUI bereits definiert ist, hat der Prüfling hier halt nichts mehr zu tun. Dennoch möchte ich als Prüfer natürlich ein umfassendes Bild der Fähigkeiten des Prüflings bekommen. Und wenn ich „nur“ die Programmierung gezeigt bekomme, aber die Datenmodellierung oder Oberflächengestaltung „fehlt“, erwarte ich eine deutlich intensivere Auseinandersetzung mit den vorhandenen Teilen. Es sollte dann z.B. nicht nur ein Klassendiagramm vorhanden sein, sondern auch mal das ein oder andere Sequenz- und Objektdiagramm, auf das man in einem Einzelprojekt vielleicht zugunsten von ERM und Mockups verzichten würde.

Kurzum: Auch wenn der Prüfling Teil eines Gesamtprojekts ist, muss mir als Prüfer deutlich werden, was genau er gemacht hat, und dass ihm die üblichen Methoden bei der Softwareentwicklung vertraut sind und er sie korrekt anwenden kann.

Erläuterung des Gesamtprojekts

Ein häufiges Problem in Projektdokumentation und -präsentation bei der Beteiligung an Gesamtprojekten ist, dass viel Zeit und Platz für die Erläuterung des Gesamtprojekts vergeudet wird. Sicherlich ist es wichtig, zu erklären, worum es beim Gesamtprojekt geht und wie das Teilprojekt dort eingegliedert ist. Aber wie gesagt interessiert mich als Prüfer lediglich die Eigenleistung des Prüflings. Genausowenig wie der tolle Ausbildungsbetrieb zu einer besseren Abschlussnote beiträgt, hat das imposante Großprojekt Auswirkungen auf die Notenfindung, wenn der Prüfling nicht den erwarteten Beitrag geleistet hat.

Ich empfehle daher, in den Artefakten der Projektarbeit nur so kurz wie möglich und so lang wie nötig auf das Gesamtprojekt einzugehen. Der Zusammenhang muss deutlich werden und die Prüfer müssen die Aufgabenstellung verstehen. Alles, was für dieses Verständnis notwendig ist, muss in der Projektdokumentation und -präsentation gezeigt werden. Alles andere sollte ersatzlos gestrichen werden.

Außerdem lassen viele Prülinge in Teilprojekten einfach die Kostenplanung außen vor. Das hat ja immerhin schon jemand anders gemacht – nämlich für das Gesamtprojekt. Warum also nochmal das Teilprojekt individuell betrachten? Das mag zwar in der Praxis so sein, aber trotzdem erwarte ich in der Prüfungsleistung eine kaufmännische Auseinandersetzung mit dem Teilprojekt. Das ist ein (meiner Meinung nach) zwingender Bestandteil der Projektarbeit. Der Prüfling muss über die technischen Kenntnisse hinaus auch die wirtschaftlichen Aspekte berücksichtigen und in seiner Projektarbeit demonstrieren. Es ist vielleicht schwierig, den für das Gesamtprojekt angeschafften teuren Server anteilig auf das Teilprojekt umzulegen oder die potentiellen Einsparungen genau dieses einen Projektteils zu bewerten, aber wie bereits erwähnt haben Teilprojekte nun einmal besondere Anforderungen.

Fremde Artefakte deutlich kennzeichnen

Bei der Abgrenzung des Teilprojekts vom Gesamtprojekt werden in Projektdokumentation und -präsentation häufig Artefakte wie Architekturdiagramme verwendet. Hierbei ist darauf zu achten, dass deutlich erkennbar ist, wer diese Artefakte erstellt hat. Oftmals habe ich in Dokumentationen nicht erkennen können, ob z.B. ein Komponentendiagramm vom Prüfling erstellt oder einfach vom Architekten des Gesamtprojekts (leider meist ohne Quellenangabe) übernommen wurde.

Letzterer Fall müsste natürlich bei fehlendem Quellennachweis zu Punktabzug – oder noch schlimmer zum Nichtbestehen – führen. Aber anders herum kann ich die erstellten Artefakte auch bei korrekter Zitation nicht als Leistung des Prüflings anrechnen und bewerten, da er sie nicht selbst erstellt hat. Daher nochmal meine Empfehlung von oben: Nur gerade so viel wie nötig zum Gesamtprojekt erzählen und den Fokus auf die eigene Leistung legen – und das schließt alle Darstellungsformen ein.

Häufig habe ich diesbzgl. gesehen, dass z.B. in komplexen Datenbankmodellen die Tabellen deutlich hervorgehoben (z.B. farbig) werden, die der Prüfling hinzumodelliert hat, oder in Klassendiagrammen auf Package-Ebene unterschieden wird, wer welche Teile implementiert hat. Das ist dann völlig in Ordnung, da die Leistung des Prüflings klar erkennbar ist.

Fazit

Teilprojekte sind eine gute Wahl für realistische Abschlussprojekte. Wenn man als Prüfling darauf achtet, seine eigene Leistung herauszustellen und mit selbst erstellten Artefakten zu dokumentieren, gibt es keine Vor- oder Nachteile gegenüber Einzelprojekten, die der Prüfling komplett alleine umsetzt. Im Gegenteil, die Arbeit als Teil eines komplexen Projekts stellt den Prüfling vor besondere Herausforderungen, die auch meist durch die Prüfer honoriert werden.


Hast du ein Teil- oder Einzelprojekt für deine Prüfung gewählt? Warum hast du diese Entscheidung getroffen? Was sind deiner Meinung nach Vor- und Nachteile beider Varianten bzw. worauf hast du in der Projektarbeit besonders geachtet?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax