In unserer Vorlesung Softwaretechnik hatten wir das Vergnügen, Johannes Michler von der Promatis Software GmbH als Gastvortragenden in unserem neuen Hörsaal zu begrüßen. Johannes ist ein international renommierter Redner und als Oracle ACE Director ausgezeichnet. Er teilte sein umfassendes Wissen über die Software-Entwicklung von Anwendungssystemen und die Arbeit in verteilten Teams.
Die Herausforderungen der Software-Entwicklung: Toolchain und Organisation
Technische und organisatorische Herausforderungen
Ein wichtiger Punkt sind die technischen und organisatorischen Herausforderungen, die bei der Entwicklung von großen Anwendungen in verteilten Teams auftreten. Johannes erläuterte, wie wichtig klare Kommunikationsstrukturen und ein gut definiertes Projektmanagement sind, um diese Herausforderungen erfolgreich zu bewältigen. Er ging auch auf die Bedeutung von regelmäßigen Meetings, einer transparenten Aufgabenverteilung und die Definition of Ready ein.
Toolchain: CI/CD und GitLab
Johannes erläuterte uns ausführlich wie die Toolchain aufgebaut ist, die bei der Entwicklung des Modellierungswerkzeugs HORUS verwendet wird. Ein Schwerpunkt lag auf den Continuous Integration (CI) und Continuous Deployment (CD) Prozessen sowie dem Einsatz von GitLab. Er betonte die Bedeutung einer gut abgestimmten Toolchain, um die Effizienz und Qualität in der Software-Entwicklung zu steigern.
Testing: Cloud-basierte Testprozesse
Eigene Infratstruktur oder Cloude Dienste?
Ein besonders spannendes Thema war der Vergleich zwischen dem Einsatz von eigener Infrastruktur und Cloud-Lösungen für das Testing. Johannes zeigte anhand von praktischen Beispielen, wie beide Ansätze ihre Vor- und Nachteile haben. Während Lösungen mit eigener Infrastruktur oft eine höhere initiale Investition erfordern, bieten Cloud-Lösungen Flexibilität und Skalierbarkeit (besonders horizontal und zeitlich flexibel). Er erläuterte, dass Oracle Cloud Infrastructure (OCI) genutzt wird, um die Anforderungen des Modellierungswerkzeugs zu erfüllen.
Effizienz und Kostenvorteile Cloud-basierter Tests
Johannes illustrierte eindrucksvoll, wie die Parallelisierung und das Lastmanagement in der Cloud nicht nur die Durchlaufzeiten bei Ende-zu-Ende Tests erheblich reduzieren können, sondern auch die Kosten. Durch die effiziente Nutzung von virtuellen Maschinen und Containern kann die Testphase optimiert werden, was letztlich zu einer schnelleren Markteinführung (Release-Zkylus) und niedrigeren Betriebskosten führt. Johannes erläuterte, wie Unternehmen durch die geschickte Nutzung dieser Technologien Kosten sparen und gleichzeitig ihre Effizienz steigern können. Besonders die Fähigkeit der Cloud, Lastspitzen und unregelmäßige Anfragen zu bewältigen, macht sie in diesem Anwendungsfall zu einer kosteneffizienten Lösung. Johannes‘ Ausführungen verdeutlichten, dass die Wahl der richtigen Technologie einen erheblichen Einfluss auf die Wirtschaftlichkeit eines Projekts hat.
Integration von KI-Diensten
Potenziale und Herausforderungen
Ein weiteres Highlight des Vortrags war die Integration von KI-Diensten in die Softwareentwicklung und hier in das Modellierungswerkzeug. Johannes zeigte die vielfältigen Potenziale, aber auch die Herausforderungen auf, die mit der Nutzung von Künstlicher Intelligenz verbunden sind. Er betonte, dass KI-Dienste nicht nur die Effizienz steigern, sondern auch neue innovative Funktionen ermöglichen können. Im Fall von HORUS können Modellierer nun auch aus textuellen Beschreibungen automatisch Prozessmodelle generieren lassen. Die Effizienz und Effektivität mit der das möglich ist, ist noch immer erstaunlich, auch die Einfachheit der Integration ist überzeugend.
Fazit: Wertvolle Einblicke in die moderne Software-Entwicklung in verteilten Teams
Der Vortrag von Johannes Michler war äußerst informativ und bot wertvolle Einblicke in die moderne Software-Entwicklung. Die Kombination aus technischen Details, organisatorischen Strategien und wirtschaftlichen Aspekten machte seinen Vortrag zu einem Highlight unserer Vorlesung. Die Studierenden konnten viele praktische Tipps und Anregungen mitnehmen, die in zukünftigen Projekten sicherlich von großem Nutzen sein werden.