Menü

Projektvorschläge 2015


M-Lab: Das Lehrlabor für die Entwicklung Mobiler Apps

Prof. Dr. Walid Maalej, Universität Hamburg

„Sage es mir und ich vergesse es, zeige es mir und ich erinnere mich, lasse es mich tun und ich behalte es“ – Konfuzius
Das ist der Leitsatz von M-Lab. In diesem Lehr- und Innovationslabor entwickeln Studierende des Fachbereichs Informatik in kleinen Teams unter realen Projektbedingungen und unter Termindruck innovative Apps für reale „Kunden“ aus Wirtschaft, Gesellschaft und der öffentlichen Hand. Dabei verwenden sie die neuesten Technologien und Entwicklungswerkzeuge und „erleben“ die Theorie und die Methoden des Software- Engineerings und Projektmanagements hautnah. Sie machen wertvolle Erfahrungen im Teamwork und in der Kommunikation mit „Kunden“.

M-Lab findet ein Mal pro Semester statt und besteht aus zwei Teilen: einem praktischen Teil (Projekt) und einem theoretischen Teil (Seminar).

Im praktischen Teil arbeitet jedes Studententeam an einem Softwareprojekt und durchgeht dabei alle Phasen der Softwareentwicklung, wie u.a. Problemdefinition, Anforderungserhebung, Analyse, Entwurf, Implementierung, Integration, Testen, Softwareübergabe und Präsentation. Pro Projekt werden die Projektziele von einem Unternehmen, einem Verein oder einer Behörde definiert. Ein Team besteht aus 4-6 Studierenden, die unterschiedliche Studienschwerpunkte aufweisen, wie beispielsweise Informatik, Mensch-Maschine-Kommunikation, IT Management und Consulting oder Wirtschaftsinformatik. Studierende aus anderen Fachrichtungen mit Informatik als Nebenfach können ebenfalls teilnehmen.

Der theoretische Teil findet im Rahmen eines wöchentlichen Seminars statt. Jede Woche wird eine Phase (bzw. ein Thema) im Softwarelebenszyklus durchleuchtet, reflektiert und diskutiert. Die Themen werden zeitlich so geplant, dass sie zu dem voraussichtlichen Projektfortschritt der Teams passen. Die Unterrichtsmaterialien werden den Studierenden vorab online in Form von Videos und Folien zur Verfügung gestellt. Das Seminar besteht aus zwei Teilen. Im ersten Teil präsentiert jedes Team, wie es das aktuelle Thema (z.B. Anforderungserhebung) ausführen will und welche theoretischen Elemente (Methoden, Werkzeuge, Vorgehensweisen) sich am besten für das Projekt eignen und warum. Im zweiten Teil wird allgemein über die Projektentscheidungen der Studierenden mit den Lehrenden und den anderen Teams diskutiert, Alternativen besprochen sowie Erfahrungen aus bisherigen Entscheidungen reflektiert.

Die Veranstaltung hat 3 Meilensteine:

  1. „Problem Statement“ und „Hello M-lab“: Die Abgabe von einem kurzen Dokument, das die Ausgangssituation und die groben Projektziele beschreibt sowie die Erstellung eines Projektgerüsts inklusive der Kommunikations- und Entwicklungsinfrastruktur.
  2. „Design Review“: Abgabe und Präsentation der detaillierten Spezifikation der Anforderung und Architektur der App.
  3. Kundenakzeptanztest: die Abgabe der lauffähigen App (Prototyp), der finalen Dokumentation und des Trailers sowie die Präsentation der Ergebnisse im Rahmen eines öffentlichen Events.

Das Konzept von M-Lab wurde in den letzten zwei Jahren entwickelt und erprobt und das Feedback der Studierenden und die Erfahrung der Lehrenden immer wieder verbessert. Durch eine Förderung im Rahmen des Programms 'Unseren Hochschulen' wird die Fortführung dieses erfolgreichen und innovativen Lehr- bzw. Lernkonzeptes gesichert, was aufgrund diverser Sparmaßnahmen sonst nicht möglich ist. Zudem ermöglicht die Anschubfinanzierung die einmalige Erstellung von Lehrmaterialien (insbesondere Lehrvideos für den theoretischen Teil und Projektschablonen für den praktischen Teil) sowie die Entwicklung eines Rahmenwerks für die nachhaltige Förderung des Projektes durch die Beteiligung von Kooperationspartnern und öffentlicher Fördermaßnahmen für Innovation und Qualitätslehre.


