Agiles Software Engineering im Team mit Scrum

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende im Rahmen einer Veranstaltung den agilen Entwicklungsprozess eines Softwareprojekts mittels Scrum kennenlernen und vollständig durchlaufen. Die Studierenden planen, konzeptionieren, implementieren und testen in diesem Lehr-Lern-Arrangement selbstständig ein eigenes Softwareprojekt und arbeiten dabei in Teams. Die Veranstaltung ist als 5-tägige Blockveranstaltung mit zwei zusätzlichen Terminen während des Semesters geplant. Dabei sollen fachliche und überfachliche Kompetenzen gleichverteilt adressiert werden.


Übersicht

Ziele:

Die Studierenden sollen auf den folgenden Gebieten Kompetenzen erlernen: Technische Kompetenzen, soziale Kompetenzen, kommunikative Kompetenzen, persönliche Kompetenzen, methodische Kompetenzen. Folgende Lernziele sollen dabei erreicht werden:

Die Studierenden sollen:

  • Verantwortung für eine Aufgabe übernehmen.
  • im Team arbeiten können.
  • Konflikte erkennen und mit ihnen umgehen können.
  • sich als Team selbst managen können.
  • alle Schritte des Projektmanagements durchlaufen können.
  • ausgewählte Methoden von Scrum selbstständig anwenden und kritisch reflektieren können.
  • die Artefakte in Scrum benennen und erstellen können.

Didaktische Funktion(en):

  • Informationsaneignung
  • Wiederholung & Vertiefung
  • Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Gruppenarbeit

Anzahl der Lernenden:

5-9 Personen pro Team, insgesamt max. 30 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

  • Lehrpersonen benötigen Kenntnisse über Projektmanagement, sowie sehr gute Kenntnisse in Bezug auf Planung und Umsetzung von Scrum
  • Kenntnisse im Bereich der Implementierung, Ansteuerung, und entsprechender Entwicklungsumgebungen für die eingesetzten Roboter (hier: Anki Cozmo, Vector und Lego Mindstorms NXT Roboter)

Ausstattung & Medien:

  • Mind. 1 Lehrperson, die als Experte für Team-Building Maßnahmen fungiert
  • 1 Lehrperson die als Kunde auftritt und die Projektaufgabe mitteilt
  • 2 Lehrpersonen, da hoher Betreuungsaufwand erforderlich
  • Je ein Arbeitsraum pro Team
  • Ein Seminarraum für Meetings und Präsentationen

Ablauf

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

  • Dokumentationsmaterialien (Wiki)
  • Projektmanagement Materialien
  • Software Dokumente (Produkt-Backlog, Sprint-Backlog, Testdokumente, Design-Dokument etc.)
  • Diese Aufgabe enthält Anforderungen an einen Roboter, der sowohl manuell gesteuert werden kann als auch über einen automatischen Modus verfügt, um den Weg aus einem Labyrinth zu finden.  Optionale Anforderungen sind die Aufzeichnung der Karte und die Möglichkeit, das Labyrinth auf der Grundlage der Aufzeichnung auf dem kürzesten Weg zu verlassen.

Hinweise zur Vorbereitung:

Konzeption möglichst realistischer Projektaufgabe für die Studierenden

Hinweise zur Nachbereitung:

Korrektur, Bewertung und Feedback auf die erstellten Artefakte.

Hinweise zur Dauer: Gesamt ca. 150 Stunden: 1 volle Woche (ca. 50 Stunden) + zwei Einzeltermine + Vorarbeitszeit von etwa (ca. 70-100 Stunden)


Kritische Einordnung

Vorteile und Stärken:

Die Studierenden durchlaufen innerhalb dieser Woche einen kompletten Software Zyklus basierend auf Scrum und lernen dabei die Methoden und Prozesse von Scrum praktisch anzuwenden. Sie lernen in einem Team zu arbeiten und mit überfachlichen Problemen umzugehen. Außerdem verbessern sie ihre Fähigkeiten in der Entwicklung von Software. Die Studierenden bauen selbstständig ein vertieftes theoretisches und praktisches Wissen auf.

Grenzen und Schwächen:

Zeitaufwändig in der Vor- sowie Nachbereitung (vor allem für die Lehrenden), sowie hoher Betreuungsaufwand während der Blockwoche.

Sonstige Hinweise:

