Code Archeology

I have become very interested in patterns that cause software code to end up in the famous big ball of mud. One of the phenomena that I want to explore today is the fact that every business decision leaves a trace. This article includes a tourist guide for those interested in diving into the code... Continue Reading →

The Trouble With Platforms

It almost seems like a rite of passage: Every company sooner or later discovers they need to build a “platform”. The idea is simple: If you find the common denominator behind the company's development activities, you can build the tooling that allows future projects to be more cost-effective provided they make use of the same... Continue Reading →

On CV-Driven Development

When someone first mentioned the term CV-driven development to me, I remember finding it both extremely apt and equally funny. The concept describes the propensity of software professionals to select a tool not only by its ability to do the job but by its effect on the engineer’s career prospects. Indeed, some risky bets on... Continue Reading →

Problem Space and Solution Space

An extremely fundamental concept that is influencing most of my thinking around software projects is the distinction between the problem space and the solution space. It is one of the best models that I have found so far to think about the software development process on an abstract level. In this article, I would like... Continue Reading →

The Inverse Darwinism of Software Projects

I have become increasingly interested in understanding why it is so common for softwares projects to end up in the famous “Big Ball of Mud”, a state in which the incidental complexity of a system reaches a point that makes every small modification extremely painful. Only once we understand the reasons we can design strategies... Continue Reading →

Blog at WordPress.com.

Up ↑