Modulbeschreibung

Agile Software-Projekte

Kurzzeichen:
M_winf.ASPR
Unterrichtssprache:
Deutsch
ECTS-Credits:
6
Arbeitsaufwand (h):
180
Leitidee:

Absolventinnen und Absolventen der Vertiefungsrichtung "Business Software Development" sollen über entsprechende Kenntnisse verfügen, um betriebliche webbasierte Client/Server-Systeme professionell entwickeln zu können.
Die Entwicklung von Software unter professionellen Rahmenbedingungen bedeutet viel mehr als das Beherrschen einer Programmier-sprache. Das Modul ASPR vermittelt Grundlagen einer zielgerichteten effizienten Softwareentwicklung unter Nutzung agiler Entwicklungs-methoden, moderner Werkzeuge sowie verschiedener Programmier- und Markup-Sprachen. Dabei entwickeln die Teilnehmenden im Rahmen eines angeleiteten Entwicklungsprozesses eine lauffähige Server-gestützte Web App.
Die Modulteilnehmenden lernen zudem, die Etablierung einer professionellen Software Entwicklung innerhalb einer Unternehmung fundiert einzuschätzen und gegen alternative Optionen (z.B. Beschaffungsoptionen) abzuwägen.

Modulverantwortung:
Dr.Ing. Baumgarten Christoph
Lehrpersonen:
Prof. Dr. Baldauf Matthias, Dr.Ing. Baumgarten Christoph
Standort (angeboten):
Rapperswil-Jona, St. Gallen (Standard)
Zusätzliche Eingangskompetenzen:

Grundlagen Programmieren (Java)

  • Datenmodellierung und Informationssysteme (DMIS)
  • IT- und Integrationsarchitekturen, Algorithmen und Datenstrukturen
  • WBDG
Modultyp:
Wahlpflicht-Modul für Wirtschaftsinformatik BB STD_23(Empfohlenes Semester: 7)Kategorien:Vertiefungsmodule (VT_Mod_WI), Wahlpflichtmodule (WP_Mod_WI)
Wahlpflicht-Modul für Wirtschaftsinformatik VZ STD_23(Empfohlenes Semester: 5)Kategorien:Vertiefungsmodule (VT_Mod_WI), Wahlpflichtmodule (WP_Mod_WI)
Bemerkungen:

Workload[h]

Kontaktstudium: 42

Begleitetes Selbststudium: 60

Unbegleitetes Selbststudium: 78

Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Prüfung nach spezieller Definition
Während der Unterrichtsphase:
  • Präsentation in Gruppen
  • andere...
Bewertungsart:
Note von 1 - 6
Gewichtung:
  • Bewertete Präsentationen und lauffähige Businessapplikation mit agil-dokumentiertem Projektverlauf (60%, Gruppennote)
  • Individuelle mündliche Beteiligungen in ausgewiesenen Diskussionsrunden (40%)
Bemerkungen:

Inhalte

Angestrebte Lernergebnisse (Abschlusskompetenzen):

Sachkompetenzen:
Die Teilnehmenden können:

  • Prinzipien moderner Software-Entwicklung praktisch anwenden
  • Sich als agiles Entwicklungsteam organisieren
  • Typische Rollen in der agilen Softwareentwicklung ausfüllen
  • Eigenschaften und Zusammenhänge eines ausgewählten praxisüblichen Technologie Stacks darlegen
  • Software unter Verwendung der exemplarisch ausgewählten State-of-the-Art Technologien entwickeln
  • Agile Vorgehensmodelle der modernen Software-Entwicklung anwenden

 

Selbstkompetenzen:
Die Teilnehmenden können:

  • Sich selbständig Ressourcen zu Basistechnologien erschliessen bzw. sich in aufbauende Technologien einarbeiten
  • Selbständig mit Hilfe von Online-Recherchen Fehler analysieren und beheben

 

Sozialkompetenzen:
Die Teilnehmenden können:

  • Sich effizient in ein Entwicklungsteam einbringen, sich effizient als Entwicklungsteam organisieren
  • Ergebnisse vor Mitstudierenden erläutern und diskutieren
Modul- und Lerninhalt:

Themen-/Lernblock I: Agile Software Entwicklung

  • Vertiefung der agilen Software Entwicklungsprozesse SCRUM und KANBAN
  • Aufbau von Praxiserfahrung in den Software Entwicklungsdisziplinen
    • Requirements Engineering
    • User Experience-Design
    • Software Development
    • Quality Assurance und Testing
    • Versionskontrolle und Release Management

 

Themen-/Lernblock II: Entwicklungsumgebung, eingesetzte Technologien

  • Praktische Verwendung eines ausgewählten praxisüblichen Technologie Stacks
  • Einführung in eine Auswahl gängiger Software Entwicklungswerkzeugen

Themen-/Lernblock III: Durchführung eines agilen Software Entwicklungsprojekts

  • Ablauf
    • Präsentation der Semesteraufgabenstellung («Vorstellung der Produktvision des Auftraggebers»)
    • Aufteilung der Teilnehmergruppe in SCRUM Teams
    • Einrichten einer Software Entwicklungsumgebung pro Team
    • Besuch eines Unternehmens / einer Organisation - Software-Entwicklung in der Praxis
    • Iterativ pro Team
      • Aufbau eines Applikations-Frontends
      • Aufbau eines Applikations-Backends
      • Team Organisation, kontinuierliche Verbesserung
      • Stakeholder Management
      • Dokumentation
      • Team Präsentationen
    • Wrap-Up
Lehr- und Lernmethoden:

Lehrgespräche, Gruppen- und Einzelarbeit

Lehrmittel/-materialien:

Empfohlene Literatur:

  • Roock, Stefan. Scrum – verstehen und erfolgreich einsetzen. dpunkt.verlag, 2016

 

Wissensaufbau geschieht grösstenteils über Recherche in üblichen internetbasierten Quellen.