Focus

Software Quality

Articles, podcasts, talks, and more about Software Quality.
Blog Post

Using the space, not optimizing the treadmill

Features per unit of time is not a meaningful metric. What counts is whether they satisfy a real user need and contribute to a desired outcome. Agentic development opens up the space to finally take that seriously.

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

Understanding AI Coding Patterns Through Cognitive Load Theory

Developing with AI through the cognitive Lens

Article

Ein Überblick der AI-assistierten Softwareentwicklung in 2026

Birgitta Boeckeler (ThoughtWorks), Heinrich Hartmann (Zalando) und Sven Johann haben sich über den aktuellen Status der AI-assisted Software Entwicklung unterhalten: was ist wirklich Wichtiges in 2025 passiert? Welche stabilen Muster können wir ableiten? Was gibt Orientierung und Einordnung? Und natürlich ein paar Einblicke in den Future of Software Engineering Retreat in Utah an dem Birgitta teilgenommen hat. Die Unterhaltung gibt es natürlich auch als Podcast. Dieser Artikel ist aber eine menschlich kuratierte Zusammenfassung.

Blog Post

AI and Elaboration: Which Coding Patterns Build Understanding?

AI tools let you complete coding tasks without connecting new information to your existing mental models—a cognitive process known as elaboration that is crucial for building understanding. But some AI interaction patterns preserve this elaboration while others bypass it entirely. Let’s explore what elaboration is, why it helps with learning, and how we can use AI tools in a way that helps with this process rather than circumventing it.

Blog Post

Speed vs. Skill

Developing with AI through the cognitive Lens

Podcast

Resilienz

Prozesse, Kultur und Technik

Blog Post

Context Engineering: Managing AI-Generated Code Complexity

AI tools make developers more productive at writing code, but can overwhelm code reviewers with massive changes. Learn practical strategies for managing context in AI-assisted development to keep your code comprehensible, your reviews manageable, and your team’s productivity genuinely improved. Small scope was always good practice—with AI, it’s essential.

Blog Post

Git Clarity: Building Meaningful Commits and Linear History

A personal workflow for intentional development and cleaner Git logs

Article

A Governance Framework for Digital Sovereignty

In an increasingly connected world where digital infrastructure forms the backbone of our economy and society, the topic of digital sovereignty is gaining more and more attention. For decision-makers in German-speaking countries, this goes far beyond merely selecting a cloud provider. It’s about strategic agency, resilience, and the ability to actively shape one’s digital future. This article explores how a robust governance methodology can help organizations not only understand digital sovereignty but also put it into practice—without sacrificing convenience or innovation.

Article

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.

Article

CIO-Fragestellungen zur digitalen Souveränität

Mit Enterprise Architektur geopolitische Risiken meistern

Podcast

Testpyramide oder Testdiamant?

Welche Automatisierungsstrategie passt zu meinem Kontext?

Article

Internal Development Platforms

Internal Developer Platforms (IDPs) help us accelerate software development. They represent the natural evolution of developments over the past decades. We’d like to show why this is the case with a historical overview and then examine current challenges.

Blog Post

Rules, Tools, and Teamwork

Getting Static Code Analysis Right

Blog Post

Bessere APIs, aber wie?

API Linting verbessert die Qualität einzelner APIs und hilft, Design-Standards in Organisationen zu etablieren und zu unterstützen. Spectral als das populärste Linting Tool hat eingebaut Regeln und unterstützt selbstgeschriebene Regeln. Vor allem in grösseren Organisationen hilft API Linting, Hilfestellung und Automatisierung beim API-Design zu unterstützen.

Podcast

Die Reise der Zalando Reliability Organisation

Zu Gast: Heinrich Hartmann, 
Principal SRE
, Zalando

Podcast

INNOQ Technology Day

Programm und Behind the Scenes

Podcast

Qualitätstaktiken

Für angemessene Qualität sorgen

Podcast

Architekturqualität

Von Stakeholder-Bedürfnissen zu konkreten Lösungen

Blog Post

Rate Limiting with Spring Boot, Bucket4j, and Redis

Blog Post

Rate Limiting with Spring Boot

Let’s implement rate-limiting protection for your Spring Boot server without the need for any additional dependencies beyond those included in the Spring Boot Starter package.

