
In der Privatwirtschaft werden Software-Produkte unter hohem, marktwirtschaftlich bedingtem Zeitdruck entwickelt. Der dabei stetig wachsende Source Code verteilt sich dabei auf verschiedene Teams/Unterprojekte und wird immer schwieriger zu warten, weiterzuentwickeln und zu testen - in langlebigen Projekten entwickeln sich dabei so große Unzulänglichkeiten, dass die Arbeitszeit der Teams immer ineffizienter genutzt wird und Bugfixes sowie neue Features immer länger dauern und teurer werden, während gleichzeitig die Qualität des gesamten Produkts leidet. Die Entwicklungsprozesse vieler Firmen führen ebenfalls regelmäßig zu Frustration bei Fachkräften.
Ziele

Vergleich

Die folgenden Inhalte werden besprochen und mit kleinen Beispielprojekten angewendet:
Regressionsfreie Software-Entwicklung mit hoher Geschwindigkeit durch Tools und Testing
- Test-Driven-Development
- Sanitizers - Statische Analyse, linter tools
- Fuzzing, QuickCheck
Entwicklung im Team mit Versionskontrollverwaltungssystemen (VCS) am Beispiel von "git"
- Synchronisation von dezentralen Repositories
- Pullrequest-Workflows mit Code-Review
Reproduzierbare Builds - Vermeiden von "versteckten" Build Dependencies durch totale Isolation
- Die zentrale Rolle von Hashing fuer Code und Dependencies
- Frustrationsfreies Setup von komplexen Toolchains pro Entwickler
- Automatisierte, perfekt reproduzierbare Integrationstests
- Definition von Build Environments mit Docker und Nix, Vergleich der Vor- und Nachteile
Die Wichtigkeit von CI/CD für planbare und zügige Product Releases
- Aufbau einer komplexen CI/CD Chain für das automatische Produkt-Deployment. Blick auf Produkte/Technologien wie Github, Gitlab, Nix Hydra.
- Vergleich der Vor- und Nachteile von Docker vs. Nix

Zielgruppe
- Master-Studenten in Informatik
- Master-Studenten in E-technik
- ähnliche technische Studiengänge
- Bachelor 5. Sem.
Prüfungsform
Kursform
Teils Vorlesung, teils Laborpraxis mit Programmieraufgaben, auch in der Gruppe.
Die Termine bestehen aus vier Bloecken die jeweils aus zwei Tagen bestehen.
Termine werden noch bekannt gegeben.