Thema: Legacy / Tests / Verifikation
- Dienstag
22.10. - Mittwoch
23.10. - Donnerstag
24.10.
Why are we always complaining about old code? Why are we rarely happy when digging into old stuff, especially old code by other people?
It is very tempting to believe that you can easily do it better than that. And that you can improve the situation by rewriting code. By making stuff simpler. In the first park of this talk, I will dive into why we believe this. Expect some insights into psychology and into how our brains work :)
Second part: Why we are wrong, most of the times. Again, this will…
This workshop utilises insights from a previous Event Storming session to design a well-structured hexagonal architecture for a software system. Clear and intuitive naming conventions are prioritized to ensure that the resulting design accurately reflects the intricacies of the domain. Test-Driven Development (TDD) principles are embraced to move seamlessly from concept to implementation, fostering a rigorous and iterative development process. By combining EventStorming, Hexagonal Architecture,…
In the world of software development, legacy code often poses significant challenges. Existing codebases, built years ago, may lack documentation and understanding of the original domain. This lack of knowledge can hinder effective maintenance, upgrades, and feature development. The process of rediscovering the domain of legacy code is invaluable for developers seeking to enhance and extend these systems.
In this talk we'll delve into various domain re-discovery patterns that help in identifying…
Softwareentwicklung muss branchenübergreifend immer kürzeren Releasezyklen gerecht werden. Dieser Trend hat starke Auswirkungen auf die Qualitätssicherung, denn wir können Releases nicht länger in dedizierten Test- und Stabilisierungsphasen absichern. Vielmehr müssen wir dafür sorgen, dass unsere Softwaresysteme praktisch jederzeit die Qualitätsansprüche für ein Release erfüllen. Deshalb führen wir mit "Continuous Quality Control" Maßnahmen zur Qualitätssicherung (Codeanalyse, Tests, Reviews)…
Wie schafft man es, die sich stetig ändernden Anforderungen in Langzeit-Projekten kontinuierlich umzusetzen? Bestehende Qualitätsanforderungen stehen immer in einem Spannungsfeld zu neuen Qualitätsanforderungen und neuen fachlichen Anforderungen. Das lässt sich besonders bei Legacy-Software beobachten: Dort ist es typischerweise entscheidend, dass das System erweiterbar und wartbar bleibt – dies bringt aber oft größere Anpassungen der Architektur mit sich.
Dieses Dilemma beleuchten wir anhand…
Migration von lange gewachsener Legacy-Softwareentwicklung birgt von vornherein viele Risiken. Häufig ist das Detailwissen zu großen Teilen der Fachlichkeit verloren gegangen. Der Code ist komplex und Tests gibt es sowieso nicht. Da liegt es in der Natur der Sache, dass der Aufwand für ein Migrationsprojekt schwer geschätzt werden kann. Das Ergebnis sind häufig Zeit- oder Budget-Überschreitungen. Nicht selten werden solche Projekte abgebrochen und als gescheitert erklärt.
Was kann man dagegen…
Today we know very well how to start a new project on a greenfield and how to build a good architecture. But most of us work in projects that have been around for a long time and whose architecture (to put it mildly) is not quite so beautiful. “Monolith” and “Big Ball of Mud” are the unflattering labels put on such systems.
This talk will show how we can introduce (or bring back) structure. Every system is different here, so it’s important to first understand where you are. Then the right steps…