Blog

Blog Post

Die 1%-Methode für Code und Architektur: Modernisierung als Gewohnheit

„Wir wollen ja modernisieren, aber das Tagesgeschäft kommt immer dazwischen." Diesen Satz höre ich in Kundengesprächen jede Woche. Das Problem ist nicht der Wille, sondern die Vorstellung, dass Modernisierung ein Projekt sei. In diesem Beitrag zeige ich, warum kontinuierliche Modernisierung als tägliche Team-Gewohnheit funktioniert, wo individuelle Vorsätze scheitern und wie zehn Minuten am Tag über Monate eine Architektur entstehen lassen, die ein Big-Bang-Projekt nie hinbekäme.

Blog Post

Nebu: Self-made sovereignty

There are plenty of open-source alternatives to Slack. None of them deliver real sovereignty. Community editions are deliberately pared down so no company can run them in production, while enterprise features sit behind commercial licenses. This article shows why “building it yourself” is no longer a utopian idea today, but a realistic option for anyone with a product vision and a bit of DIY courage.

Blog Post

Where AI Helps (and Hurts) Across Different Coding Scenarios

My takeaways from Stanford University’s Developer Productivity Study

Blog Post

Managing Geopolitical Risks with Enterprise Architecture

IT leaders in Europe increasingly face questions about whether geopolitical developments – such as data protection disputes or trade conflicts between the EU and the US – threaten the viability of US cloud services. The risks range from price increases and legal uncertainties to potential usage restrictions. CIOs must not only ensure functional IT operations but also proactively assess external risks. This article demonstrates how enterprise architecture methods can help identify risks early and develop viable alternatives.

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

The Path to Heterogeneous Cloud Platforms

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

Digitale Souveränität – Ein Definitionsversuch

Der Begriff Digitale Souveränität trägt die Wolkenwende. Beim Versuch einer Definition ist es unvermeidlich, verschiedene Perspektiven einzunehmen. Weniger, was das Digitale angeht – hier stehen ganz klar Informationstechnologie und Software im Fokus. Souveränität allerdings ist als Begriff eine andere Größenordnung.

Blog Post

From Data Graveyards to Knowledge Landscapes

Blog Post

Technical and other Debt in IT Systems

This article explores the many hidden forms of technical debt that silently slow down IT teams—far beyond just messy code.

Blog Post

Macht die KI die Softwareentwicklung effizienter?

Millionen Zeilen Code für ein einfaches “Hallo Welt”? Dieser Post beschreibt, wie aufgeblähte Open-Source-Projekte unsere Softwareentwicklung verlangsamen und wie KI diesen Trend umkehren könnte. Ist unsere Software wirklich so effizient, wie wir wollen? Eine Analyse, die zum Nachdenken anregt.

Blog Post

Bringt eure Schafe ins Trockene: Tipps für politische Risikovorsorge

Mit Vorsorge raus aus der Abhängigkeit

Blog Post

APIs als strategische digitale Bausteine

Organisationen müssen heute balancieren, ihre aktuellen Aufgaben effizient zu erfüllen, aber sie müssen ebenso in der Lage sein, auf neue Anforderungen schnell und flexibel reagieren zu können. “Unbundling the Enterprise” ist ein neues Buch, das untersucht und beschreibt, wie sich Unternehmen durch systematisches Entflechten mehr Optionen verschaffen können, und somit besser in der Lage sind, auf neue Anforderungen zu reagieren.

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.

Blog Post

Pragmatische Evolution von Platform Engineering für die Cloud

Organisatorische und kulturelle Transformation

Blog Post

Perfect solution for legacy code

This article is about people who are passionate about improving legacy systems. They are motivated to constantly reduce technical debt to ensure that software systems remain expandable in the long term. Prejudices and stereotypes in our industry prevent us from making the best possible use of these people’s potential.

Blog Post

Modernisierung einer Legacy Software-Architektur

Software-Systeme reifen mit der Zeit. Sie werden oft über viele Jahre und von verschiedenen Architekten und Entwicklern angepasst, um neue Anforderungen zu erfüllen. Der Alterungsprozess lässt sich trotz sorgfältiger Pflege nie ganz aufhalten und so erhält irgendwann jedes System den Stempel „legacy“. Legacy Systeme unterstützen aber weiterhin wichtige geschäftliche Tätigkeiten. Wie führt man diese Systeme also zurück in die Gegenwart und bereitet sie auf die Zukunft vor?

Blog Post

Bestehende Rich Clients erneuern

Führen alle Wege ins Web?

Blog Post

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

Micro Frontends With Ionic And Capacitor

Blog Post

Mit Reviews in Legacy-Situationen orientieren

In diesem Post möchte ich ein paar meiner Erfahrungen mit Legacy-Software teilen. Wir von INNOQ kommen meistens dazu, wenn die Entwicklung irgendwie stecken geblieben ist oder es unklar ist, wie es weiter gehen soll. Reviews, die in Zusammenarbeit von Beratern und Kunde durchgeführt werden, können in einer solchen Situation effektiv und schnell für Klarheit sorgen.

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.

Blog Post

How AI will replace my job

I started using ChatGPT for my work. Here is what it taught me and what AI might hold for the future of software development and consulting

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.