64-153 Praktikum Software-Entwicklung im Team

Veranstaltungsdetails

Lehrende: Laif-Oke Clasen

Veranstaltungsart: Praktikum

Anzeige im Stundenplan: Prak Software

Semesterwochenstunden: 4

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: - | 20

Anmeldegruppe: Anmeldegruppe Praktika

Kommentare/ Inhalte:
Möchtest du lernen wie man in einem größeren Team Software entwickelt?
Interessiert dich, wie große Projekte organisiert werden?

In diesem Praktikum erhältst du die Möglichkeit, den gesamten Softwareentwicklungsstack kennen zu erlernen. Wir analysieren, entwerfen, entwickeln und pflegen eine große Open-Source-Software.
Zu diesem Zweck werden wir die seit 25 Jahren am Fachbereich entwickelte Software Renew und ihre Erweiterungen systematisch behandeln.
Alle Beteiligten werden individuell die eigenen Fähigkeiten, Wissen und Kenntnisse vertiefen.
Dies wird in kooperativer Teamarbeit erfolgen, um das eigenständige Lernen aller Beteiligten im Team optimal zu unterstützen.

Für die Durchführung des Praktikums werden in der Wirtschaft üblicher Weise eingesetzte Werkzeuge benutzt, u.a. Jira, Confluence, Git, Idea, Java, Docker, Kubernetes, Kafka.

Lernziel:
Das primäre Ziel des Praktikums ist, dass alle am Ende des Praktikums ihre eigenen Kenntnisse und Fähigkeiten erweitert und vertieft haben.
Das Ziel wird erreicht durch
a) die Verbesserung der Open-Source-Software Renew und seiner Bestandteile bezüglich der jeweiligen Ziele der Teams und
b) die Verbesserung der Softwareentwicklungsumgebung durch eigene Beiträge.

Konkreter lässt sich dies als Erwerb von Kenntnissen und praktischen Fähigkeiten in der kollaborativen Softwareentwicklung umschreiben. Dabei werden individuell, nach persönlichen Interessen Schwerpunkte auf bestimmte Themen gelegt, z.B.:


  • Verständnis eines kollaborativen Projektteams
  • Kollaboration mit rollenbezogenen Aufgaben
  • Individueller, eigenständiger Erwerb von Kenntnissen
  • Vermittlung von (neu erworbenem) Wissen an das Team
  • Vertiefung und Erweiterung der Softwareentwicklung im Kleinen
  • Kennenlernen der Softwareentwicklung im Großen
  • Entwicklung neuer Bestandteile im Kontext existierender Software
  • Behebung und Bereinigung fehlerhafter Software
  • Bauen von Software im Rahmen der eigenen individuellen Möglichkeiten
  • Erlangen von Einblicken in Softwarequalitätsanforderungen
  • Analyse und Reflektion der Softwareentwicklungsprozesse
  • Interpretieren der Analyseergebnisse und Belegen von Vermutungen
  • Dokumentieren des Vorgehens und der Ergebnisse
  • Administration der Rechnerinfrastruktur
  • DevOps

Vorgehen:
Das Praktikum erfordert eine Präsenz damit gemeinsam kooperativ im Team gearbeitet werden kann.
Weiterhin sind während der Vorlesungszeit oder entsprechend bei Bedarf später in der vorlesungsfreien Zeit gemeinsame Arbeitszeiten in kleineren oder größeren Gruppen sehr hilfreich.

Eingesetzt wird eine komplexe und umfangreiche Softwareentwicklungsumgebung, die einen elaborierten Softwareentwicklungsansatz unmittelbar wie in kommerziellen Umgebungen unterstützt. Dies erfordert einen individuell sehr unterschiedlichen Umfang der Einarbeitung, der zu Beginn des Praktikums je nach bisherigem eigenem Erfahrungsschatz besprochen wird.

Das Praktikum lässt sich grob in die folgenden Phasen aufteilen:

0. Bei Interesse ist die selbständige Einarbeitung in die technische Umgebung VOR Beginn der Vorlesungszeit möglich. (dann bitte bei den Veranstaltern melden).
1. Mit Beginn der Vorlesungszeit: Einarbeitung in die grundlegenden Werkzeuge in kleineren Teams. Dabei gibt es pro agilem Team (4-7 Personen) ein oder mehrere erfahrene Personen, die die Einarbeitung in die Techniken, Methoden und die dafür notwendigen Werkzeuge unterstützen. Für den Einstieg sind Softwareentwicklungsaufgaben vorbereitet sowie dazu passende einfache und speziell vorbereitete Anforderungen.
2. Je nach Fortschritt des gesamten Teams werden Methoden, Techniken, Werkzeuge und die Entwicklungsumgebung von den Veranstaltern oder Freiwilligen aus dem Team vorgestellt und sofort praktisch eingesetzt / erprobt.
3. Im Gesamtteam werden Ziele beschlossen, die dann in agilen Teams bearbeitet werden. In den Teams werden dann spezifische Aufgaben für die Sprints festgelegt.
4. Vorlesungsfreie Zeit: Dort werden bei Bedarf abschließende Aufgaben bearbeitet und der Abschlussbericht fertig gestellt.

Ein eigener Rechner für Arbeiten zu Hause ist notwendig, wenn man die Rechner in Stellingen nicht nutzen will.
Dies gilt für die kollaborative Arbeit auch außerhalb der Präsenzzeit. Sind diese Mittel nicht vorhanden, können die Teilnehmenden (so fern möglich) gern die von der Universität bereitgestellten Computer (PC Räume und Laptops) nutzen. Entsprechende Räume sind für die Präsenzzeiten reserviert. Zudem sind Räume am Donnerstag von 12-18h und Freitag 12-14h reserviert. Weitere Räume könnten bei Bedarf zur Verfügung gestellt werden.
Sämtliche Bestandteile der genutzen Infrastruktur laufen auf Rechnern des Fachbereichs. Bei Interesse können Aufgaben auch in diesem administrativen / DevOps Bereich übernommen werden.