Article

Abhängigkeitsupdates mit Renovate automatisieren

Egal ob wir an einer Anwendung oder Bibliothek arbeiten, wir haben es immer mit Abhängigkeiten zu tun. Wir sind abhängig von der Version unserer Programmiersprache, von externen oder internen Bibliotheken und von Werkzeugen. Neben der eigentlichen Verwaltung müssen diese auch regelmäßig aktualisiert werden. Das erfordert, neben dem Update selbst, auch, dass wir mitbekommen müssen, wenn es eine neue Version gibt. In diesem Artikel schauen wir uns deswegen eine Bot-basierte Lösung an, die uns genau hierbei unterstützen kann.

Podcast

Metriken mit Mehrwert

Das Ziel im Blick

Blog Post

Testing your GitLab CI/CD pipeline

If you develop a pipeline as a service for other development teams you should treat it as a product and establish product development processes, a versioning strategy, etc. around it. Besides that, as potentially many teams will use and rely on your pipeline you want to make sure that new features don’t break existing functionality. This ensures that your customer base remains happy and able to deliver business value. Therefore you need some sort of testing and we will demonstrate a way to (integration-) test your GitLab CI/CD pipeline.

Blog Post

Safety, Energieeffizienz und User Experience

Bei der Softwarearchitektur gilt es, ein Fundament für robuste und qualitativ hochwertige Softwaresysteme zu entwerfen. Softwarequalität beschränkt sich dabei nicht auf Attribute, die bereits während der Softwareentwicklung gewährleistet werden können. Ihnen zur Seite steht ein Block von Qualitätsmerkmalen, deren Ausprägung sich erst während der Softwarenutzung offenbart. Dieser Blogbeitrag beleuchtet diesen Block und dessen Zusammenhang mit Safety, Energieeffizienz und User Experience (UX).

Article

Shortcomings of ISO 25010

Article

1×1 guter Architekturdiagramme

Sie wollen oder müssen Architektur dokumentieren und möchten dafür grafische Darstellungen verwenden? Sie wünschen sich verständliche Diagramme, die auch zukünftig noch leicht änderbar sind? Sie möchten, dass Ihre Diagramme für unterschiedliche Zielgruppen nützlich sind? Und wenn Sie ganz ehrlich sind, wollen Sie dieses Doku-Zeugs in möglichst kurzer Zeit erledigen, damit Sie sich wieder anderen Dingen zuwenden können.

Article

Eine kleine Geschichte über Qualität…

Du denkst Dir nichts Böses, da bittet Dich Tante Lucy um einen kleinen Gefallen… und Du musst Dich entscheiden, wie Du das angehen sollst. Aber als Belohnung winkt ihr leckerer Erdbeerkuchen, außerdem sind wir doch alle Herausforderungen gewöhnt, oder?

Blog Post

Software quality in the context of value chains and evolution

Mapping of quality attributes on a Wardley Map for a more informed assessment of software systems

Article

Quality Driven Software Architecture - Revised

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.

Blog Post

Test organization and naming

As our system grows, so will our test suites. For our production code, we have learned techniques to keep it maintainable. For example, we try to structure our logic into sub-aspects, put them in specific locations and give the units meaningful names. We want to achieve the same for our tests. One of the main goals is that a developer - or generally speaking, the person who has to maintain the test - knows where to find which test. We also want to understand as quickly as possible what the test is for and what might be the reason for a failing test.

Blog Post

Test Strategy

Blog Post

What’s in a Name: Quality

We use the word quality colloquially for something “good” – but we usually leave open what exactly we mean by it. This article illustrates that we should be a little more precise in this regard.

Podcast

Software Reviews

Jedes System hat Potential. Wie man es am besten heben kann.

Article

The art of software reviews

Probleme und Risiken in Software zielsicher identifizieren

Blog Post

Tests Granularity

In two previous posts we discussed the benefits of automated tests and the properties of a good test. So far we were trying to avoid differentiating the tests in any way. This time we want to address one way how tests can be classified: tests granularity.

Article

Software Reviews

