Markus Harrer
@markusharrer
Software Development Analyst @innoq, Trainer @socreatory. I like fixing things. Legacy systems, Wardley Maps, DDD and Software Analytics fanboy.
Current status: Discussing with an LLM the impact of Karl Popper's Three Worlds Theory on agentic software modernization. Yes, it's as absurd as it sounds. Bonus content: Gemini 3 Pro's statement when asked why it is so absurd attached (at least we "agree" on this).
I've been working in the intersection of AI, Data Science and Legacy Modernization for over a decade now. Now it's time to take it even further with LLMs to make AI-assisted Software Evolution work to tackle legacy software modernization (and have fun playing around with new toys at the same time ☺️)
I don't build AI into legacy systems. I use AI engineering for building analysis and modernization tools on greenfield using Python/pandas/Neo4j/OpenRewrite for analyzing legacy systems.
Why does working with AI agents in legacy systems feel so much harder than in all those vibe coding demos on YouTube? 🤔 Part of the answer: 😊 Popular language + Greenfield ☘️ = "AI heaven" 😯 Niche language + Brownfield 🟫 = "AI hell" More about this topic: markusharrer.de/blog/2026/02...
The picture looks different for 754 Java files, 8711 methods, and 82830 SLOCs. But there are still method clusters (that don't fit the package structure at first glance).
Here I demo how you can use machine learning techniques to visualize your legacy code on another abstraction layers with "method clusters": Left: structural similarity Right: functional / business purpose (via LLM) Colors: The real domain-oriented modules More: github.com/feststelltas...
It's not just "Human 🧒 vs. AI 🤖" these days when you're thinking about transforming legacy code on a larger scale. That is why I visualized a part of the refactoring tools landscape using my favorite thinking tool: PowerPoint 🧡
I've collected and structured some software modernization strategies in an overview: feststelltaste.github.io/littlestmode...
"To AI or not to AI", that is the question. This is why I've created a one-page guide that helps you make decisions on when and how to use AI for software modernization. PDF: speakerdeck.com/feststelltas... #legacy #ai #modernization
I'm working on a new hands-on version of my software architecture improvement training (iSAQB IMPROVE) using good old Fischertechnik (hey, it's about a legacy system, okay?). Here you can see a feature toggle in action. 😬
To find your inner peace using vibe coding as a programmer, you absolutely have to make sure you put that in the very first line of your generated scripts 😄: # vibe coded
Just a quick demo, nothing fancy: Importing CodeCharta files into Pandas, visualizing / adding some stuff and export it again to visualize also the new stuff in CodeCharta Web Studio: nbviewer.org/github/fests...
How is your morning going? My source code analysis tool just crashed because of too many source code files 🤪 #softwarearchaeology
Meet me at @amaconf.bsky.social April 3 - 4, 2025 in Berlin. I'll be speaking about how Wardley Mapping can help software architects avoid both overengineering and underengineering software quality. I'm also talking about why building in quality into software systems becomes harder over time.
Back then, I hadn’t thought something like this would ever happen - until today: Claude Code also knows my work on data-driven software analysis of software systems and can now write similar scripts to gain a deeper understanding of software systems and their evolution. This is really 🤯
Great that Claude Code knows all my Software Analytics Jupyter Notebooks on GitHub. That's very handy now 🤣
Me: The handle on the toaster is broken. I need a 3D printer for printing out a replacement part! My wife:
These are my most-starred GitHub repositories. Not so bad for such niche topics, I guess. 😊 Links and more here: star-history.com#feststelltas...