Labor "Agile Software-Entwicklung"

Wintersemester 2015/2016

Labor, 6 Leistungspunkte

Dozent: Stephan Kiesling
Dozentin: Jil Klünder

Ort Hauptgebäude, G325
Termin Donnerstags, 9:00 - 12:00 Uhr
Zeitraum Die Veranstaltung wird erst im November beginnen. Termine im Oktober (mit Ausnahme der Einführungsveranstaltung) entfallen.
Einführungsveranstaltung Donnerstag, 15.10.2015, 9:00 Uhr, G323
Blockwoche 08.02.2016 - 12.02.2016, ganztägig
Abschlussveranstaltung 18.02.2016, 9:00 - 12:00 Uhr
Unterlagen Alle Unterlagen zur Vorlesung und Übung werden über Stud.IP verteilt.

Inhalt

In dieser Intensivübung soll den Studenten ein Einblick in die Arbeit in Extreme Programming (XP) Projekten gegeben werden.

XP ist eine agile Entwicklungsmethode, in der es darum geht in angemessener Zeit qualitativ hochwertige Software zu entwickeln. Dazu ist das Projekt als Team mit dem Kunden als Teammitglied aufgestellt. Die Entwicklung wird durch Tests gesteuert (Test-First) und die Anforderungen werden leichtgewichtig mittels Storycards erhoben.

Alle XP-Praktiken klingen in der Theorie einfach und verständlich. Um sie jedoch richtig und gut einsetzen zu können, muss man mit ihnen Erfahrung sammeln. Dazu soll diese Intensivübung dienen.

Organisatorisches

Voraussetzungen

Diese Lehrveranstaltung richtet sich primär an fortgeschrittene Studierende. Formal setzen wir Java voraus, Vorkenntnisse in Software Engineering und Projektarbeit (z.B. aus den Lehrveranstaltungen Softwaretechnik, Softwarequalität, Softwareprojekt) werden dringend empfohlen.

Lernziele

Ablaufplan

Die verbindliche Anmeldung findet in der ersten Veranstaltung am 15.10. statt. Es stehen 18 Plätze im Labor zur Verfügung, sodass bei höheren Anmeldezahlen ggf. Plätze zugelost werden müssen. (Ergebnisse werden noch am 15.10. bekanntgegeben.) Da es sich um eine Masterveranstaltung handelt, müssten bei Auslosung Master- vor Bachelorstudenten bevorzugt werden.

Es besteht in allen Veranstaltungen Anwesenheitspflicht. D.h. wer öfter als zweimal ohne ärztliches Attest fehlt, darf nicht mehr an der Veranstaltung teilnehmen. In der Blockwoche ist Fehlen nur mit ärztlichem Attest möglich, da hier das gesamte Projekt leidet.

Der folgende Ablaufplan soll schon einmal zur Orientierung dienen. Es können sich jedoch noch Änderungen ergeben. Der regelmäßige Termin findet jeweils donnerstags von 9 bis 12 Uhr in Raum G325 statt.

 

Datum Startzeit Thema
15.10. 9:00 Einführungsveranstaltung
22.10. - Frei
29.10. - Frei
05.11. - Frei
12.11. - Frei
19.11. 9:00 Einführung in die agilen Methoden Teil 1
26.11. 8:30 Einführung in die agilen Methoden Teil 2
03.12. 9:00 Praktische Übung: Agile Hour Teil 1
10.12. 9:00 Praktische Übung: Agile Hour Teil 2
17.12. 8:30 Versionsmanagement & Test First
24.12. - Vorlesungsfreie Zeit (Weihnachten, Frei)
31.12. - Vorlesungsfreie Zeit (Weihnachten, Frei)
07.01. - Frei
14.01. 9:00 Einführung in die Entwicklungstechnologien
21.01. 8:30 Spikes & Vorstellung des Projekts durch den Kunden
28.01. 8:30 Spikes
04.02. 9:00 Planning Game
08.02.-12.02.   Blockwoche
18.02. 9:00 Bugfixing & LID's

 

Ergebnisse der Agile Hour

In der Agile Hour sollten die Studenten mit Hilfe der zuvor erlernten Praktiken der agilen Entwicklungsweise unter Verwendung von Pappe, Papier, Stiften und Kleber Hardware entwickeln. Die Hardwareentwicklung stand dabei sinnbildlich für die Entwicklung von Software.

Die Ergebnisse der Agile Hour sind mit den unten folgenden Fotos dokumentiert.

Variante 1 (S2E2)

Agile Hour Roboter Variante 1

Variante 2

Agile Hour Roboter Variante 2 vorneAgile Hour Roboter Variante 2 hinten

Aufgabe

Der Roboter soll Dokumente aus dem Drucker automatisch abholen und an die Arbeitsplätze der Mitarbeiter des Fachgebiets Software Engineering verteilen.

Features & Umsetzung

In dieser Tabelle werden die sich unterscheidenden, technologischen Realisierungswege aufgelistet.

Feature Variante 1 Variante 2
Dokumentendetektion Scanner + Kamera Sensor
Dokumentenerfassung 2 Greifarme 1 Greifarm
Dokumentenlagerung 1 Dokument 5 Dokumentfächer
Dokumentenentsorgung Schredder Verbrennung
Fortbewegung Antrieb über 2 Achsen Antrieb über 2 Achsen
Wegfindung Karte (Raummaße) Sensor + Karte (Raummaße)
Hinderniserkennung Durch Berührung Sensor
Personenerkennung - Sensor, Sound-Modul, Witz-Erzählungs-Modul
Kommunikation Eigener Controller (WLAN) E-Mail (WLAN)
Weitere Features Music-Player Hindernisbeseitigung (Schaufel), Ladestation, Feuerlöscher