Studierende können diesen Kurs ohne vorhandene Vorkenntnisse besuchen. Es werden Ein-Tages-Sprints oder Halb-Tages-Sprints empfohlen durch den relativ kurzen Zeitraum von 5 Tagen. Die Rollen des Product Owner und Scrum Master werden bewusst an Studierende vergeben, da dadurch die Planung und Einhaltung des Scrum-Prozesses beim Team liegt und ein reales Szenario erhalten bleibt.


Literatur und weiterführende Hinweise
  • Stephanie Bell (2010) Project-Based Learning for the 21st Century: Skills for the Future, The Clearing House: A Journal of Educational Strategies, Issues and Ideas, 83:2, 39-43, DOI: 10.1080/00098650903505415
  • Georgia M. Kapitsaki and Marios Christou (2014) Where Is Scrum in the Current Agile World?  In Proceedings of the 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE) pp. 1-8.
  • M. Klopp, C. Gold-Veerkamp, J. Abke, K. Borgeest, R. Reuter, S. Jahn, … D. Landes, Totally Different and yet so Alike: Three Concepts to Use Scrum in Higher Education. Association for Computing Machinery, 12–21. https://doi.org/10.1145/3396802.3396817. June 2020
  • Joseph S. Krajcik and Phyllis C. Blumenfeld (2006) Project -Based learning, In: The Cambridge Handbook of the Learning Sciences. R. Keith Sawyer (ed). Cambridge University Press
  • Yvonne Sedelmaier (2019) Basics of didactics for software engineering:  Research-based and application-oriented development and evaluation Saarbrücken: LAP LAMBERT Academic Publishing

Software Engineering II

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende im Rahmen einer Veranstaltung den kompletten Entwicklungsprozess eines Softwareprojekts durchlaufen. Diese Veranstaltung ist als Blockveranstaltung geplant, mit mehreren Blöcken verteilt über das Semester. Die einzelnen Blöcke werden jedes Semester neu definiert, abhängig von der Anzahl der Semesterwochen und der Teilnehmerzahl. Ziel der Veranstaltung ist die eigenständige Bearbeitung eines Softwareprojekts, wahlweise mit einer zur Verfügung gestellten Technologie des LaS3. Solche Technologien sind beispielsweise Augmented Reality, Virtual Reality, Apps, NXTs, Eye Tracking, Scheduling, Safety, Games, Quadcopter. Dabei steht je ein Mitarbeiter des LaS3 als „Vertragspartner“ für eine Technologie zur Verfügung. Die Studierenden arbeiten in Gruppen, welche mit dem Vertragspartner des LaS3 des einen Vertrag bzw. Zielvereinbarungen über den Inhalt der Arbeit schließt. Dabei werden Leitlinien und Vertrag definiert.


Übersicht

Ziele:

  • Die Studierenden sollen qualitativ hochwertige Artefakte entwickeln.
  • Die Studierenden sollen den gesamten Softwareentwicklungsprozess schrittweise durchlaufen und selbst anwenden können.
  • Die Studierenden sollen ausgewählte Methoden des Software Engineering Prozesses selbstständig anwenden und kritisch reflektieren können.

Didaktische Funktion(en):

  • Wiederholung & Vertiefung
  • Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Kleingruppenarbeit (3-5)

Anzahl der Lernenden:

  • 4 Personen pro Gruppe / Team
  • insgesamt maximal 30 Personen

Voraussetzungen und Ressourcen

Voraussetzungen:

  • 2 Lehrpersonen, da hoher Betreuungsaufwand erforderlich
  • je einen Betreuer für die gewählte Technologie des Teams

Ausstattung & Medien:

  • Online-Meeting Tool
  • Moodle für Abgaben (wie Wiki Einträge)
  • abhängig von der Themenwahl weitere Hardware/Software (z.B. Nao, NXT, Vector Roboter)

Ablauf

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Beispielausschreibungen:

Beispielausschreibung 1
Beispielausschreibung 2

Hinweise zur Vorbereitung:

  • Konzeption von Ausschreibungstexten
  • Betreuersuche

Hinweise zur Nachbereitung:

Korrektur, Bewertung und Feedback auf die erstellten Artefakte.

Hinweise zur Dauer: Insgesamt 150 Stunden, davon 50 Stunden Präsenzzeit für organisatorisches, die beiden Blockveranstaltungen und die verschiedenen Betreuertermine & 100 Stunden selbstorganisiertes Arbeiten für Vorbereitung des Workshops und die einzelnen Meilensteine.


Kritische Einordnung

Vorteile und Stärken:

Es entstehen qualitativ hochwertigere Projektarbeiten als in einer Woche

Grenzen und Schwächen:

Hoher Arbeitsaufwand für Lehrperson während des Semesters durch die Betreuung der einzelnen Gruppen

Sonstige Hinweise:

Die Veranstaltung wurde im Gegensatz zur NXT Blockwoche semesterbegleitend erprobt. Hier liegt auch der größte Unterschied. Ein Projekt der Blockwoche lief im Wesentlichen in einer Woche ab, das hier beschriebene über ein gesamtes Semester hinweg.


Literatur und weiterführende Hinweise
  • Krajcik, J. S., Blumenfeld P. C. (2006). Projekt based Learning. In: The Cambridge Handbook of the Learning Sciences. (2006).  R. Keith Sawyer (ed). Cambridge University Press
  • Bell, S. (2010). Project-Based Learning for the 21st Century: Skills for the Future, The Clearing House: A Journal of Educational Strategies, Issues and Ideas, 83:2, 39-43, DOI: 10.1080/00098650903505415

Software Engineering im Team mit Anki Cozmo und Vektor Robotern

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende im Rahmen einer Veranstaltung den kompletten Entwicklungsprozess eines Softwareprojekts mit einem Anki Cozmo oder Vector. Die Studierenden planen, konzeptionieren, implementieren und testen in diesem Lehr-Lern-Arrangement selbstständig ein eigenes Softwareprojekt und arbeiten dabei in Teams. Die Veranstaltung ist als 5-tägige Blockveranstaltung mit zwei zusätzlichen Terminen während des Semesters geplant. Dabei sollen fachliche und überfachliche Kompetenzen gleichverteilt adressiert werden.


Übersicht

Ziele:

Die Studierenden sollen:

  • Verantwortung für eine Aufgabe übernehmen.
  • im Team arbeiten können.
  • Konflikte erkennen und mit ihnen umgehen können.
  • sich als Team selbst managen.
  • den gesamten Softwareentwicklungsprozess schrittweise durchlaufen und selbst anwenden können.
  • einen für eine speziellen Anwendungsfall geeigneten Softwareentwicklungsprozess identifizieren und durchführen können.
  • ausgewählte Methoden des Software Engineering Prozesses selbstständig anwenden und kritisch reflektieren können.
  • Templates für verschiedene Prozesse im Projektmanagement benennen und ausfüllen können.

Didaktische Funktion(en):

  • Wiederholung & Vertiefung
  • Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Gruppenarbeit

Anzahl der Lernenden:

4-7 Personen pro Gruppe / Team, insgesamt max. 30 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrpersonen benötigen Kenntnisse über:

  • Projektmanagement
  • relevante Algorithmen für die Aufgabenstellung
  • eingesetzte Technologie(n) (Implementierung, Konfiguration, Kompatibilität)

Ausstattung & Medien:


Ablauf

Hinweise zur Vorbereitung:

  • Die Einarbeitung in die Funktion und Implementierung der Roboter muss bei Planung und Bearbeitung berücksichtigt werden
  • Templates für die Dokumentation der Arbeitsbereiche sind von Vorteil, um den Studierenden einen Rahmen zu geben und den Umfang und Inhalt einzugrenzen
  • Detaillierte Planung des Ablaufs der Blockwoche nötig
  • Erstellen von Projektleiter-Mappen mit allen nötigen Infos für die Teams in der Blockwoche von Vorteil

Hinweise zur Nachbereitung:

Korrektur, Bewertung und Feedback auf die erstellten Artefakte.

Hinweise zur Dauer: Insgesamt 150 Stunden, davon zwei einzelne Termine und Vorarbeiten von etwa 70-100 Stunden und die Projektwoche selbst (50 Stunden).


Kritische Einordnung

Vorteile und Stärken:

Die Studenten durchlaufen innerhalb dieser Woche einen kompletten Software Zyklus. Sie lernen in einem Team zu arbeiten und mit überfachlichen Problem umzugehen. Außerdem verbessern sie ihre Fähigkeiten in der Entwicklung von Software.

Die Studenten können agile Projektmanagement Methoden anwenden.

Grenzen und Schwächen:

Zeitaufwändig in der Vor- sowie Nachbereitung (vor allem für die Lehrenden), sowie hoher Betreuungsaufwand während der Blockwoche.


