Developers and architects spend most of their time adding features to their products (so-called maintenance) and are often annoyed about the many deficits of these systems: even supposedly simple things are becoming incredibly difficult with these legacy systems, and the time to market is getting worse and worse as business calls for more and more features. It’s rare to find time to reduce technical debt and clean up increasingly messy dependencies.
Gernot Starke explores possibilities to systematically escape legacy hell and reduce technical and other debt in your systems. You’ll learn strategical and tactical improvement approaches you can scale to fit your actual situation. Gernot conducts a breadth-first search for existing problems, issues, and risks within your system and clearly identifies technical, organizational, and communicative debts and determines their severity in order to concentrate on the worst of them. You’ll start to improve the situation using a number of strategic approaches, including brain size, where you systematically simplify and reduce and migrate toward self-contained systems or microservices; change by split and change by extraction to reduce dependencies; improve domain focus and incrementally introduce domain-driven design practices in legacy systems (restructure to domain); and improve modularization. Gernot explains each of the approaches based on a (not very hypothetical) large-scale ecommerce system. You’ll hear about the rise, decline, and rescue of that system.