Skip to content

system architecture

Ports-and-Adapters Architecture: The Pattern

The ports-and-adapters architecture should be the standard architecture for HMI applications. Its parts are loosely coupled, cohesive, easy to test and easy to extend. We can apply the reverse Conway manoeuvre to create self-dependent teams with minimal dependencies on other teams. I’ll motivate the ports-and-adapters or hexagonal architecture with USB ports and adapters and look at the architecture pattern from the production, testing and team perspective. I’ll apply the architecture to the HMI terminal of a harvester.

Read More »Ports-and-Adapters Architecture: The Pattern

The Key Principles of Continuous Delivery

In the seminal book Accelerate, Forsgren and her co-authors provide empirical evidence that Continuous Delivery has a positive impact on the performance of software development organisations. If organisations neglect some of the principles and practices of Continuous Delivery, their performance will suffer. They will reach the point where simple changes will take ages to implement. Not so with Continuous Delivery.

Read More »The Key Principles of Continuous Delivery

Parking at Munich Airport: An Awful Experience

The parking experience at Munich Airport is awful. It is too easy to do something wrong, which can only be remedied by calling support. The bad user experience is caused by a bad system architecture. The pieces for a better architecture are already in place. Improving the interaction between these pieces improves the architecture and a fortiori the user experience. I can at least dream of a better parking experience in the future, although I can’t change the current one.

Read More »Parking at Munich Airport: An Awful Experience
Cover of book Team Topologies by Matthew Skelton and Manuel Pais

Book Review: “Team Topologies” by Matthew Skelton and Manuel Pais

With Team Topologies, Matthew Skelton and Manuel Pais have written a brilliant book how to create a high-performance software development organisation with the best team structure and interaction. Organisations are complex adaptive systems that change as the result of the interactions between their components (e.g., the teams) and the interactions with other systems (e.g., the rest of the organisation, competitors, suppliers, technology and market trends). The resulting changes are hard to predict and hard to control.

Read More »Book Review: “Team Topologies” by Matthew Skelton and Manuel Pais

My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021

I gave a talk at Meeting Embedded 2021 on 4 November 2021. First, I introduced the hexagonal architecture (a.k.a. ports-and-adapters architecture) in general. Then, I showed a walking skeleton of the architecture for a harvester terminal.

Read More »My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021
Ports-and-adapters architecture for harvester terminal with GUI, Cloud, Machine and Customer adapter.

My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021

Creating an architecture means answering many questions about the ecosystem, in which the Qt embedded system operates. While the questions are very similar for all Qt embedded systems, the answers and their priorities differ. So, you should be able to transfer the questions and answers from my running example, a harvester terminal, to your system.

Read More »My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021
Window manager showing split view of home (left) and of turbine cam (right).

Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications

Our quest for a successful architecture of a harvester terminal continues. In this episode, we discuss when a system with a single application is good enough and when a system with multiple applications and a window manager is the better choice. Sometimes, a single-application system with a window manager is just the right choice.

Read More »Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications