I have noticed a fairly anecdotal negative correlation between the effectiveness of the interactions between a product manager and the engineering team and the frequency with which either party uses the phrase “gathering requirements”. As I am generally curious about how language determines our understanding of the process of software development, I would like to... 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 →
Every Simple Language Will Eventually End Up Turing Complete
It is a cliche of the software world that change is the only constant. Nevertheless, despite the constant mushrooming of new technologies, it seems that some principles stay surprisingly constant, at least during the period that I can remember. In this article, I would like to propose one such constant by postulating the theorem of... Continue Reading →
Software Projects and the Tower of Babel
The biblical myth of the Tower of Babel mourns what humanity had been capable of, had the Lord not chosen to confound our languages lest we learn to work together effectively. I want to argue that even teams that share a common mother tongue get lost in translation more often than we might think and... Continue Reading →