Die initiale Architektur und Infrastruktur eines Systems wird üblicherweise kompetent und sorgfältig geplant und umgesetzt, bei der iterativen Weiterentwicklung auf Clean Code und Code Reviews geachtet. Viele kleine über die Jahre getätigte Änderungen an der Software ergeben dann aber nicht immer ein in sich schlüssiges Gesamtbild. Spätestens wenn sich die Time-To-Market verschlechtert und eine Anwendung nicht mehr alle notwendigen Qualitätsanforderungen erfüllt sollte ein umfassendes Software Review in Erwägung gezogen werden.

Blog Post

Anatomy of a Good Test

Blog Post

Why you should write automated tests

This blog post gives an overview of the most common benefits gained by writing automated tests. It starts in a place where most of the projects we’ve seen so far are: tests are written as a last step of the development process. Then it shows additional benefits that could be gained if we all gave the tests a bit more focus and care.

Blog Post

Visualizing the progress of a refactoring into a hexagonal architecture using jQAssistant

In my last project, we decided to refactor the inner structure of one of our services into a Hexagonal Architecture. It was clear that this was no task that could be done within a couple of days. During this long-running refactoring, we wanted to make our progress visible. Where are we now? What did we already have achieved? What do we still have to do? In this blog post, I describe the approach we took and how it helped us with our task.

Article

Generierung von Regressionstests für Legacy-Code

Testfälle auf Knopfdruck?

Podcast

Java by Comparison

Vorher/Nachher-Vergleiche zu Clean Code in Java

Article

Gegen die dunkle Macht

Ein ganz normaler Tag: Morgens frage ich mich, welche Katastrophe mich heute erwartet. Ich bin einiges gewohnt, aber die letzten Monate wurde es immer schlimmer: Früher gab es nur Fehler im Test oder Schwierigkeiten bei der Entwicklung. Jetzt kommen auch noch Laufzeitfehler dazu, die den Betrieb im Rechenzentrum stören und unsere Endkunden massiv irritieren. Als hätte sich die dunkle Macht gegen uns verschworen – dabei haben wir doch nur ganz normale Anforderungen. Aber sicherlich das schlechteste Softwaresystem der Welt …

Article

Kanonische Architektur-Evolution

Stereotypen, Konzepte und Konstruktionsregeln

Article

Software systematisch verbessern

Die Informatik-Ausbildung fokussiert auf die Neuentwicklung von Software – den Alltag vieler Softwerker prägen jedoch meist Pflege, Änderung oder Erweiterung von Systemen. In diesem Artikel stelle ich Ihnen aim42 vor, ein systematisches Vorgehen zur Verbesserung von Software. aim42 ist frei verfügbar und kondensiert Praktiken und Patterns rund um Evolution, Änderung und Wartung von IT-Systemen.

Article

Early-Design Reviews

Sie erfahren in diesem Whitepaper, wie Kunden der innoQ in unterschiedlichen Projektphasen von der Umsetzungs- und Architektur-Expertise von innoQ profitiert haben. Sie lernen die notwendigen Voraussetzungen für erfolgreiche Review-Projekte kennen.

Article

Auf Nummer sicher

Testen von ausführbaren Geschäftsprozessen

Article

Quality Driven Software Architecture

Qualität bildet die Existenzberechtigung für Softwarearchitekten: Zuverlässig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder IT’ler weiss, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch Qualität konstruieren können.

Talk
Talk

AI Systems Architecture: Was AI-Features produktionstauglich macht

BED Con

Talk
Talk

Statische Codeanalyse: Stolz und Vorurteil – und Zombies

DWX 2026 / 14:15 - 15:15

Talk
Talk

„Garbage-In“ ist kein Schicksal: Bessere Anforderungen für Entwicklungsteams

iSAQB® Software Architecture Forum 2026 / 11:15 - 12:15

News

INNOQ Technology Day am 12. November 2026

News

Neu: Agentic Engineering Accelerator Programm

News

Digitale Souveränität im Fokus: Das Technology Briefing für IT-Entscheider:innen

News

Jetzt anmelden: INNOQ Technology Day 2024

News

Neue Leistungsseite: Software-Reviews

Case Study

HILFE FÜR JUNGS (“Help for Boys”): Reliable software for mobile consultations

News

OOP 2024: Wir sind dabei!

News

INNOQ Technology Day 2023 am 13. November