Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Enforcing Architecture in Legacy Systems
Search
Roland Weisleder
June 18, 2026
Programming
8
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Enforcing Architecture in Legacy Systems
Roland Weisleder
June 18, 2026
More Decks by Roland Weisleder
See All by Roland Weisleder
Architecture as Code in Practice
rweisleder
0
36
Three Principles To Bring Your Legacy Code Into the Future
rweisleder
0
260
Unit Test Your Java Architecture With ArchUnit
rweisleder
0
590
Immer wieder die gleichen Fehler? Nicht mit ArchUnit!
rweisleder
0
380
Alles einsteigen! Einen eigenen Release Train mit Maven umsetzen
rweisleder
0
350
7 Tipps für eine verständliche Git-Historie
rweisleder
0
190
Other Decks in Programming
See All in Programming
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.1k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
730
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.7k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
170
えっ!!コードを読まずに開発を!?
hananouchi
0
270
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
140
AIが無かった頃の素敵な出会いの話
codmoninc
1
240
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
370
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
350
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Visualization
eitanlees
152
17k
Color Theory Basics | Prateek | Gurzu
gurzu
0
400
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Navigating Team Friction
lara
192
16k
Mobile First: as difficult as doing things right
swwweet
225
10k
Tell your own story through comics
letsgokoyo
1
1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
Enforcing Architecture in Legacy Systems @rweisleder.de
[email protected]
Whoever wishes to build high towers must spend much time
near the foundation. Anton Bruckner
Source: https://unsplash.com/photos/AF36q06J8fQ
Source: https://xkcd.com/2347/
Source: https://www.monkeyuser.com/2019/v-201/
Source: https://unsplash.com/photos/snNHKZ-mGfE
Compatibility Portability Maintainability Security Performance effiency Reliability Usability Functional suitability
Evolution Value Chain Genesis Custom Built Product Commodity visible invisible Based on: https://www.innoq.com/en/blog/quality-value-chain-evolution/
Challenge: Architecture Code Gap { }
Architecture Tests as Guardrails • Make architecture explicit • Prevent
architectural erosion • Guide continuous change
Demo
Enforcing Architecture Stepwise Technical Architecture • Naming conventions • Layered
architecture • Framework boundaries • Dependency rules Domain Architecture • Module boundaries • Dependency directions • Cycle prevention • Public APIs Cross-Cutting Concerns Security Transaction Auditing Observability
Best Practices in Legacy Systems • Start with the thing
that causes the most issues • Use freezing if you can’t fix it immediately • Resolve violations stepwise
Challenge: Architecture Code Gap { } Easy to use in
legacy projects ☺
https://github.com/rweisleder/archunit-spring
With ArchUnit, the Leaning Tower of Pisa would not have
happened. Some AI trying to summarize this talk
Testing can detect only the presence of errors, not their
absence.
Enforcing Architecture in Legacy Systems Code github.com/rweisleder/archunit-spring github.com/rweisleder/archunit-talk-examples github.com/TNG/ArchUnit-Examples Docs
archunit.org archunitnet.readthedocs.io ts-arch.github.io/ts-arch/ pypi.org/project/PyTestArch/ Slides speakerdeck.com/rweisleder Need help with your Legacy Code? Contact me!
[email protected]
in/roland-weisleder @rweisleder.de