Architektur: Die soll doch das Stabile sein! Und die Wahl der richtigen Architektur sorgt dafür, dass die Software auch in Zukunft weiterentwickelt werden kann! Was zunächst sinnvoll erscheint, erweist sich in der Realität oft als erster Schritt hin zu einem Architekturfehlschlag. Wenn sich die Anforderungen, die Erkenntnisse oder die Technologien ändern, muss sich leider die Architektur auch ändern. Wie kann sie dann zukunftssicher sein? Diese Präsentation zeigt, wie das Paradoxon aufgelöst…
Die von uns gebauten Anwendungen oder Systemlandschaften werden immer anspruchsvoller. Mögliche Antworten darauf sind der Einsatz von Microservices-Architekturen und Domain-Driven Design, Cloud-basierte Deployments oder verschiedene Varianten der hexagonalen bzw. Clean Architecture. Diese Ansätze helfen, aber sie werden auch zum Teil des Problems. Denn die Komplexität steigt durch ihren Einsatz. Deshalb braucht es zunächst eine stabile und verlässliche, explizite Softwarearchitekturbasis. In…
Der Energiebedarf innerhalb der IT wächst aufgrund der zunehmenden Digitalisierung stetig an. Aktuelle Studien deuten darauf hin, dass CO2-Emissionen im Bereich der IT im Jahr 2025 bis zu 8 % der globalen CO2-Emissionen ausmachen werden. Diese Situation wirft die Frage auf, was wir als Softwareentwickler und -architekten tun können, um IT nachhaltiger zu gestalten. Zuerst einmal müssen wir das Thema Nachhaltigkeit in unserem Qualitätsmodell berücksichtigen. Dann müssen wir die positiven und…
Wissensarbeit steht vor einer Revolution, eine neue Ära ist angebrochen: Die traditionellen Arbeitskategorien Kreator, Kommunikator und Koordinator lösen sich auf. Mit der Einführung von ChatGPT entsteht die Rolle des "Kombinators", der Teile seiner Aufgaben an KI-Modelle delegiert und selbst in die Rolle des "kreativen Generalisten" schlüpft. Diese Verschiebung ist vergleichbar mit dem Übergang von manuellen Berechnungen zu Tabellenkalkulationen. ChatGPT ist für Buchstaben, was VisiCalc für…
Ob wir es wollen oder nicht, der Klimawandel ist allgegenwärtig. Privat und beruflich sind seine Auswirkungen zu spüren. Die Community der Softwareentwickler hat sich hierbei bisher meist als Teil der Lösung, weniger aber als Teil des Problems wahrgenommen. Dieser Vortrag soll daher einen Überblick zu den verschiedenen Aspekten des Themas und der Rolle der Softwareentwicklung geben. Hierzu wird auf sachliche Art und Weise der aktuelle Kenntnisstand zur Klimakrise und zu den Auswirkungen der…
Dieser Vortrag befasst sich mit der sich schnell verändernden Landschaft der modernen Datenarchitekturen. Wir werfen einen Blick auf jüngste Entwicklungen wie Data Mesh und Data Lakehouse, das ELT-Muster, Cloud-DWHs und dergleichen. Wir untersuchen auch den wachsenden Einfluss des Software-Engineerings innerhalb des Daten-Ökosystems. Apropos Software-Engineering: Die Integration von Analysesystemen mit den transaktionalen/operativen Systemen wird ebenfalls betrachtet. Typische Szenarien und…
Am Anfang eines Projekts ist die Produktivität hoch. Architektur, Bausteine und Abhängigkeiten sind klar definiert. Doch mit der Zeit wird der Code immer mehr und die Anforderungen werden komplexer. Es schleichen sich ungewollte Abhängigkeiten ein. Code und Architekturdiagramme passen nicht mehr zusammen. Das lässt sich auch mit Clean Code, TDD und regelmäßigen Architekturreviews nicht immer verhindern. Architekturtests wirken dem entgegen. Sie funktionieren wie Unit Tests, testen aber…
Wie erkläre ich technische Schulden meinen Business-Kollegen oder Kunden? Man muss technische Schulden erst einmal selbst verstanden haben. Was sind Ursachen und Folgen technischer Schulden und wie hängen sie zusammen? Erst dann kann man die Probleme rund um technische Schulden besser und prägnanter erklären und das Business davon überzeugen, dass sich insbesondere die zeitliche Investition in das Thema lohnt. Damit steht dann aber schon die nächste Frage im Raum: Wie manage ich technische…
Dokumentation begegnet Softwareentwicklungsteams immer wieder in unterschiedlichen Formen, zum Beispiel als Architektur-, Deployment- oder Nutzerdokumentation. Doch welche Möglichkeiten und Tools gibt es eigentlich zum Erstellen von Dokumentation? Da die Dokumentation ein so wichtiger Bestandteil eines Softwareprodukts ist, sollte sie leicht und mit Spaß zu erstellen sein. In diesem Vortrag erarbeiten wir die Vor- und Nachteile von verschiedenen Markup-Sprachen, Generatoren und Tools, mit denen…