Literatur und weiterführende Hinweise
  • Krajcik, J. S., Blumenfeld P. C. (2006). Projekt based Learning. In: The Cambridge Handbook of the Learning Sciences. (2006).  R. Keith Sawyer (ed). Cambridge University Press
  • Bell, S. (2010). Project-Based Learning for the 21st Century: Skills for the Future, The Clearing House: A Journal of Educational Strategies, Issues and Ideas, 83:2, 39-43, DOI: 10.1080/00098650903505415

Software Engineering in verteilten Teams (Online-Lehre)

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende im Rahmen einer Veranstaltung den kompletten Entwicklungsprozess eines Softwareprojekts durchlaufen. Die Studierenden planen, konzeptionieren, implementieren und testen in diesem Lehr-Lern-Arrangement selbstständig ein eigenes Softwareprojekt und arbeiten dabei in Teams. Die Veranstaltung ist als 5-tägige Online-Blockveranstaltung mit drei zusätzlichen online Terminen während des Semesters geplant. Dabei sollen fachliche und überfachliche Kompetenzen gleichverteilt adressiert werden.


Übersicht

Ziele:

Die Studierenden sollen:

  • im Team arbeiten können.
  • Konflikte erkennen und mit ihnen umgehen können.
  • sich als Team selbst managen.
  • alle Schritte des Projektmanagements durchlaufen können.
  • einen für einen speziellen Anwendungsfall geeigneten Softwareentwicklungsprozess identifizieren und durchführen können.
  • ausgewählte Methoden des Software Engineering Prozesses selbstständig anwenden und kritisch reflektieren können.
  • Templates für verschiedene Prozesse im Projektmanagement benennen und ausfüllen können.

Didaktische Funktion(en):

  • Anwendung
  • Wiederholung und Vertiefung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Gruppenarbeit

Anzahl der Lernenden:

4-7 Personen pro Gruppe / Team, insgesamt max. 30 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrpersonen benötigen Kenntnisse über Projektmanagement, und verschiedene Programmiersprachen und -umgebungen aufgrund der heterogenen Themen

Ausstattung & Medien:


Ablauf

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

  • Dokumentationsmaterialien (Wiki)
  • Projektmanagement Materialien
  • Software Dokumente (RQ Dokument, Test Dokument, Design Dokument etc.)

Ablauf

Hinweise zur Vorbereitung:

Aufgabe bzw. Rahmen der eigenständigen Aufgabenstellung für Studierenden muss definiert sein. Alternativ sollten die Studierenden ihre Projektidee vorab mit dem Lehrenden absprechen, um einen angemessenen Umfang festzulegen. Da die Projekte sehr heterogen sein können, müssen vorab passende (generische) Bewertungskriterien definiert werden.

Hinweise zur Nachbereitung:

Korrektur, Bewertung und Feedback auf die erstellten Artefakte.

Hinweise zur Dauer: Gesamt ca. 150 Stunden: 1 volle Woche (ca. 50 Stunden) + drei Einzeltermine + Vorarbeitszeit von etwa (ca. 70-100 Stunden)


Kritische Einordnung

Vorteile und Stärken:

Die Studierenden durchlaufen innerhalb dieser Woche einen kompletten Software Zyklus. Sie lernen in einem Team zu arbeiten und mit überfachlichen Problemen umzugehen. Außerdem verbessern sie ihre Fähigkeiten in der Entwicklung von Software. Die Durchführung mit verteilten Teams repräsentiert ein häufiges, reales Arbeitsszenario in der freien Wirtschaft. Die Studierenden lernen agile Projektmanagement-Methoden praktisch anzuwenden.

Grenzen und Schwächen:

Verteilte Teams erschweren die Arbeitsteilung und Koordination innerhalb des Teams. 

Sonstige Hinweise:

Die Teams dürfen sich in einem festgelegten Rahmen ihre Aufgabe selbst aussuchen. Diese müssen sie zeitlich schätzen, was eine zusätzliche sinnvolle Erfahrung für die Studenten darstellt.


Literatur und weiterführende Hinweise
  • Krajcik, J. S., Blumenfeld P. C. (2006). Projekt based Learning. In: The Cambridge Handbook of the Learning Sciences. (2006).  R. Keith Sawyer (ed). Cambridge University Press
  • Bell, S. (2010). Project-Based Learning for the 21st Century: Skills for the Future, The Clearing House: A Journal of Educational Strategies, Issues and Ideas, 83:2, 39-43, DOI: 10.1080/00098650903505415

