An Interface Refactoring Catalog (IRC) complementing “Patterns for API Design” is available online. This post takes you through the IRC website and features selected catalog entries. Interface Refactoring Catalog (IRC) Overview Why IRC? It provides “a collection of API refactorings and related architectural refactorings. The refactoring activities are described in a technology-neutral way for the…
A previous post featured the MADR template for recording architectural decisions in Markdown. A YAML version of its abstract syntax is available now, called YADR (pronounced similar to “wider”). Let’s find out why it was built, and what to do with the new template rendering. The MADR Template Revisited Architectural Decision Records (ADRs) answer “why?” questions. Most ADR templates suggest that…
I shared “Ten Resources about AI in Software Engineering You Do Not Want to Miss” and “More Resources about AI You Might Want to Review” in two blog posts in 2025. This post provides more pointers, grouped by the topics in the title of the post plus Prompt Engineering . Generative AI for Software Architects This blog is a software architecture blog after all, so let’s see what the community…
When making Architectural Decisions (ADs) , things can go wrong. Biases and misconceptions are common. As a result, answers to “why this design?” questions, captured in AD Records (ADRs) , may have little to do with the actual product requirements and project context. Project/product success is at risk in that case. Let’s review some common fallacies and find ways to counter them. Motivating…
I came across additional reading resources since I posted “Ten Resources about AI in Software Engineering You Do Not Want to Miss” . You might find them useful too. Directions and Calls to Action “Quick but worthwhile links” on Martin Fowler’s website references the following blog posts: “Disposable Code Is Here to Stay, but Durable Code Is What Runs the World” by Charity Majors. The article has a…
Reading technical papers typically is a lone activity. Does it have to be? To find out, we ran a reading group. The group members read a famous and/or seminal paper from computer science and software engineering and then met to discuss it. 1 The idea for our reading group stem from a university course in a humanities faculty that tasks students to read classical papers in philosophy as a term…
Update (December 2025): Regrettably, we cannot expect new features or bug fixes before the spring of 2026. ADG is a novel command-line tool for managing recurring architectural decisions. This blog post takes you through its core features. Two decisions regarding Enterprise Integration Patterns (EIP) and their realization serve as examples. and * and --> Overview and Background ADG became…
I started this website and blog in the spring of 2020 (had a lot of time on my hands back then 😉). This “meta” post recapitulates some highlights from five years of blogging. Expect content on architecture decisions (ADs) and practices to manage and record them, patterns and principles for API design, a design “method melange” 1 and more! Architecture Decisions (ADs) and AD Records (ADRs)…
I usually despise click-bait titles but granted me an exception to the rule for this post. 😉 Let’s see whether it will delivers on its promise. Conference Presentations “AI as Software Architect assistant” by Avraham Poupko, Global Software Architecture Summit (GSAS), Barcelona 2024. Compares Large Language Models (LLMs) and humans, discusses role and responsibilities of IT architects and how…
Springtime is thesis writing time in many universities. This post shares editorial advice from thesis reviewers and provides a checklist of questions they tend to ask. It does not claim to be complete or representative. Context This post targets students (and their advisors) in projects with software as a deliverable on varying levels of desired quality and maturity (from demonstrators and…