You are here: SE » TeachingHome » SeminarDMinSE

Entscheidungen im Software Engineering

Dies ist die Veranstaltungsseite zum Seminar/Proseminar "Entscheidungen im Software Engineering".


Beschreibung

Seminar/Proseminar - 2 SWS - 5 LP

  • Dozent: Linus Ververs
  • Sprache: Deutsch (Der Vortrag kann auch auf Englisch gehalten werden)
  • Zeitraum: 15.04.2024 - 20.07.2024
  • Termine: Montags 12-14 Uhr, T9/053

  • Zielgruppe:
    • Proseminar: Bachelorstudierende, die das Modul "Wissenschaftliches Arbeiten in der Informatik" besuchen / besucht haben und im Rahmen dieses Seminars das erste Mal das gelernte Wissen anwenden und wissenschaftlich arbeiten.
    • Seminar: Fortgeschrittene Bachelorstudierende, die das Modul im Rahmen ihres Vertiefungsbereichs besuchen oder Masterstudierende
  • Voraussetzungen: Das Modul Softwaretechnik bereits besucht zu haben, wird dringend empfohlen (Falls nicht, bitte im Voraus kontakt zum Dozenten aufnehmen)

Inhalt

Software Engineering (Deutsch: Softwaretechnik) wird durch die IEEE definiert als:

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.” (“IEEE Standard Glossary of Software Engineering Terminology," in IEEE Std 610.12-1990 , vol., no., pp.1-84, 31 Dec. 1990, doi: 10.1109/IEEESTD.1990.101064.)

Software Engineering beschreibt also den Prozess wie Software entwickelt wird. Dieser Prozess ist gekennzeichnet von einer Vielzahl an Entscheidungen, die entweder das zu entwickelnde Produkt (die zu entwickelnde Software) oder den Entwicklungsprozess selbst betreffen.

Im Rahmen dieses Seminars nehmen wir unterschiedlichen Arten von Entscheidungen unter die Lupe und betrachten den aktuellen Forschungsstand. Dazu bereiten die Teilnehmer*innen einen Vortrag und eine wissenschaftliche Ausarbeitung zu einem der folgenden Themenkreise vor (auch andere zu dem Seminar passende Themenkreise sind denkbar):
  • Wie treffen einzelne Menschen Entscheidungen? Welche Erkenntnisse aus der Psychologie sind wichtig für den Softwareentwicklungsprozess?
  • Wie treffen Gruppen von Menschen Entscheidungen? Welche Erkenntnisse aus der Soziologie und den Wirtschaftswissenschaften lassen sich auf den Softwareentwicklungsprozess übertragen?
  • Welche Softwareentwicklungsprozessmodelle gibt es und wie entscheiden sich Organisationen zwischen ihnen?
  • Wie wirken Biases / Kognitive Verzerrungen im Software Engineering?
  • Entscheidungen zur Priorisierung von Anforderungen im Software Engineering
  • Entscheidungen zum Design der Software: wie wird Software designt?
  • Was sind technische Schulden und warum und wann werden diese aufgenommen?
  • Refactorings: Warum, wann und in welchem Umfang entscheiden sich Organisationen für Refactorings?
  • Rekrutierung von Entwicklern: Wie wählen Organisationen für sie passende Entwickler aus?
  • Paar-Programmierung: Was ist das? Wie funktioniert der Wissenstransfer in der Paar-Programmierung? Treffen Entwickler zu zweit bessere Entscheidungen?
Die Studierenden sollen im Rahmen dieses Seminars selbstständig zu dem von Ihnen ausgewählten Themenkreis recherchieren. Ob die Veranstaltung als Seminar oder Proseminar gebucht wird, hat Einfluss auf die Anforderungen:
  • Seminar: Hier sollen mehrere gute Quelle (5-10) gefunden und eine Zusammenschau der Ergebnisse vorgestellt werden. Das Ziel ist in erster Linie Empfehlungen zum SE-Prozess herauszuarbeiten.
  • Proseminar: Hier soll eine gute Quelle gefunden und ausführlich vorgestellt werden. Auf weitere verwandte Arbeiten soll nur am Rande eingegangen werden.
Bei den vorgestellten wissenschaftlichen Artikel sollen die vorgestellten Schlussfolgerungen kritisch im Hinblick auf Glaubwürdigkeit und Relevanz betrachtet werden.

Termine & Foliensätze

Datum Vortragender Thema & Folien
15.04.2024 Linus Ververs Organisation & Themenauswahl
22.04.2024 Linus Ververs Literaturrecherche & Aufbau wiss. Arbeiten
29.04.2024 Linus Ververs Vorträge & Bewertung wiss. Arbeiten
06.05.2024 Teoman Köse Psychologie der Entscheidung
06.05.2024 Anton Wille Ökonomische Perspektiven auf Entscheidungen
13.05.2024 Koen Almpertos Kognitive Verzerrungen und Softwareentwicklung
13.05.2024 Fabian Herlitz Softwareentwicklungsprozessmodelle: Extreme Programming
27.05.2024 Moritz Schroeder-Datow Softwareentwicklungsprozessmodelle: Wasserfallmodell
27.05.2024 Vincent Fitte Softwareentwicklungsprozessmodelle: Scrum, ScrumBut vs Kanban
03.06.2024 Brendan Lanschke Schätzung von Anforderungen
03.06.2024 Justin Sudbrak Bewusste und unbewusste Entscheidungen
10.06.2024 Laura Jürgensmeier Soziologische Perspektive auf Entscheidungen: Gruppendenken
10.06.2024 Maurice Wippler Softskills in der Softwareentwicklung
17.06.2024 Martin Simon Design und Architektur festlegen: Richtigen Architekturstil wählen
17.06.2024 Mike Wegele Design und Architektur festlegen: Monorepo
24.06.2024 Nicolai Karle Umgang mit technischen Schulden: Definition / Messung
24.06.2024 Juliane Wundermann Umgang mit technischen Schulden: Großunternehmen vs. Startups
01.07.2024 Felix Ramm Refactoring: Warum, wann, wie?
01.07.2024 Fatima Azham Priorisierung von Anforderungen
08.07.2024 Linus Ververs Peer-Review, Lehrevaluation, Wissemschaftliches Schreiben
15.07.2024 Aron Huth Paar-Programmierung: Wissenstransfer
15.07.2024 Jakob Schmock Paar-Programmierung: Entscheidungen