The proponents of DevOps (myself included) usually bring forward arguments that evolve around breaking silos: “You build it, you run it”. This, according to the philosophy, leads to deliverables that take operational concerns into account, more automation and less finger-pointing. Many of these same arguments could also be applied to some of the other organisational... Continue Reading →
Cutting the System
Cutting up large systems into smaller components is one typical task of software architecture. Many modern architectures follow a (micro-) service pattern which is one particular family of strategies to decompose a larger system into smaller parts. It would be short-sighted to apply any such method without consideration of its respective strengths and weaknesses and... Continue Reading →
Story Points – Useful Tool Or Waste Of Time?
Estimation exercises that require the team to come around a table and discuss whether a task is a three or a five are a typical component of today’s software development rituals. Do the benefits of this process outweigh its cost? I have worked in teams with and without this process and I have found myself... Continue Reading →
Game Theory and Office Politics: Coalitions
Office politics are one of these topics that no one wants to talk about. I’ve met people claiming that in their organization, politics do not exist. Others lament that politics are the root of all evil in their workplace. I think that politics are maybe sometimes unpleasant, especially when they negatively impact your work, but... Continue Reading →
On Big Companies Claiming To Be A Startup
I have hard people in big technology companies pitch their workplace as being “like a startup”. To me this always seemed like a strange pitch, your big company likely cannot offer the most positive aspects of a startup environment. It might have some of the negative ones, though, which is not a great selling point.... Continue Reading →
The Extremely Negative Senior Engineer
A cliche of technology projects is the presence of an overly negative senior engineer who will not hesitate to communicate their disapproval, often accompanied by an extremely negative opinion on the realisability of a given project. I have seen managers finding it difficult to deal with such a situation. In this article, I want to... Continue Reading →
Meetings: A Curious Status Symbol
The fact that individuals that are considered high status in an organization often spend a frightening amount of time in meetings has apparently caused some people to draw the opposite conclusion: In some circles, having a lot of meetings seems to have become a status symbol, a sign that one’s input is valued. This observation... Continue Reading →
On Referring to your Colleagues as Customers
I have observed a pattern that companies large enough to develop internal tooling institutionalize a vocabulary that evokes the impression of a supplier-customer relationship between the teams building these internal tools and the teams using them. I would argue that saying “the customers request a feature” when talking about internal users does more harm than... Continue Reading →
On U-Boot Projects
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 →