Infos für Auftraggeber
Teamprojekt Softwareentwicklung

The content of this page is only available in German.
Please go to German version of this page

Alle Mitarbeiter*innen der TU Darmstadt können Softwareprojekte einreichen, die von Studierendenteams der Informatik (5. Semester) im Rahmen des Moduls Teamprojekt Softwareentwicklung (TPSE), ehem. Bachelor-Praktikum (BP), bearbeitet werden. Diese Infopage bündelt alle Infos, die Sie brauchen, wenn sie als Auftraggeber*in (AG) ein Projekt einreichen möchten.

Projekteinreichung gestartet!

Sie können ab sofort hier Ihr Projekt einreichen.

Timeline

01.09.2025 Projekteinreichung startet
01.10.2025 Deadline Projekteinreichung durch Auftraggeber*innen
Oktober 2025 Deadline zum Einreichen der Werbeslides, anhand derer die Teams die Aufträge wählen.
Oktober 2025 Bestätigung, ob das Thema gewählt wurde
November 2025 Erstes Treffen mit den Studierenden
März 2026 Deadline für die Projektübergabe

Was ist das TPSE?

Das Teamprojekt Softwareentwicklung (TPSE) ist ein 9 CP-Praktikum für Bachelorstudierende der Informatik im 5. Semester, das jedes Wintersemester angeboten wird. Gegenstand des TPSEs ist das Erlernen & Erleben der systematischen Durchführung eines realen Softwareprojekts in einem Team von 4 bis 5 Personen. Jedes Team wird dabei zusätzlich von einem Studierenden höheren Semesters als Teambegleitung (TB) unterstützt.

Was bietet das TPSE?

Mitarbeiter*innen der TU Darmstadt können Projekte anbieten, die von den Studierenden gewählt und bearbeitet werden. Die entstehende Software soll einen Nutzen für Forschung. Lehre oder universitären Alltag haben. Die Nutzung der Software sollte angestrebt werden, die Eignung der Software kann aber nicht garantiert werden, da das TPSE eine Lehrveranstaltung ist.

Veranstalter

Das TPSE wird kooperativ organisiert vom Multimodal AI Lab, der Software Technology Group und der Gruppe Interactive Robot Perception & Learning. Sie erreichen das Veranstalterteam am besten unter .

Ihre Aufgaben

  • Regelmäßige (alle 2 Wochen) Treffen mit der Projektgruppe
  • Gemeinsames Erarbeiten von Anforderungen für Implementierung und Qualitätssicherung
  • Bereitstellen benötigter Hard- und Software
  • Abschließende Bewertung der Entwurfs- & Implementierungsarbeit

Ressourcen

Alle Studierenden sind typischerweise bereits mit Computer und üblicher Entwicklungsumgebung (IDE) ausgestattet.

Sollte Ihr Projekt Ressourcen erfordern, die darüber hinausgehen, müssen Sie diese dem Team zur Verfügung stellen. Das könnte sein:

  • Hardware: Bspw. Webserver zum Hosten einer Web-UI.
  • Software: Bspw. Lizenzen für eine Entwicklungsumgebung für eine besondere Programmiersprache oder Zugriff auf eine bestimmte API.
  • Materialien: Hintergrundinfos zum Projekt (Dokumentation bisheriger Software, Handreichung…) o. ä.
  • Räume: Bspw. für vor-Ort-Treffen mit Ihnen oder wenn das Team seine Arbeit vor Ort durchführen muss.

Verwertung der Software

Bei dem TPSE handelt es sich um ein Pflichtpraktikum. Es gelten deswegen in Hinblick auf die wissenschaftliche bzw. kommerzielle Verwertung dieselben Regeln, wie sie auch im Falle von Praktika etc. gelten. Soll die erstellte Arbeit nach Abschluss in einer bestimmten Art und Weise wissenschaftlich bzw. kommerziell verwertet werden, so ist dies bei der Themenvorstellung zu erwähnen und im Rahmen des ersten Treffens noch einmal unmittelbar mit den Gruppen abzustimmen. Vonseiten der Veranstalter*innen aus gibt es keine Vorgaben. Den Veranstalter*innen muss jedoch ggf. Einsicht in den Code gewährt werden, wenn es zu Problemen im Rahmen der Notenfindung kommt.

