Haben Sie schon einmal gesagt bekommen: Arbeite Dich mal in dieses Projekt ein - wir sollen es übernehmen?
Haben Sie dann Unmengen von Doku bekommen (aber nicht Unmengen von Zeit), um in ein paar Tagen ein Statement dazu abzugeben?
Die ganze Informatik-Ausbildung ist darauf ausgerichtet, Software zu schreiben.
In der Praxis angelangt, stellt man aber schnell fest, dass dies weniger als "die halbe Miete" ist.
Warum? Weil Entwickler:innen viel mehr Zeit damit verbringen, Software bzw. deren…
Die aktuellen "Best Practices" in der Software-Entwicklung, von TDD, Domain-Driven Design, Continous-Delivery, agiles Vorgehen usw., haben eine Gemeinsamkeit: Ihre Erfolgsversprechen basieren vor allem auf Anekdoten in Blogposts, Konferenzvorträgen und anderen Veröffentlichung von den Digitalchampions Google, Amazon, Facebook und anderen "Koryphäen". Warum ist das eigentlich so? Kann es auch anders sein? Diese und viele andere Fragen werden in diesem Vortrag diskutiert.
Zielpublikum:…
This talk will examine principles that assist with successfully evolving from a monolith to Microservices. Deciding what to decouple along with when and how to incrementally evolve a system are the main architectural challenges in this process. It is important to commit to "stop adding to the monolith" - all new code is added as microservices; the "Strangler Pattern". The new features are microservices, occasionally replacing part of the monolith. Also, when writing new microservices code, it is…
Wenn ein Softwaresystem modernisiert werden soll, kommt oft reflexartig die Anforderung „Das neue System muss aber das Gleiche können wie das alte!” Was sich auf den ersten Blick sinnvoll anhören mag, ist es keineswegs. Warum das so ist, erklären wir vor dem Hintergrund häufiger Modernisierungsziele und typischer Systemhistorien. Damit sollten alle Zuhörenden in Zukunft argumentativ gerüstet sein, diesen Fehler nicht mehr zu begehen. Darüber hinaus zeigen wir Stolperfallen und Best Practices für…
Automatisiertes Testen von Funktionalität ist heutzutage Standard und ermöglicht kurze Releasezyklen. Für die Software-Architektur ist die resultierende hohe Änderungshäufigkeit eine Herausforderung und führt in vielen Projekten zu Architektur Drift und Erosion.
In der Session behandeln wir das systematische Testen von Software-Architektur. Sie bekommen einen Überblick über gängige Methodik und Lösungen anhand von Beispielen aus realen Projekten. Im Praxisteil lernen Sie, wie Architektur…
Kontinuierliches Liefern (Continuous Delivery) und Infrastructure as Code sind Mainstream, oder? Zumindest behaupten viele, es zu tun. Wer es nicht macht, ist draußen (neudeutsch „out“) - oder zumindest ganz weit drin im Zimmer. Konsequent zu Ende betrachtet, müssten wir also eine enorme Verbesserung der Liefergeschwindigkeit in unserer IT-Welt sehen – und zwar nicht nur bei kleinen Unternehmen und Projekten. In dieser Session werfen wir einen Blick auf Kontinuierliche Lieferpipelines und zeigen…
Ist es die Komplexität der Aufgabe, die sich ergebende Design-Erosion oder sind es falsche Entscheidungen, die zu Problemen führen? Der Vortrag zeigt auf, wie man von üblichen Failures/Symptomen zu möglichen Faults/Ursachen und Gegenmaßnahmen kommt. Dabei kann man Failures messen, mögliche Faults bestimmen und Maßnahmen überprüfen, sodass ein Lernprozess etabliert wird. Zum Beispiel kann eine hohe Fehlerdichte auf schlechte Code-Dokumentation, diffuse Verantwortlichkeit oder hohe Featurekopplung…
Software-Architekturen sind lebendige Organismen, die einer gründlichen Pflege bedürfen. Vernachlässigt man sie, so führt dies zu Verwachsungen, Wucherungen und weiteren Schäden. Der Vortrag adressiert zum einen, wie sich eine Pflege von Software-Architekturen durchführen lässt. Und zum anderen stellt er vor, wie Architekt:innen Probleme in den Griff bekommen können. Anhand von Beispielen erkennen Teilnehmende, warum dabei Lernen aus Fehlern ein wichtiges Werkzeug darstellt.
Zielpublikum:…
Seit über sechzig Jahren bauen wir Software, die immer größer und komplexer wird. Inzwischen haben wir nicht nur Mainframe-Altsysteme, sondern auch die Systeme in objektorientierten Programmiersprachen sind in den letzten zwanzig Jahren so schnell und immer wieder unkontrolliert gewachsen, dass sie zu einem großen Knäul geworden sind. All dieser Legacy-Code treibt die Entwicklungskosten in die Höhe und führt dazu, dass wir diese alten Softwaresysteme nicht mehr gerne anfassen. Ist das…