Software Engineering mit Lego Mindstorm Robotern

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende im Rahmen einer Veranstaltung den kompletten Entwicklungsprozess eines Softwareprojekts mit einem Lego NXT Mindstorm Roboter durchlaufen. Die Veranstaltung ist als 5-tägige Blockveranstaltung mit zwei zusätzlichen Terminen während des Semesters geplant. Dabei sollen fachliche und überfachliche Kompetenzen gleichverteilt adressiert werden. Die Studierenden arbeiten im Rahmen dieses LLAs mit einem Erkundungsroboter, welcher in einem unbekannten Terrain (Labyrinth) ausgesetzt wird – angelehnt an den Mythos des Minotaurus. Der Roboter muss einen Weg aus dem Labyrinth finden und soll auch vom Benutzer steuerbar sein. Roboter soll mit Hilfe eines frei wählbaren Algorithmus und Sensor-Unterstützung den Ausgang aus einem Labyrinth finden können. Dabei soll das Labyrinth kartographiert werden, um einen zweiten Roboter, ohne Sensor-Unterstützung, auf dem kürzesten Weg aus dem Labyrinth steuern zu können. Zusätzlich soll der NXT-Roboter auch von der Applikation auf dem Server und über allen gängigen Browsern auf den Web-Clienten ferngesteuert und überwacht werden können.


Übersicht

Ziele:

  • Die Studierenden sollen alle Schritte des Projektmanagements durchlaufen können
  • Die Studierenden sollen einen für einen speziellen Anwendungsfall geeigneten Softwareentwicklungsprozess identifizieren und durchführen können
  • Die Studierenden sollen Templates für verschiedene Prozesse im Projektmanagement benennen und ausfüllen können
  • Selbstständige Strukturierung von Problemfeldern
  • Problemorientiertes und handlungsorientiertes Lernen
  • Erkennen von Zusammenhängen und Strukturen
  • Erwerb von Kooperations- und Teamfähigkeit
  • Planung und Durchführung von Projekten

Didaktische Funktion(en):

  • Anwendung
  • Wiederholung und Vertiefung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Gruppenarbeit

Anzahl der Lernenden:

Max. 12 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

  • 2 Lehrpersonen erforderlich, da hoher Betreuungsaufwand
  • 1 externer Betreuer aus dem Bereich Projektmanagement sinnvoll,
    der über die Woche verteilt überfachlichen Input an die Studierenden vermittelt

Ausstattung & Medien:

  • Software zur Programmierung des Roboters und zur Konfiguration des Kameramoduls
  • Abgegrenzter Bereich als Terrain
  • Lego NXT Roboter mit installiertem Kameramodul
  • Aufgabenstellung, sämtliche Dokumentationen zum Kameramodul und Programmierhandbücher

Ablauf

Hinweise zur Vorbereitung:

Die Kameramodule müssen am Roboter richtig angebracht und installiert sein, um ein optimales Blickfeld zu erlangen. Zur Konfiguration der Kamera und der entsprechenden Farbspektren ist eine weitere Software und eine gewisse Einarbeitungszeit notwendig. Diese zusätzliche Zeit muss bei der Bearbeitung der Aufgabe mit eingerechnet werden.

Hinweise zur Nachbereitung:

Korrektur, Bewertung und Feedback auf die erstellten Artefakte.

Hinweise zur Dauer: Insgesamt 150 Stunden, davon zwei einzelne Termine und Vorarbeiten von etwa (ca. 70-100 Stunden) und die Projektwoche selbst (50 Stunden)


Kritische Einordnung

Vorteile und Stärken:

Die Studierenden durchlaufen innerhalb dieser Woche einen kompletten Software Zyklus. Sie lernen in einem Team zu arbeiten und auch mit überfachlichen Problemen umzugehen. Außerdem verbessern sie ihre Fähigkeiten in der Softwareentwicklung.
Die Studierende können agile Projektmanagement Methoden anwenden.

Grenzen und Schwächen:

Zeitaufwändig in der Vor- sowie Nachbereitung (vor allem für die Lehrenden), sowie hoher Betreuungsaufwand während der Blockwoche.


Literatur und weiterführende Hinweise
  • Krajcik, J. S., Blumenfeld P. C. (2006). Projekt based Learning. In: The Cambridge Handbook of the Learning Sciences. (2006). 
  • R. Keith Sawyer (ed). Cambridge University Press Bell, S. (2010). Project-Based Learning for the 21st Century: Skills for the Future, The Clearing House: A Journal of Educational Strategies, Issues and Ideas, 83:2, 39-43, DOI: 10.1080/00098650903505415