Lehrende: Dr. Daniel Moldt
Veranstaltungsart:
Projekt
Anzeige im Stundenplan:
PJ Agile Entw.
Semesterwochenstunden:
6
Credits:
9,0
Unterrichtssprache:
Deutsch / Englisch
Min. | Max. Teilnehmerzahl:
- | 15
Anmeldegruppe: Anmeldegruppe Projekte
Kommentare/ Inhalte:
Hast Du Interesse an professioneller Softwareentwicklung in einem verteilten Kontext?
Möchtest du agil arbeiten / Scrum in größerem Kontext kennenlernen?
Bei uns im Projekt lernst du gemeinsam im Team eine bestehende Java Modellierungsanwendung (Renew) weiterzuentwickeln, mit der Möglichkeit dich selbst einzubringen und den Verlauf des Projektes mitzugestalten.
Während des Projektes wird in einzelnen Scrum Teams an unterschiedlichen Themenblöcken gearbeitet. Begleitet werden die Teams von erfahrenen Renew NutzerInnen und EntwicklerInnen, so dass eine permanente Feedback-Schleife entsteht.
Die Veranstaltung wird digital die hybride Arbeitssituation verteilter Softwareentwicklung abbilden.
Beispiele für Themenblöcke, die von den Teams bearbeitet werden können:
- Neuste Java 17 - 20 Konzepte analysieren und einbauen
- Entkopplung von Schnittstellen und Implementationen (Architektur)
- Microservice Architektur für verteiltes Ausführen (Kubernetes, Docker etc.)
- Verteilung und Nebenläufig auf Basis der neuen virtuellen Threads in Java
- Entwicklung neuer Plugins als Modul / Layer
- Erprobung von Adaptivität in Architekturen
- Geschäftsprozessmodellierung
- Entwicklung eines verteilten Spiels (Siedler von Catan)
Lernziel:
- Kollaboratives Arbeiten mit Scrum
- Vertiefung der Entwicklerfähigkeiten
- Einarbeiten in bestehende Entwicklungsumgebungen
- Selbstständiges Lösen von Problemen im Team
- Vertiefung der eigenen Interessen im Bereich Softwaretechnik
Erklärtes Ziel ist gemeinsam zu lernen, so dass alle(!) Beteiligten des Projektes ihre Kenntnisse und Fähigkeiten am Ende verbessert haben.
Vorgehen:
Ablaufrahmen:
Vorgesehen ist, dass nach einer Einarbeitungsphase vor Ort oder in Absprache innerhalb der Teams hybrid / online gearbeitet werden kann.
Während der Vorlesungszeit ist eine online / vor-Ort Präsenz während der Zeit Do 14-18 notwendig.
Für die erste Woche sind als feste vor-Ort Präsenztermine Mi 16-18 und Do 14-18 vorgesehen.
In der zweiten Woche ist der Termin Do 14-18 vor Ort eingeplant.
Weitere gemeinsame Zeiten erfolgen nach Absprache im Team.
Inhaltliches Vorgehen:
Nach einer kurzen Einführung in Renew und in die Entwicklungsumgebung werden verschiedene Scrum Teams gebildet, die verschiedene Features für Renew entwickeln. Personen aus höheren Semestern, die Erfahrungen in der Nutzung und Entwicklung im Projektkontext haben, werden mit euch zusammen als Teil Eures Teams arbeiten.
Weiterhin werden wir eng mit einem weiteren großen Team zusammenarbeiten, das sich im Rahmen des 64-153 Praktikums Kollaborative Softwareentwicklung mit sehr ähnlichen Themen beschäftigen wird.
Alle 2 Wochen findet ein Sprintwechsel mit allen Projektbeteiligten statt. Hier werden jeweils kurz der Zwischenstand präsentiert, neue Releases erstellt und der nächste Sprint geplant.
Gearbeitet wird in einer professionellen Entwicklungsumgebung mit Werkzeugen wie z.B. Jira, Confluence, Git, Intellij Idea, Java, Docker, Kubernetes, Kafka. Inhaltlich werden neben den üblichen Programmierungsthemen insbesondere die Schlagworte im Titel des Projekts: Agilität, (Software- und System-) Entwicklung, Adaptivität, Plugins und Architektur.
Neben der Entwicklung an Renew besteht zusätzlich die Möglichkeit am Projektmanagement mitzuwirken.
Gemeinsames Lernen:
Für das gemeinsame Lernen erwarten wir ein kooperatives, konstruktives, freundliches Verhalten aller Beteiligten. Der gemeinsame, zielgerichtete Lernprozess ist wichtiger als das technische Ergebnis, auf das die Arbeit nichtsdestotrotz ausgerichtet ist, denn es wird in erster Linie eine Verbesserung der Codequalität und eine Verbesserung der gesamten Entwicklungsumgebung (DevOps) angestrebt.
Alle werden entsprechend ihrer jeweiligen Vorkenntnisse und Fähigkeiten eingebunden. Die Aufgabenvielfalt erfordert eine Aufteilung von Aufgaben auf verschiedene Teams und verschiedene Personen.
Daher ist ein Austausch über die Arbeitsinhalte von zentraler Bedeutung. Im Rahmen unseres agilen Vorgehens werden wir Meetings systematisch gestalten, aber auf das Notwendige reduzieren.
Literatur:
Scrum Guide: https://scrumguides.org/
Scrum at Scale: https://www.scrumatscale.com/
Renew Handbuch: https://www.informatik.uni-hamburg.de/TGI/renew/renew.pdf
Weitere Literatur kann vorab bei den Veranstaltern erfragt werden und wird zudem in der Veranstaltung bekanntgegeben.
Zusätzliche Hinweise zu Prüfungen:
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 für Basecamp-Projekte mit speziellen individuellen Themen und zur Abfassung von Projekt-, Bachelor-, Baccalaureats-, Master- und Diplomarbeiten.
Scheine und Noten können entsprechend der jeweiligen Prüfungsordnungen erworben werden.
Das Projekt eignet sich für alle Bachelorstudiengänge!
Zusätzliche Hinweise zu Prüfungen:
Erwartet werden, neben der aktiven Mitarbeit (und durchgängigen Teilnahme Do 14-18), eine nachhaltige Dokumentation der Arbeitsschritte und Ergebnisse sowie die Vorstellung der Ergebnisse/Lösungsansätze.
|