Lehrmethoden

Die Veranstaltung setzt verschiedene Lehrmethoden ein.


Tutorials

Die wichtigen Technologien (z.B. iOS, Android) und Werkzeuge (z.B. Eclipse, Github) werden den Studierenden in 2-3 Tutorials vor dem offiziellen Projektbeginn nahe gebracht. Hier haben auch Studierende mit nur geringer Kenntnis im Bereich Softwaretechnik die Gelegenheit sich auf den Projektstart besser vorzubereiten. Ein Tutor erarbeitet „live“ ein kleines Demoprojekt und unterstützt die Studierenden in Zweierteams ihm zu folgen. Das Ziel des Tutoriums ist es, die Studierenden mit der Technologie vertraut zu machen sowie ihre Vorkenntnisse zu erfassen, um später ausgewogene Projektteams zu bilden.


Ice-Breaker

Dieses Gruppenspiel findet vor dem offiziellen Start des Projekts statt. Es soll die Studierenden für die anstehende Teamarbeit sensibilisieren, die Kommunikationshürden überwinden und eine offene Atmosphäre vermitteln. Die Studierende nehmen in Teams an einem „Bastelspiel“ teil: zum Beispiel, wer baut den höchsten Papierturm mit begrenzten Ressourcen. Dabei erleben sie im Blitzdurchlauf einige Projektschwierigkeiten (Anforderung, Entwurf, Realisierung, Kommunikation, Zeitmanagement...).


Flipped Class Room

Die Lehrziele des Seminars werden auf Basis des aktuellen Stands der Forschung im Bereich Softwaretechnik geplant. Die Themen (wie Anforderungserhebung, Systementwurf, Objektentwurf, Usability...) werden so gegliedert, dass sie zeitlich zum Projektverlauf passen. Dadurch sollen sich die Studierenden Gedanken zu den allgemeinen Softwareentwicklungsmethoden im Seminar machen und sie durch konkrete praktische Erfahrungen im Projekt verinnerlichen. Im Seminar müssen die Studierenden ihre Projektentscheidungen (z.B. welche Methode sie für die Anforderungserhebung verwendet haben, welches Testmuster und welche Werkzeuge sie für die Qualitätsüberprüfung verwendet haben) jede Woche präsentieren. Zudem diskutieren sie die Entscheidungen der anderen Teams mit und lernen dadurch auch von den anderen Studierenden.


Projekt

Im praktischen Teil setzen die Studierenden ihre Kenntnisse und Fertigkeiten ein, um die Software zu entwickeln sowie den Projektverlauf zu dokumentieren. Diese Ergebnisse können begutachtet werden und zeigen auf, inwieweit die Studierenden in der Lage sind die behandelnden (zum Teil abstrakten) Lehrinhalte konkret anzuwenden.


Coaching und Meetings

Die M-Lab Teams treffen sich einmal pro Woche mit ihrem Betreuer (wissenschaftlicher Mitarbeiter), um den Projektstatus und eventuelle Probleme zu besprechen. Die Kundentreffen werden grundsätzlich von den Studierenden selbst organisiert und durchgeführt.
Zu Beginn von jedem Treffen gibt es ein maximal 15-minütiges Standup-Meeting, in dem jedes Teammitglied drei Fragen beantwortet:

  • Woran habe ich in der letzten Woche für das Projekt gearbeitet?
  • Gibt es Probleme, die mich momentan aufhalten?
  • Welche Aufgaben stehen für die nächste Woche an?

Das Standup-Meeting soll alle Teammitglieder und den Betreuer auf den gleichen Stand bringen. Außerdem soll das Meeting frühzeitig Probleme sichtbar machen, die nach dem Standup-Meeting näher besprochen werden können. Die Studierenden haben die Gelegenheit Fragen zu stellen und mit dem Betreuer Ideen zu diskutieren.


Blended Learning

