The Rise, the Ruin and the Rescue! Systematically escaping legacy hell.
As developers and architects, we spend most of our time adding features to our products (so-called "maintenance"). We are often annoyed about the many deficits of these systems:
Even supposedly simple things are becoming incredibly difficult with these _legacy systems_, the _time-to-market_ is getting worse and worse,as business is calling for more and more features. Rarely we find time to reduce technical debtand clean up increasingly messy dependencies.
In this talk you'll learn about possibilities to systematically escape legacy hell and reduce technical and other debt in your systems. Get to know strategical and tactical improvement approaches you can scale to fit your actual situation:
In the first step, we will conduct a breadth-first search for existing problems, issues and risks within your system. We clearly identify technical, organizational and communicative debts and determine their severity in order to concentrate on the worst of them..
Only then we'll start improving the existing situation: I will present a number of strategic improvement approaches, for example:
\* Brainsize: systematically simplify and reduce, migrate towards self-contained systems or microservices.
\* Change-by-split and Change-by-extraction to reduce dependencies
\* Improve domain focus, incrementally introduce Domain-Driven Design practices in legacy systems (restructure-to-domain)
\* Improve modularization
I'll explain all those based upon a (not very hypothetical) large-scale eCommerce system. You'll hear about the rise, the decline and the rescue of that system.