Functional Dependencies Considered Harmful

You’ve probably heard of the seminal paper „Go To Statement Considered Harmful“ by Edsger Dijkstra from 1968. It paved the way for broad adoption of then modern programming languages with their control flow statements like if-then, for, or while. With Pascal and C...
Revolutions Over Velocity

Revolutions Over Velocity

You probably have ridden a bike a couple of times. And you probably have used one with a couple of gears. So I think you are in a good position to reflect on the notion of velocity as still promoted by quite a few Scrum fanboys. Here’s what I mean: Imagine you’re...
Event Sourcing for Constructivist Software

Event Sourcing for Constructivist Software

What’s Event Sourcing (ES) for? Why deviate from the all encompassing cosy domain data models for keeping and storing application state? Why jump through all the hoops of ES and risk overengineered code? The other day I read an article about Event Sourcing by Tobias...
Eventual Consistency for Mere Mortals

Eventual Consistency for Mere Mortals

Developers shun it, if they can: Eventual Consistency (EC). Rather they jump through hoops and invest huge efforts and drive technologies through all sorts of contortions to avoid even small areas of EC in their applications. What developers love is Immediate...
Terminus Architecture

Terminus Architecture

In my experience most software architectures in projects I see are too technical. They don’t focus on the most important thing: results and behavior. Robert C. Martin coined they term „screaming architecture“: Your architectures should tell readers about the system,...