Blog & Articles by Markus Harrer

Blog Post

Modern Legacy (dank KI)

Die Diskussion über Softwaremodernisierung wird derzeit stark von Lösungen rund um künstliche Intelligenz (KI) in der Softwareentwicklung geprägt. KI gestützte Code-Vervollständigung, Agentic Software Engineering und weitere Werkzeuge versprechen, Entwicklungsprozesse massiv zu beschleunigen. Der Gedanke liegt nahe, diese Werkzeuge direkt am bestehenden Code einzusetzen: Refactorings, Redokumentation oder sogar generierter Code für neue Funktionen in vorhandenen Legacy Systemen. Technisch ist hier bereits viel möglich und auch die Buzzword-Industrie ist hier wieder massiv unterwegs. Doch diese Code-nahen, KI-getriebenen Ansätze können für Unternehmen, die sich mit einem Dschungel aus Legacy Systemen auseinandersetzen, zu kurzsichtig sein. Eine Modernisierung, die von Anfang an nur auf Code zielt, führt schnell zu Modern Legacy: Systeme, die dank KI-Unterstützung technisch hochmodern und vorbildlich dokumentiert wirken, deren eigentlicher Zweck aber längst fragwürdig ist.

Blog Post

Software Analytics going crAIzy!

I’ve long been an advocate of treating software like data and analyzing it accordingly with tools like Python, pandas, Jupyter Notebook, Neo4j, and jQAssistant. In the era of AI and code transformation tools, seeing software as data gets more and more important when you want to improve your software system at a large scale. This blog post is a short interim report from me about my efforts taking software analysis to the next level.

Blog Post

LLM-assisted Abbreviation Mining for Legacy Systems

Deciphering the Hidden Language within Old Software Programs

Article

The Evolutionist

The current training and further education of software developers strongly focuses on the development of new software. Conferences and trade magazines are full of new programming languages, new tools, new hypes, which seemingly never cease to amaze. Quick results, direct feedback, and unprecedented productivity are suggested. The urge to incorporate the new into one’s software is awakened – until one is brought back to reality: their own legacy system.

Blog Post

Was treibt dich an?

In der heutigen schnelllebigen Welt der Softwareentwicklung ist die Modernisierung von Software eine unerlässliche Aufgabe, um mit ständig ändernden Anforderungen und Technologien Schritt zu halten. Es gibt immens viele Ansätze zur Modernisierung von Software. Aber es ist eine Herausforderung, die richtigen Werkzeugkästen in den richtigen Situationen zu finden. Wie schön wäre es, die eine «Ultimative Softwaremodernisierungsmethode™️» in den Händen zu halten, die all die Probleme mit den in die Jahre gekommenen Softwaresysteme lösen kann?

Blog Post

Evolving software like an orchardist

Comparing apple trees with software modernization

Article

cards42 English edition

Finally, cards42 is available in English! The cards42 project supports software developers in your daily work with software architectures. 30 cards provide brief food for thought for stuck situations and help shed new light on difficult challenges. This article provides detailed explanations as well as the background and further information about the cards.

Blog Post

Software quality in the context of value chains and evolution

Quality goals help to make more informed architectural decisions. However, identifying a set of the most needed qualities is a challenging task. Quality requirements are strongly dependent on the perspective of individuals. The importance of certain qualities also changes over time. In this blog post, I introduce an idea that helps to understand qualities in terms of their relevance (and non-relevance). We discover how qualities interplay with value creation activities and evolution by using the ISO 25010 quality model together with Wardley Maps as a foundation.

Blog Post

Collaborative Learning with Mobshops

First impressions from an online-first teaching technique using remote mob programming at its core

Blog Post

Defect Analysis using pandas

Defect Analysis is a classic analysis technique to get insights into how buggy your system might be. In this blog post, we explore how Defect Analysis works and how we can implement it with a standard data analysis tool from Python: pandas.

Blog Post

Wenn Customizing zur Legacy wird

In diesem Blog-Post visualisiere ich ein regelrechtes Schlamassel mit Hilfe von Wardley Maps und Elementen aus dem strategischem Domain-driven Design.

Article

cards42

Die Mitmach-Karten für Softwarearchitekt*innen