Blog & Artikel von Markus Harrer

Blog-Post

Über AI-Einsatz in verschiedenen Coding-Situationen

Wo hilft LLM-gestützte Softwareentwicklung bei der Entwicklungsproduktivität und wo bleibt sie hinter den Erwartungen zurück? Anstatt KI in der Softwareentwicklung als eindimensionalen Produktivitätsbeschleuniger zu sehen, gehen wir diesen Fragen entlang mehrerer Dimensionen nach, welche eine Studie aus dem Stanford-Umfeld bietet: Projektreife, Aufgabenkomplexität und Popularität der Programmiersprache. Ziel ist es, ein realistischeres Bild für die Erwartungshaltung bei KI für Softwareentwickelnde und Führungskräfte zu schaffen, fernab des aktuellen Hypes.

Blog-Post

Modern Legacy (thanks to AI)

The discussion around software modernization is currently dominated by solutions involving artificial intelligence (AI) in software development. AI-assisted code completion, agentic software engineering, and other tools promise to massively accelerate development processes. The obvious thought is to apply these tools directly to existing code as well: refactorings, re-documentation, or even generated code for new features in legacy systems. Technically, much of this is already possible, and the buzzword industry is once again in full swing. Yet these code-centric, AI-driven approaches can be shortsighted for organizations tangled in a jungle of legacy systems. A modernization that focuses solely on code quickly leads to modern legacy: systems that appear technically advanced and well documented thanks to AI, but whose actual purpose has long become questionable.

Blog-Post

Modern Legacy (dank KI)

Warum der Fokus auf Code in der KI-Ära zu kurz greift

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

This blog post shows the process of mining abbreviations and discovering first concepts a COBOL legacy mainframe codebase is made of with the help of Large Language Models. It uses Python, pandas and Claude 3.5 Sonnet to generate insights that can be gathered from such a simple thing like a list of files.

Artikel

Der Evolutionist

Softwarearchitekturarbeit an bestehenden Systemen

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

Software systems are usually larger, overgrown structures that developers need to bring back into shape after some time. However, creating an overview of the sprawling conglomerate of software components is challenging, let alone developing a clear plan for moving on. This blog post uses analogies from pruning apple trees to show developers how to evolve their software systems using a value-based approach.

Artikel

cards42 English edition

The activity cards for software architects

Blog-Post

Softwarequalität im Kontext von Wertschöpfung und Evolution

Qualitätsziele helfen, Architekturentscheidungen fundierter zu treffen. Eine Auswahl angemessener Qualitäten zu finden ist aber ein herausforderndes Thema. Qualitätsansprüche sind stark abhängig vom Betrachtungspunkt aus. Notwendige Qualitäten ändern sich zudem über die Zeit hinweg. In diesem Blog-Post möchte ich gerne eine Idee vorstellen, die helfen kann, Qualitäten im Hinblick auf ihre Relevanz besser einzuordnen. Als Basis verwende ich hierzu das ISO 25010 Qualitätsmodell sowie Wardley Mapping, mit Hilfe dessen sich Wertschöpfungsaktivitäten und die Evolutionsstufen von Softwaresystemen kommunizieren lassen.

Blog-Post

Kollaboratives Lernen mit Mobshops

Nach einem Jahr mit COVID-19 und vielen Online-Aktivitäten denke ich, dass wir müde sind von Workshops, die die Offline-Welt in ein Online-Setting kopieren. Es werden mehr interaktive Formate benötigt. In diesem Blogbeitrag beschreibe ich kurz meine Erfahrungen mit einem neuen Format, das ich entwickelt und in der Praxis erprobt habe: Mobshops.

Blog-Post

Defect Analysis using pandas

Using standard Data Science tools from Python to track bugfixing activities

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.

Artikel

cards42

Die Mitmach-Karten von cards42 unterstützten bei der täglichen Arbeit mit Softwarearchitekturen. Die Karten geben kurze Denkanstöße für festgefahrene Situationen und helfen, neues Licht auf schwierige Herausforderungen zu werfen. Dieser Artikel bietet ausführliche Erklärungen sowie die Hintergründe und weitere Informationen zu den Karten.