Die Lehrmaterialien für den Seminarteil werden als digitale Medien, insbesondere in Form von kurzen 20 minütigen Videos zur Verfügung gestellt. Zusätzlich werden die Projekte selbst mit einer Kombination aus einer E-Learning Plattform und einer digitalen Entwicklungsumgebung unterstützt. Dadurch kann eine maximale Lehr- und Vermittlungseffizienz durch die Kombination von digitaler und Präsenzlehre (Blended Learning Verfahren) erreicht werden.

Jedes Projekt wird in einem Versionskontrollsystem verwaltet, welches es ermöglicht, jede Veränderung im Projekt zu verfolgen. Das entspricht dem Stand der Technik in der Softwareentwicklung. Zu jeder aufgezeichneten Veränderung ist auch der jeweilige Student assoziiert, der sie verursacht hat. Dadurch kann der Betreuer den „Beitrag“ jedes einzelnen Studierenden näher beobachten und ggf. darauf in einem persönlichen Gespräch näher eingehen. Die aufgezeichneten Informationen können zum Verfolgen des gesamten Projektfortschrittes sowie zur Überprüfung des vorhandenen Wissens verwendet werden.


Wettbewerbe: spielerisch lernen

Ein Wettbewerb findet unter Teilnehmern des Ice-Breaker Events statt. Wer den höchsten Turm innerhalb von 15 Minuten baut, bekommt einen kleinen symbolischen Preis. Ein weiterer Wettbewerb findet im Rahmen des Tutorials statt. Das Team, das die Demoprojekte vollständig und rechtzeitig erstellt, gewinnt ebenfalls einen kleinen Preis und wird bei dem Kickoff Event vor den eingeladenen Kunden geehrt. Der wichtigste Wettbewerb findet bei dem Kundenakzeptanztest statt. Das Team mit der besten Präsentation wird öffentlich geehrt, bekommt eine Urkunde und eine zwei jährige Mitgliedschaft in der Gesellschaft für Informatik.

Bisherige Erfahrungen und Feedback von Studenten

Wir haben diese Veranstaltung in den letzten Jahren entwickelt und mehrmals mit großem Erfolg erprobt. Das Konzept, wie es in diesem Antrag genau beschreiben wird, ist neu und entstand aus den bisherigen Erfahrungen.


Auf der Webseite unserer Arbeitsgruppe können bisherige M-Lab Projekte eingesehen werden. Als Beispiel wird hier der Link zur M-Lab SoSe 2014 Webseite angegeben. Die Trailer der bisherigen Projekte sind auf unserem Youtube Channel zu sehen.
Die bisherige Erfahrung hat gezeigt, dass die Einstellung der Studierenden gegenüber dieser Lehrveranstaltung sehr positiv ist, was mit folgenden Faktoren zusammenhängt:

  • Die Erfahrungen, die Studierende in den Projekten machen, vermitteln die theoretischen Grundlagen zur Softwareprojektentwicklung und dem Management optimal.
  • Es handelt sich um reale Aufgabenstellungen und reale Projektrahmen (echte Daten, Deadlines, Infrastruktur...). Dies motiviert Studierende sehr und gibt ihnen ein Gefühl der Verantwortung und Herausforderung.
  • Das Projektkonzept ermöglicht Studierenden echte Teamarbeit zu erleben. Sie verbessern ihre Kommunikations- und Präsentationsfähigkeiten.
  • Zwischen den verschiedenen Teams entsteht ein gesunder Wettbewerb darüber, wer die besten Ergebnisse liefert und präsentiert.
  • Nicht zuletzt sind die Ergebnisse oft sehr brauchbar und können nach der Veranstaltung zu einem realen Produkt führen. Es können Startups, Jobangebote oder Open Source Lösungen, für z.B. benachteiligte gesellschaftliche Gruppen entstehen.

Bisherige Teilnehmer haben sich insbesondere gewünscht, den theoretischen Teil durch kurze, prägnante Lernvideos zu unterstützen, die sie Vorab anschauen können - bei Bedarf mehrfach. Zudem kam mehrfach der Wunsch von Lernenden und Lehrenden nach einem System zur Erstellung und Abnahme der Projektlieferungen inklusive Dokumentationsschablonen auf. Beides soll durch diesen Antrag realisiert werden.


Zurück ...