World Congress 2021 • Jun 29, 2021

Seven Myths, Three Reasons, One Goal

Stefan Priebsch

Blindly layering a REST API over a legacy database creates a fragile distributed monolith. Learn to leverage use-case-driven architectures to modernize systems without triggering expensive, boil-the-ocean rewrites.

Pause
Mute Enter Fullscreen
#1 about 11 min

Comparing legacy architecture to the evolution of cities

How the continuous development of ancient cities provides a parallel for working with legacy systems.

#2 about 6 min

Failing to understand the intent of legacy code

Why the instinctive developer reaction to legacy code actually highlights a lack of communicated business intent.

#3 about 3 min

Dealing with outgrown assumptions in successful software systems

How software that drives business growth eventually breaks due to architectural assumptions that no longer scale.

#4 about 4 min

The lack of responsibility over technical debt

How placing technical debt into a product backlog diffuses responsibility and prevents architectural progress.

#5 about 3 min

The danger of adopting default REST APIs

Why defaulting to REST for internal communication often leads to the anti-pattern of a distributed monolith.

#6 about 4 min

Refuting the immediate need for newer frameworks

How wholesale technology replacements often just swap known problems for unknown ones without adding clear business value.

#7 about 4 min

Avoiding the temptation to rewrite legacy systems entirely

How to introduce new features without rewriting existing business cases by focusing on specific software use cases.

#8 about 4 min

Embracing polyglot persistence versus strictly relational databases

Why defining clear data working sets and canonical sources of truth defeats the requirement for strict database normalization.

#9 about 5 min

Overcoming the perceived expense of major system migrations

How separating functional platform migrations from code refactoring efforts helps consistently keep software upgrade costs manageable.

#10 about 6 min

Eliminating unnecessary layers of abstraction inside microservices

Why self-contained units of deployment do not require the internal layered abstractions typical of large enterprise applications.

#11 about 3 min

Introducing beneficial architectural patterns like event sourcing

How to gradually integrate new methodologies transparently by safely bridging the architectural gap between legacy and greenfield systems.

Matching moments

1:44 min

Strategies for modernizing and mitigating legacy system risks

Leszek Włodarski Leszek Włodarski · World Congress 2026 Europe

5:02 min

Transforming legacy monoliths into modern software systems

Henning Schwentner · LIVE

5:06 min

Modernizing legacy applications through proactive leadership

Babette Wagner Babette Wagner · Coffee With Developers

2:20 min

Five core strategies for handling legacy applications

Niklas Heidloff · LIVE

3:28 min

Managing technical debt in legacy web applications

Robby Russell · Coffee With Developers

3:00 min

Refactoring a complex legacy monolith into microservices

Andrew Holway · LIVE