Blog

Event Sourcing Challenge: Bowling Game Kata

Event Sourcing Challenge: Bowling Game Kata

Event Sourcing ist für mich die Zukunft der grundsätzlichen Zustandshaltung in Software. Alles andere ist eine Optimierung, die man nicht leichtfertig und schon gar nicht vorzeitig vornehmen sollte. Mit Event Sourcing verdrängt endlich Konstruktivismus den bisherigen...

mehr lesen

Hamburg Style TDD – Bank Kata

There are already a few different styles of TDD out there. Still, though, my feeling is something is missing in the realm of test-first or test-driven development. I tried to explain that in my posting introducing the „Hamburg style TDD“. And then I showed what that...

mehr lesen
Co-creation at work

Co-creation at work

Last night I experienced live within 15 minutes an example of co-creation. What an unexpected treat from David who was the presenter at the weekly Business Growth event at Coworking Bansko. David, who talked about visual communication, asked us at the end to apply...

mehr lesen

Hamburg Style TDD – Diamond Kata

In a previous article I tried to explain why I’m not satisfied with the existing schools of TDD: They are not really tapping the developers’ capability to think. At least for my taste. Or to say it more bluntly: They are dumbing down developers. Sure, their motivation...

mehr lesen

Hamburg Style TDD

There are a number of „TDD styles“ (or even „schools of TDD“): Chicago style London style Munich style And I cannot identify myself with any of them. Not 100% at least. Recently I attended a talk by Marco Emrich who showed the above styles next to each other - and I...

mehr lesen
Command Query Notification Separation (CQNS)

Command Query Notification Separation (CQNS)

CQS (Command Query Separation) is a well known principle for disentangling method responsibilities in OO software. I had known it for quite some time, but only recently actually have taken it to heart. And now I’m really loving it. I cannot imagine doing without it....

mehr lesen
Against pseudo-wisdom

Against pseudo-wisdom

Apart from esoteric or „spiritual“ circles it seems a trait of software development to use „pearls of wisdom“ to impart one’s professionalism. „Appeal to authority“ likewise is in broad use. It was this tweet which made that clear to me once more: And I’m sick and...

mehr lesen

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...

mehr lesen
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...

mehr lesen
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...

mehr lesen
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...

mehr lesen
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,...

mehr lesen

One Man Think Tank EOOD
30-32, Gen. E.I. Totleben Blvd., fl 2
1606 Sofia Bulgaria

0049-170-3200458