Eine der größten Herausforderungen bei der Softwareentwicklung ist es, dass die Entwickler genau verstehen, was die Auftraggeber benötigen. Der hier gezeigte Cartoon von Alex Gorbatchev illustriert die Schwierigkeit, sowohl Anforderungen zu kommunizieren als auch herauszufinden, was sie überhaupt sind.

In der Softwareentwicklung hat sich das „Agile“ Modell bewährt, um die Entwicklung von unpassender Software zu vermeiden. In unserem Ansatz bedeutet das, dass sich das Entwicklerteam alle zwei Wochen mit den Auftraggebern trifft, um gemeinsam die Anforderungen zu erarbeiten und zu verfeinern. Ab dem zweiten bis dritten Treffen wird bereits laufende Software präsentiert. Diese frühen Versionen der Software haben zwar noch begrenzte Funktionen, helfen jedoch den Auftraggebern, ihre Anforderungen besser zu verstehen und klar zu kommunizieren.

Scheuen Sie sich deshalb nicht, Themen anzubieten, bei denen Ihnen noch nicht ganz klar ist, wie die Lösung aussehen könnte. Sie müssen nur eine gute Lösung von einer schlechten unterscheiden können, wenn Sie sie sehen.

Beachten Sie bitte auch, dass es notwendig sein kann, den Umfang des Projektes während des Semesters daran anzupassen, wie gut das Team vorankommt. Ihre Aufgabe ist es, zu priorisieren, an welchen Funktionalitäten (sogenannten „User Stories“) das Team als Nächstes arbeiten soll, während das Team Ihnen eine grobe Einschätzung bietet, wie viel Aufwand jedes Feature erfordert.

Geeignete Projekte

  • Das Projekt muss bis Ende Februar abgeschlossen werden können.
  • Kein tiefes Domänenwissen als Vorkenntnis erforderlich.
  • Das zu lösende Problem ist klar definiert.

Wichtig

Es geht für die Studierenden um Softwareentwicklung, nicht etwa Forschungsprojekte, die Implementierung beinhalten. Das reine Training von KI Modellen bspw. ist kein Softwareentwicklungsprojekt.

Die „Werbefolien“ sind ein PDF mit 3-6 Slides, in denen das Projekt kurz umrissen wird, damit die Studierendenteams schnell einen Eindruck bekommen können, ob das Projekt für sie geeignet ist.

Die Folien werden den Teams online zur Verfügung gestellt. Sie werden die Folien NICHT präsentieren.

Bitte machen Sie sich keine unnötige Arbeit beim Gestalten der Folien. Es geht darum, einen Eindruck für die Projektinhalte zu vermitteln, nicht darum, die Teams zu beeindrucken.

  • Die erste Slide muss den Namen des Projektes und der Kontaktperson prominent beinhalten – dies ist für die Zuordnung wichtig.
  • Die letzte Slide muss vorher festgelegte Rahmenanforderungen für das Projekt beinhalten (siehe unten).

Wie Sie das Projekt beschreiben, bleibt Ihnen überlassen. Wir empfehlen jedoch:

  • Wenn es verwandte Software gibt, erwähnen Sie diese (ggf. mit Screenshots).
  • Geben Sie den Projektkontext an.
  • Geben Sie Probleme an, die verbessert werden sollen.
  • Geben Sie Aufgaben oder Prozessabläufe an, die von der Software übernommen werden sollen.
  • Welche zusätzlichen Erfahrungen kann das Team in Ihrem Projekt gewinnen?
  • Halten Sie sich kurz; es geht darum, einen Eindruck zu vermitteln, nicht das Projekt zu spezifizieren.

Beispielfolien

Anmerkung: Die Beispielfolien beinhalten nicht so klar eine spezifische Slide für die Rahmenanforderungen, da wir dies erst seit WS2024 explizit angeben.

Positive Punkte der Beispielfolien:

  • Klar abgetrennte Titel.
  • Projektbeschreibung beinhaltet Bilder von „ähnlicher“ Software, um eine Idee zu geben, was sich die Auftraggeber*innen vorstellen.
  • Projektbeschreibung ist nicht „überspezifiziert“ – die Details können in den Meetings geklärt werden.
  • Beispiele für konkrete Entwicklungsaufgaben.
  • Links zu weiterführenden Informationen.

Rahmenanforderungen

Wenn Sie schon vorher wissen, dass bestimmte Rahmenanforderungen von den Teams erfüllt werden müssen, dann müssen Sie diese bereits auf den Werbeslides nennen. Darunter fällt z. B.:

  • Müssen die Teams vor Ort arbeiten? (Laborräume, Geräte, etc.)
  • Muss das Team bestimmte Software für die Entwicklung verwenden?
    • Integration in vorhandenes Projektmanagement.
    • Veröffentlichung in Software-Stores.
  • Muss das Projekt bestimmte Technologien verwenden?
    • Programmiersprache?
    • Betriebssystem, auf dem das Projekt ausgeführt wird?
    • Weiterentwicklung eines vorhandenen Projektes?
    • Plattformen/APIs, mit denen das Projekt kompatibel sein muss?
  • Sind bestimmte Lizenzen erforderlich?
    • Soll das Projekt unter einer Open Source veröffentlicht werden?
    • Unterliegt das Projekt irgendeiner Geheimhaltung? (Kommerzieller Code?)
  • Sollen die Treffen zwischen Ihnen (den Auftraggeber*innen) und den Teams in Person oder virtuell stattfinden?
  • Welche Ressourcen stellen Sie für die Projektbearbeitung bereit? Bitte beachten Sie: Wenn bestimmte Ressourcen (Laborräume, Hardware, Zugang zu Servern, etc.) für den Projektabschluss erforderlich sind, müssen Sie diese bis spätestens Mitte November bereitstellen.

Es ist möglich, dass Ihr Projekt keine solchen Rahmenanforderungen hat. In diesem Fall notieren Sie dies bitte einfach auf der letzten Slide.

Sie sollten diese Anforderungen auch nach der Gruppenzuteilung noch einmal direkt mit der Gruppe diskutieren.

Es ist auch möglich, dass sich Rahmenanforderungen erst nach der Gruppenzuteilung ergeben. In diesem Fall liegt es an Ihnen, mit der Gruppe gemeinsam eine Lösung zu finden, die für alle akzeptabel ist.

Fragen und Antworten

Es ist immer schwierig, den Umfang von Softwareprojekten einzuschätzen. Deshalb kann es typischerweise notwendig werden, den Projektumfang ad hoc anzupassen, je nachdem wie gut das Team vorankommt. Dies kann in beide Richtungen gehen. Wenn das Team nicht gut vorankommt, sollte trotzdem versucht werden, ein Teilproblem vollständig zu lösen, anstelle von halbfertiger Software, die keinen praktischen Nutzen hat. Für den Fall, dass ein Team gut vorankommt, ist es wünschenswert, dass das Projekt sinnvoll erweitert wird, um die Bearbeitungszeit zu füllen.

Der vorgesehene Arbeitsumfang für die Studierenden gliedert sich wie folgt:

  • ca. 180 Stunden pro Person für Entwicklung, Dokumentation, Organisation, Treffen, etc.
  • ca. 90 Stunden pro Person für Vorlesung, Vortragstraining, Abschlusspräsentationen etc.

Im TPSE ist ein iterativer Prozess vorgesehen, in welchem in Zwei-Wochen-Abschnitten nächste Schritte priorisiert und Teilergebnisse besprochen werden, um sicherzustellen, dass die Entwicklung auch in die richtige Richtung geht.

Dafür ist es vorteilhaft, eine große Projektvision von dem zu haben, was Sie gerne hätten. Denn dann kann das Team Vorschläge machen, wie sich das in kleinere Bestandteile zerlegen lässt, die Sie dann priorisieren können.

Selbstverständlich können auch bestehende Projekte erweitert werden. Berücksichtigen Sie jedoch, dass die schon existierende Codebase einer Einarbeitung des Teams bedarf, das entsprechend mehr Zeit in Anspruch nimmt.

Entscheidend ist, dass sich klare “User Stories” herausarbeiten lassen, deren Erfolg sich prüfen lässt.

Qualitätsmerkmale wie die Wartbarkeit des Codes sind “nicht-funktionale” Anforderungen – diese sicherzustellen ist auch Teil des Projektes, kann aber nicht die einzige Aufgabe sein.

Zur Bewerbung Ihres Projekts fertigen Sie als AG einen kurzen Foliensatz an. Diese Folien werden den Studierenden zur Verfügung gestellt und können gerne auch noch Links auf weitere Informationen enthalten. Dabei erscheint Ihr Projekt umso attraktiver, je verständlicher, spezifischer und bildhafter Sie das Projekt beschreiben können. Eine geringere Komplexität und nicht zu großer Umfang helfen dabei auch. Auch hilft es, die Relevanz des Projekts zu verdeutlichen. Nennen Sie auch gerne die expliziten Vorteile, die die Studierenden von Ihrem Projekt haben.

Aufgrund der hohen Anzahl an Themen (wir rechnen mit ~100) ist außerdem die Wahl eines geeigneten und interessant klingenden Titels wichtig.

Als Tipp: Für viele Teams ist es attraktiv, wenn das Team die eingesetzten Technologien selber wählen kann, da dann bestehende Kenntnisse genutzt werden können.

Forschungsfragen fallen in dieser Form nicht in das TPSE, da sie zu wenig Softwareentwicklungsarbeit enthalten.

Was aber durchaus denkbar wäre, ist ein Auftrag, bei dem das Team eine Plattform für die Auswertung von Daten erstellt. Dies könnte z.B. beinhalten:

  • Eine Oberfläche, um Dokumente einzulesen (auch in großen Mengen)
  • Integration von Werkzeugen, um die Textdaten aus den Dokumenten zu extrahieren
  • Ermöglichen von Analysen über die Textdaten
  • Tools zum Erstellen von Grafiken, um Ergebnisse zu visualisieren.

Was nicht vom Team durchgeführt werden sollte, sind Aufgaben wie:

  • Das Finden geeigneter Dokumente und anderer Ressourcen
  • Die Auswahl wissenschaftlich geeigneter Algorithmen zur Problemlösung
  • Auswahl und Vergleich von Graphen, um geeignet Ergebnisse zu präsentieren

Kurzum: Das Team soll Software entwickeln, die für Sie als AG am Ende des TPSEs weiterhin nützlich ist (oder zumindest nützlich sein könnte), ohne dass das Team weiterhin Aufgaben erfüllt.

Es ist normal, mit dem Team zu diskutieren und zu entscheiden, wie effektive Lösungen für Ihre Probleme aussehen könnten. Das involviert die Balancierung von dem, was für Sie wichtig ist und was das Team zügig entwickeln kann. Wenn absehbar ist, wer die User der zu entstehenden Software sein werden, lassen Sie das Team mit diesen sprechen, um die spezifischen Bedürfnisse zu erfassen und so eine zugeschnittene Lösung zu entwickeln.

Bedenken Sie: Damit Teams Ihren Projektvorschlag wählen, ist es sehr hilfreich, konkrete Beispiele zu liefern, was eine Softwarelösung können soll. Machen Sie aber auch klar, dass dies nur Beispiele sind und Anpassungen während des Entwicklungsprozesses möglich sein werden, je nach o. g. Feststellungen.

Das Team besteht typischerweise aus Bachelor-Studierenden im 5. Semester. Das Grundstudium selbst lehrt Softwareentwicklung in Java, Python, sowie vereinzelt andere Programmiersprachen.

Es ist gut möglich, dass Teams sehr wenig Vorerfahrung mitbringen und sich zu Beginn des Projektes erst einarbeiten müssen.

Gleichzeitig ist das Selbststudium ein Skill, der von den Studierenden abverlangt werden kann. Und es gibt immer wieder Teams mit verschiedensten Hintergründen, die sich ergänzen können.

Falls Ihr Auftrag Vorwissen erfordert (oder sehr davon profitiert), raten wir deshalb, dies in der Projektbeschreibung anzumerken, damit Teams den Auftrag entsprechend wählen oder vermeiden können.

Aus Gründen der Verantwortlichkeit bei der Benotung und des Datenschutzes müssen Auftraggeber*innen Angehörige der TU Darmstadt sein. Für Unternehmen steht das Software Engineering Project (SEP) zur Verfügung, ein ähnliches, jedoch umfangreicheres Projekt. Dort wird die Verantwortung durch das Lehrpersonal kostengünstig übernommen.

Kontakt

Sie erreichen die Veranstalter*innen unter