Projects that are executed against the will and without the knowledge of the management are a particularly fascinating artifact of the software engineering world. The English term I heard used for these is “Skunkworks”. However, I particularly like the German expression for such stealth missions: U-Boot (submarine). Nobody is aware of the U-Boot until it... Continue Reading →
The Management Proliferation Cycle
I think that most practitioners in the technology space will have come across a project with an incredibly skewed managers-to-doers ratio. Symptoms are typically long discussions that are detached from the on-the-ground reality, difficulties to build consensus about the right approach because of the number of opinions involved, and a way too long wish lists... Continue Reading →
Has Any Great Idea Ever Been Developed at the Water Cooler?
The fact that open-plan offices have become the norm in the software industry is a mystery to me. I know very few engineers working in these environments that appreciate them and all the quantitative evidence that I am aware of seems to favor good ol’ walls. Open spaces are often promoted as environments that “foster... Continue Reading →
The Reorganization Pendulum
Let us talk about everyone’s favorite pastime: Reorgs! There are many reasons why they happen, some very valid (like economic necessity or making sure the right people end up in the right position) some a bit less (e.g. a new manager wanting to leave a scent mark or sidelining an underperformer without stepping on anyone's... Continue Reading →
On Referring to People as Resources
I would like to address a pet peeve of mine: The unfortunate habit in some circles to refer to people as “resources“ in staffing-related discussions. In the past, I have heard phrases like “We will need more Java resources“ or “Can we find more DevOps resources”. In this piece, I want to argue that, more... 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 →