Für den Ablauf ist es wichtig zu wissen, dass von allen ein kollaboratives, kooperatives, konstruktives Miteinander erwartet wird. Dies zeigt sich insbesondere darin, dass erfahrene Personen anderen helfen (und so die Vermittlung von Wissen im Team erlernen / vertiefen). Hervorzuheben ist, dass auch weitere Personen in das Praktikum eingebunden sind, die schon länger mit der Entwicklungsumgebung arbeiten, so dass mehrere Experten zusätzlich zu den üblichen Teilnehmenden dabei sind.

Begleitet wird das Praktikum vom Seminar 64-160 Seminar Kommunikation, Koordination, Kooperation und Kollaboration in der verteilten Software-Entwicklung, in dem die eigenen fachlichen Interessen bezüglich des Praktikums vertieft werden können und welches parallel zum Praktikum belegt werden kann.

Die parallel stattfindenden Projekte 64-858-P (Master) / 64-184 (Bachelor) Kollaborative verteilte Software-Entwicklung und 64-192 (Bachelor) Einsatz von Kubernetes, Docker und Co für die Entwicklung einer Open-Source Software ermöglichen vielfältige Querbezüge und Erfahrungsaustausche zur allgemeinen Software-Entwicklung.

Literatur:
Literatur kann vorab bei den Veranstaltern erfragt werden und wird zudem in der Veranstaltung bekanntgegeben.

Zusätzliche Hinweise zu Prüfungen:
Das Praktikum eignet sich für alle Bachelorstudiengänge!

Erwartet werden, neben der aktiven Mitarbeit, eine nachhaltige Dokumentation der Arbeitsschritte und Ergebnisse als Bericht sowie die Vorstellung der Ergebnisse/Lösungsansätze.

Diese Veranstaltung ist Bestandteil des semesterübergreifenden Forschungsprojekts "Agentenorientierung" des Labors für agenten- und organisationsorientierte Softwareentwicklung (Laos). Im Rahmen des Forschungsprojektes besteht die Möglichkeit zur Abfassung von Projekt-, Bachelor-, Baccalaureats-, Master- und Diplomarbeiten. Dazu bieten sich u. a. die im Praktikum erstellten Berichte als Grundlage an.
Bei Interesse können die Themen des Praktikums im Rahmen des in folgenden Semestern angebotenen Softwareentwicklungsprojekts oder in individuellen Basecamp-Projekten im freien Wahlbereich weiter vertieft werden.

Termine
Datum Von Bis Raum Lehrende
1 Do, 19. Okt. 2023 14:00 18:00 D-114 Laif-Oke Clasen
2 Do, 26. Okt. 2023 14:00 18:00 D-114 Laif-Oke Clasen
3 Do, 2. Nov. 2023 14:00 18:00 D-114 Laif-Oke Clasen
4 Do, 9. Nov. 2023 14:00 18:00 D-114 Laif-Oke Clasen
5 Do, 16. Nov. 2023 14:00 18:00 D-114 Laif-Oke Clasen
6 Do, 23. Nov. 2023 14:00 18:00 D-114 Laif-Oke Clasen
7 Do, 30. Nov. 2023 14:00 18:00 D-114 Laif-Oke Clasen
8 Do, 7. Dez. 2023 14:00 18:00 D-114 Laif-Oke Clasen
9 Do, 14. Dez. 2023 14:00 18:00 D-114 Laif-Oke Clasen
10 Do, 21. Dez. 2023 14:00 18:00 D-114 Laif-Oke Clasen
11 Do, 11. Jan. 2024 14:00 18:00 D-114 Laif-Oke Clasen
12 Do, 18. Jan. 2024 14:00 18:00 D-114 Laif-Oke Clasen
13 Do, 25. Jan. 2024 14:00 18:00 D-114 Laif-Oke Clasen
14 Do, 1. Feb. 2024 14:00 18:00 D-114 Laif-Oke Clasen
Prüfungen im Rahmen von Modulen
Modul (Startsemester)/ Kurs Leistungs­kombination Prüfung Datum Lehrende Bestehens­pflicht
InfB-Prak Praktikum Informatik (WiSe 22/23) / InfB_Prak  Praktikum Software-Entwicklung im Team Praktikumsabschluss 3  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak Praktikum Informatik (SoSe 22) / InfB_Prak  Praktikum Software-Entwicklung im Team Praktikumsabschluss 4  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak Praktikum Informatik (SoSe 23) / InfB_Prak  Praktikum Software-Entwicklung im Team Praktikumsabschluss 2  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak Praktikum Informatik (WiSe 23/24) / InfB_Prak  Praktikum Software-Entwicklung im Team Praktikumsabschluss 1  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (WiSe 22/23) / SSE_PR  Praktikum Software-Entwicklung im Team Praktikumsabschluss 3  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (SoSe 23) / SSE_PR  Praktikum Software-Entwicklung im Team Praktikumsabschluss 2  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (WiSe 23/24) / SSE_PR  Praktikum Software-Entwicklung im Team Praktikumsabschluss 1  Praktikumsabschluss ohne Termin Laif-Oke Clasen; Dr. Daniel Moldt Ja
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
Lehrende
Laif-Oke Clasen