The year that was

The end of the (Gregorian) calendar year is an apt time to reflect upon the year that was. There are many approaches on how to do this personal retrospective; my friend Johannes Thönes captured a few of them here. Another technique that I use is an adaptation of McKinsey’s Three Horizons of Growth....

Deliberately Ugly Names

There is a humorously devilish piece of satire by Andy Yurisich that “instructs” us to give variables names like ínt, god, and LancelotsFavouriteColor – all in the pursuit of job security through inscrutable code. It’s brilliantly creative writing and I encourage you to read it; as a parody piece and not as an instruction manual....

Unit Tests

How would you define Unit Tests? That’s not a rhetorical question: I am asking (and perhaps challenging) you to come up with a crisp definition of a Unit Test. A definition that is short, is not circular, and does not need to refer to a specific programming language or...

Give me some space

My colleagues Aly Nielson and Ante Grgić recently worked on a part of a web application that required trimming strings. Their interesting and anomalous findings prompted me to write this. Quick defintions: a “string” is an array of zero or more characters. A “character” represents one symbol that has...

Inclusivity

Today (September 20th, 2019) I attended and presented at an Agile Conference in Portland, Oregon. My experience was overwhelmingly positive and enriching. I thank the organizers, hosts, sponsors, and volunteers for putting together a value-laden day of conversations and presentations. However, not everything was as it should be. In...

Cloud sprawl

Cheap and ubiquitous cloud services have begotten a sprawl of previously unimagined proportions. So what can organizations do? While there are no trivial or silver-bullet solutions, there are several things that can improve the situation....