The authors of the Addison-Wesley book “Patterns for API Design — Simplifying Integration with Loosely Coupled Message Exchanges” publish(ed) 21 articles online, featuring selected patterns from their book. The series...
EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
This post lists 25 questions to ask when reviewing the Developer Experience (DX) of an API. It groups them by the four DX pillars (functionality, stability, ease of use, clarity)...
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
Context Mapper is an open source DSL and tool for Domain-driven design (DDD), resulting from joint work by Stefan Kapferer and Olaf Zimmermann. This post and a sibling give a...
The post on “Event-Driven Service Design” proposes continuous refinement steps to derive process flows and API designs from event-command chains. Here, we show how to convert such process flows to...
Goal-oriented API design (“contract-first”) is a recommended practice in the Web API community; data modeling is equally important to balance API granularity and client-provider coupling. Finally, refactoring to API patterns...
Event storming workshops yield domain events and commands (among other artifacts). This post proposes a continuous refinement process to derive an API design and an executable integration flow from such...
In a previous post, we collected twelve definitions of cloud-native. In this post, we derive yet another one from those (and our own experience). Two, actually (“How standards proliferate”).
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what does it take for an application to be(come) cloud-native? Do we...
This post proposes five principles for API design, summarized in the backronym POINT: purposeful, style-oriented, isolated, channel-neutral and T-shaped.
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
Microservice architectures evolved from previous incarnations of Service-Oriented Architectures (SOAs) to promote agility and elasticity. This post updates the SOA vs. microservices positioning part of an older IFS web page...
In an ICWE keynote, I presented(ed) our evolving tool chain for object-oriented analysis and design (or DDD, to be precise) and service design. Here’s how to run the full demo....
In a previous post, I reflected about the evolution of Microservice API Patterns (MAP) since 2016. This “meta-post” points you at presentations and articles motivating the need for MAP, introducing...
Microservices are still trending, but not straightforward to design well. Patterns are a mature and elaborate form of knowledge sharing, so Microservice API Patterns (MAP) complement other pattern languages to...
This “meta-post” lists all posts in The Concerned Architect (by topic). Pointers to blogs that I visit when I am not busy consulting, designing, coding, teaching, writing can be found...
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...
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...
It is important to hit the most responsible moment for an Architectural Decision (AD) about a pattern or other concept, technology or product. But when is an AD actually ready...
This guest post is about collaborative architectural decision making, by way of a cross-organization software architecture board. My former colleague Hans-Peter Hoidn reports on motivation, setup and value of such...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
This post reflects about reviewing ADRs. It identifies three review perspectives, recommends related practices and discusses anti-patterns. A review checklist is provided and an ADR reviewer pledge proposed.1 ADR stands...
ADR stands for architectural decision record, but could just as well stand for archive of design rationale. This post is about making ADRs valuable; a sibling post covers ADR review....
The Markdown Architectural Decision Record (MADR) Template turned five on Nov 22, 2022. MADR stems from documenting architectural decisions and used to be named “Markdown Architectural Decision Records”; but time...
If architectural decision records are so useful to capture software design rationale, why not extend their scope: Can they log organizational and managerial decisions as well? How about everyday decisions?...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
It is good to know when the most responsible moment for an architectural decision about a pattern or technology has come. But when can a decision be considered done? This...
Architectural Decisions (ADs) have been answering “why” questions about design options since the inception of software architecture in the 1990s. Ways to capture them should be part of each architect’s...
This “meta-post” lists all posts in The Concerned Architect (by topic). Pointers to blogs that I visit when I am not busy consulting, designing, coding, teaching, writing can be found...
The authors of the Addison-Wesley book “Patterns for API Design — Simplifying Integration with Loosely Coupled Message Exchanges” publish(ed) 21 articles online, featuring selected patterns from their book. The series...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
Context Mapper is an open source DSL and tool for Domain-driven design (DDD), resulting from joint work by Stefan Kapferer and Olaf Zimmermann. This post and a sibling give a...
The post on “Event-Driven Service Design” proposes continuous refinement steps to derive process flows and API designs from event-command chains. Here, we show how to convert such process flows to...
Goal-oriented API design (“contract-first”) is a recommended practice in the Web API community; data modeling is equally important to balance API granularity and client-provider coupling. Finally, refactoring to API patterns...
Event storming workshops yield domain events and commands (among other artifacts). This post proposes a continuous refinement process to derive an API design and an executable integration flow from such...
In a previous post, we collected twelve definitions of cloud-native. In this post, we derive yet another one from those (and our own experience). Two, actually (“How standards proliferate”).
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what does it take for an application to be(come) cloud-native? Do we...
This post proposes five principles for API design, summarized in the backronym POINT: purposeful, style-oriented, isolated, channel-neutral and T-shaped.
Microservice architectures evolved from previous incarnations of Service-Oriented Architectures (SOAs) to promote agility and elasticity. This post updates the SOA vs. microservices positioning part of an older IFS web page...
In an ICWE keynote, I presented(ed) our evolving tool chain for object-oriented analysis and design (or DDD, to be precise) and service design. Here’s how to run the full demo....
In a previous post, I reflected about the evolution of Microservice API Patterns (MAP) since 2016. This “meta-post” points you at presentations and articles motivating the need for MAP, introducing...
Difficult times for conference organizers… ECSA 2020 and Microservices 2020, two events I helped organize in 2020, took place online. What is happening in 2021?
Microservices are still trending, but not straightforward to design well. Patterns are a mature and elaborate form of knowledge sharing, so Microservice API Patterns (MAP) complement other pattern languages to...
This “meta-post” lists all posts in The Concerned Architect (by topic). Pointers to blogs that I visit when I am not busy consulting, designing, coding, teaching, writing can be found...
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...
I enjoyed reading about “Satirical ways to measure academics” in Austin Z. Henley’s blog. It inspired me to compile additional ones — about teaching, research, administration of academic work and,...
Update (7/2025): Parts of this post have been published as a “Dear Researchers” column in JSS: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software...
Which level of research rigor and result maturity is required to satisfy paper reviewers? I shared tips how to write for reviewability and how to review before. Here are some...
I review documents a lot, and I attend many meetings too. Creating meeting minutes or review comments ain’t fun; the same holds for processing them. Over the years, I have...
News (7/2025): Hello “Dear Researchers”! I now co-edit this fairly new column in the Journal of Software and Systems together with Austin Henley. Learn about it in this post.
When authoring specifications, technical documentation or articles, many pitfalls wait for authors (and, as a consequence, their readers) — but there are ways around them. In this post, I’ll highlight...
This “meta-post” lists all posts in The Concerned Architect (by topic). Pointers to blogs that I visit when I am not busy consulting, designing, coding, teaching, writing can be found...
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.
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...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
Context Mapper is an open source DSL and tool for Domain-driven design (DDD), resulting from joint work by Stefan Kapferer and Olaf Zimmermann. This post and a sibling give a...
The post on “Event-Driven Service Design” proposes continuous refinement steps to derive process flows and API designs from event-command chains. Here, we show how to convert such process flows to...
Goal-oriented API design (“contract-first”) is a recommended practice in the Web API community; data modeling is equally important to balance API granularity and client-provider coupling. Finally, refactoring to API patterns...
Event storming workshops yield domain events and commands (among other artifacts). This post proposes a continuous refinement process to derive an API design and an executable integration flow from such...
Aspect-oriented programming, behavior-driven development, CAP theorem… can we cook some more IT alphabet soup? This method and practice reference (as is, to be) and TLA resolver is not to be...
Microservice architectures evolved from previous incarnations of Service-Oriented Architectures (SOAs) to promote agility and elasticity. This post updates the SOA vs. microservices positioning part of an older IFS web page...
In an ICWE keynote, I presented(ed) our evolving tool chain for object-oriented analysis and design (or DDD, to be precise) and service design. Here’s how to run the full demo....
This “meta-post” lists all posts in The Concerned Architect (by topic). Pointers to blogs that I visit when I am not busy consulting, designing, coding, teaching, writing can be found...
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...
I enjoyed reading about “Satirical ways to measure academics” in Austin Z. Henley’s blog. It inspired me to compile additional ones — about teaching, research, administration of academic work and,...
Update (7/2025): Parts of this post have been published as a “Dear Researchers” column in JSS: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software...
Update (7/2025): The “Dear Researchers” column “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture and distributed systems” (JSS, open access) features a subset...
Update (7/2025): The column has four articles now, available on a JSS website. Latest addition: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture...
When authoring specifications, technical documentation or articles, many pitfalls wait for authors (and, as a consequence, their readers) — but there are ways around them. In this post, I’ll highlight...
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...
Update (7/2025): The column has four articles now, available on a JSS website. Latest addition: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture...
Which level of research rigor and result maturity is required to satisfy paper reviewers? I shared tips how to write for reviewability and how to review before. Here are some...
I review documents a lot, and I attend many meetings too. Creating meeting minutes or review comments ain’t fun; the same holds for processing them. Over the years, I have...
News (7/2025): Hello “Dear Researchers”! I now co-edit this fairly new column in the Journal of Software and Systems together with Austin Henley. Learn about it in this post.
Microservices are still trending, but not straightforward to design well. Patterns are a mature and elaborate form of knowledge sharing, so Microservice API Patterns (MAP) complement other pattern languages to...
When authoring specifications, technical documentation or articles, many pitfalls wait for authors (and, as a consequence, their readers) — but there are ways around them. In this post, I’ll highlight...
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...
EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of...
This guest post is about collaborative architectural decision making, by way of a cross-organization software architecture board. My former colleague Hans-Peter Hoidn reports on motivation, setup and value of such...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
This post reflects about reviewing ADRs. It identifies three review perspectives, recommends related practices and discusses anti-patterns. A review checklist is provided and an ADR reviewer pledge proposed.1 ADR stands...
ADR stands for architectural decision record, but could just as well stand for archive of design rationale. This post is about making ADRs valuable; a sibling post covers ADR review....
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
The Markdown Architectural Decision Record (MADR) Template turned five on Nov 22, 2022. MADR stems from documenting architectural decisions and used to be named “Markdown Architectural Decision Records”; but time...
If architectural decision records are so useful to capture software design rationale, why not extend their scope: Can they log organizational and managerial decisions as well? How about everyday decisions?...
This “meta-post” points you at valuable templates for documenting software architectures as well as a few pattern languages that can support their creation.
Should our favorite “-ilities” and miscellaneous design/decision drivers be filed under “Non-Functional Requirements” or “Extra-Functional Requirements”? The two editors of IEEE Software Insights do not agree. Read their arguments and...
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
News (7/2025): Hello “Dear Researchers”! I now co-edit this fairly new column in the Journal of Software and Systems together with Austin Henley. Learn about it in this post.
Architectural Decisions (ADs) have been answering “why” questions about design options since the inception of software architecture in the 1990s. Ways to capture them should be part of each architect’s...
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...
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...
In this guest post, my former colleague Hans-Peter Hoidn looks back on 50 years in Information Technology (IT) and the development and architecting experiences he gained. He comments on technologies...
It is important to hit the most responsible moment for an Architectural Decision (AD) about a pattern or other concept, technology or product. But when is an AD actually ready...
EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
This guest post is about collaborative architectural decision making, by way of a cross-organization software architecture board. My former colleague Hans-Peter Hoidn reports on motivation, setup and value of such...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
This post reflects about reviewing ADRs. It identifies three review perspectives, recommends related practices and discusses anti-patterns. A review checklist is provided and an ADR reviewer pledge proposed.1 ADR stands...
ADR stands for architectural decision record, but could just as well stand for archive of design rationale. This post is about making ADRs valuable; a sibling post covers ADR review....
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
The Markdown Architectural Decision Record (MADR) Template turned five on Nov 22, 2022. MADR stems from documenting architectural decisions and used to be named “Markdown Architectural Decision Records”; but time...
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what about migrating an application to the cloud? How to find out...
In a previous post, we collected twelve definitions of cloud-native. In this post, we derive yet another one from those (and our own experience). Two, actually (“How standards proliferate”).
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what does it take for an application to be(come) cloud-native? Do we...
Which level of research rigor and result maturity is required to satisfy paper reviewers? I shared tips how to write for reviewability and how to review before. Here are some...
This “meta-post” points you at valuable templates for documenting software architectures as well as a few pattern languages that can support their creation.
Should our favorite “-ilities” and miscellaneous design/decision drivers be filed under “Non-Functional Requirements” or “Extra-Functional Requirements”? The two editors of IEEE Software Insights do not agree. Read their arguments and...
Aspect-oriented programming, behavior-driven development, CAP theorem… can we cook some more IT alphabet soup? This method and practice reference (as is, to be) and TLA resolver is not to be...
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
It is good to know when the most responsible moment for an architectural decision about a pattern or technology has come. But when can a decision be considered done? This...
Difficult times for conference organizers… ECSA 2020 and Microservices 2020, two events I helped organize in 2020, took place online. What is happening in 2021?
Architectural Decisions (ADs) have been answering “why” questions about design options since the inception of software architecture in the 1990s. Ways to capture them should be part of each architect’s...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
ADR stands for architectural decision record, but could just as well stand for archive of design rationale. This post is about making ADRs valuable; a sibling post covers ADR review....
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
The Markdown Architectural Decision Record (MADR) Template turned five on Nov 22, 2022. MADR stems from documenting architectural decisions and used to be named “Markdown Architectural Decision Records”; but time...
If architectural decision records are so useful to capture software design rationale, why not extend their scope: Can they log organizational and managerial decisions as well? How about everyday decisions?...
This “meta-post” points you at valuable templates for documenting software architectures as well as a few pattern languages that can support their creation.
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
It is good to know when the most responsible moment for an architectural decision about a pattern or technology has come. But when can a decision be considered done? This...
Architectural Decisions (ADs) have been answering “why” questions about design options since the inception of software architecture in the 1990s. Ways to capture them should be part of each architect’s...
The authors of the Addison-Wesley book “Patterns for API Design — Simplifying Integration with Loosely Coupled Message Exchanges” publish(ed) 21 articles online, featuring selected patterns from their book. The series...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
This post lists 25 questions to ask when reviewing the Developer Experience (DX) of an API. It groups them by the four DX pillars (functionality, stability, ease of use, clarity)...
The post on “Event-Driven Service Design” proposes continuous refinement steps to derive process flows and API designs from event-command chains. Here, we show how to convert such process flows to...
Goal-oriented API design (“contract-first”) is a recommended practice in the Web API community; data modeling is equally important to balance API granularity and client-provider coupling. Finally, refactoring to API patterns...
Event storming workshops yield domain events and commands (among other artifacts). This post proposes a continuous refinement process to derive an API design and an executable integration flow from such...
This post proposes five principles for API design, summarized in the backronym POINT: purposeful, style-oriented, isolated, channel-neutral and T-shaped.
In an ICWE keynote, I presented(ed) our evolving tool chain for object-oriented analysis and design (or DDD, to be precise) and service design. Here’s how to run the full demo....
In a previous post, I reflected about the evolution of Microservice API Patterns (MAP) since 2016. This “meta-post” points you at presentations and articles motivating the need for MAP, introducing...
Microservices are still trending, but not straightforward to design well. Patterns are a mature and elaborate form of knowledge sharing, so Microservice API Patterns (MAP) complement other pattern languages to...
The authors of the Addison-Wesley book “Patterns for API Design — Simplifying Integration with Loosely Coupled Message Exchanges” publish(ed) 21 articles online, featuring selected patterns from their book. The series...
EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
This post lists 25 questions to ask when reviewing the Developer Experience (DX) of an API. It groups them by the four DX pillars (functionality, stability, ease of use, clarity)...
The post on “Event-Driven Service Design” proposes continuous refinement steps to derive process flows and API designs from event-command chains. Here, we show how to convert such process flows to...
Goal-oriented API design (“contract-first”) is a recommended practice in the Web API community; data modeling is equally important to balance API granularity and client-provider coupling. Finally, refactoring to API patterns...
Event storming workshops yield domain events and commands (among other artifacts). This post proposes a continuous refinement process to derive an API design and an executable integration flow from such...
This “meta-post” points you at valuable templates for documenting software architectures as well as a few pattern languages that can support their creation.
In an ICWE keynote, I presented(ed) our evolving tool chain for object-oriented analysis and design (or DDD, to be precise) and service design. Here’s how to run the full demo....
In a previous post, I reflected about the evolution of Microservice API Patterns (MAP) since 2016. This “meta-post” points you at presentations and articles motivating the need for MAP, introducing...
Microservices are still trending, but not straightforward to design well. Patterns are a mature and elaborate form of knowledge sharing, so Microservice API Patterns (MAP) complement other pattern languages to...
EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
Difficult times for conference organizers… ECSA 2020 and Microservices 2020, two events I helped organize in 2020, took place online. What is happening in 2021?
It is important to hit the most responsible moment for an Architectural Decision (AD) about a pattern or other concept, technology or product. But when is an AD actually ready...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
Microservice architectures evolved from previous incarnations of Service-Oriented Architectures (SOAs) to promote agility and elasticity. This post updates the SOA vs. microservices positioning part of an older IFS web page...
It is good to know when the most responsible moment for an architectural decision about a pattern or technology has come. But when can a decision be considered done? This...
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...
It is important to hit the most responsible moment for an Architectural Decision (AD) about a pattern or other concept, technology or product. But when is an AD actually ready...
Architectural Decision (AD) making and capturing are essential tasks for enterprise architects and solution architects; Architectural Decision Records (ADRs) have become increasingly popular. However, principles and practices for AD management...
This post reflects about reviewing ADRs. It identifies three review perspectives, recommends related practices and discusses anti-patterns. A review checklist is provided and an ADR reviewer pledge proposed.1 ADR stands...
Our public Design Practice Repository (DPR) and the corresponding eBook at LeanPub collect proven method elements for agile architecting in general and API/service design in particular. Version 1.5 of the...
The Design Practice Repository (DPR) on GitHub collects proven method elements and other knowledge nuggets for API and service design — and agile software architecture work in general. This post...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
It is good to know when the most responsible moment for an architectural decision about a pattern or technology has come. But when can a decision be considered done? This...
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...
This guest post is about collaborative architectural decision making, by way of a cross-organization software architecture board. My former colleague Hans-Peter Hoidn reports on motivation, setup and value of such...
This post reflects about reviewing ADRs. It identifies three review perspectives, recommends related practices and discusses anti-patterns. A review checklist is provided and an ADR reviewer pledge proposed.1 ADR stands...
ADR stands for architectural decision record, but could just as well stand for archive of design rationale. This post is about making ADRs valuable; a sibling post covers ADR review....
This post proposes five principles for API design, summarized in the backronym POINT: purposeful, style-oriented, isolated, channel-neutral and T-shaped.
Should our favorite “-ilities” and miscellaneous design/decision drivers be filed under “Non-Functional Requirements” or “Extra-Functional Requirements”? The two editors of IEEE Software Insights do not agree. Read their arguments and...
What is important when analyzing and designing software architectures, and what is not? This post proposes 5+2 criteria for the architectural significance of requirements (and other artifacts) and applies them...
I enjoyed reading about “Satirical ways to measure academics” in Austin Z. Henley’s blog. It inspired me to compile additional ones — about teaching, research, administration of academic work and,...
Aspect-oriented programming, behavior-driven development, CAP theorem… can we cook some more IT alphabet soup? This method and practice reference (as is, to be) and TLA resolver is not to be...
Which level of research rigor and result maturity is required to satisfy paper reviewers? I shared tips how to write for reviewability and how to review before. Here are some...
The authors of Vaughn’s book series at Addison Wesley teamed up for a free online conference. “The Architecture and Modeling Learning Event” covered not only software architecture, domain modeling and...
In a previous post, we collected twelve definitions of cloud-native. In this post, we derive yet another one from those (and our own experience). Two, actually (“How standards proliferate”).
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what does it take for an application to be(come) cloud-native? Do we...
This post proposes five principles for API design, summarized in the backronym POINT: purposeful, style-oriented, isolated, channel-neutral and T-shaped.
There is a new series of articles about measuring and improving the ecological footprint of Web applications. “Growing Green Software” advertises itself metaphorically as this:
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what about migrating an application to the cloud? How to find out...
In a previous post, we collected twelve definitions of cloud-native. In this post, we derive yet another one from those (and our own experience). Two, actually (“How standards proliferate”).
Cloud-Native Application (CNA) has been a trending buzzword in blogs, books and articles for several years now. But what does it take for an application to be(come) cloud-native? Do we...
There is a new series of articles about measuring and improving the ecological footprint of Web applications. “Growing Green Software” advertises itself metaphorically as this:
There is a new series of articles about measuring and improving the ecological footprint of Web applications. “Growing Green Software” advertises itself metaphorically as this:
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.
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...
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...
Update (7/2025): Parts of this post have been published as a “Dear Researchers” column in JSS: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software...
Update (7/2025): The “Dear Researchers” column “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture and distributed systems” (JSS, open access) features a subset...
In this guest post, my former colleague Hans-Peter Hoidn looks back on 50 years in Information Technology (IT) and the development and architecting experiences he gained. He comments on technologies...
Update (7/2025): The column has four articles now, available on a JSS website. Latest addition: “Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture...