All of this content used to be spread over three different blogs at three different domains and it's now been merged into one. Why was it ever three? Because at the time it seemed reasonable that each of them was for a different audiences, and yet over time I've found that the lines between topic areas got blurrier and tended to overlap. So now they're all together in one place.

If you encounter things that seem broken, please let me know and I'll get them fixed.

Browse by topic area:


There's a lot here and if you're not sure where to start, here are some popular starting points. From these, you'll find crosslinks to even more topics. Enjoy!

A developers job

This week I heard “A developers job is to write great software” and I disagree. A developers job is to solve problems for their clients. We have a tendency to get so focused on specific skillsets like “I write code” that we miss the entire point of why we’re doing it.

Kanban: Simple, but not always obvious

We meet a lot of teams who say they’re doing Kanban and yet are only scratching the surface and not getting the benefit from Kanban that they could. They’re moving some cards across a board and think that’s all they have to do. Because it appears so simple, it doesn’t occur to them to reach out for assistance. Why would I need training or coaching to move some tickets around?

Rebuild vs Refactor

I was recently talking to someone who had an old codebase that they just couldn’t work with anymore. So they rewrote it from scratch and within six months, the new code was just as bad as the old. They were no further ahead, despite having invested a significant amount of time and money. This is a common story and it doesn’t have to be this way.

Logical Levels

Robert Dilts’ Logical Levels Model (also called Neurological Levels), is a framework to analyze and understand human experiences, behaviours, and change. It provides a structured way of examining different levels of human experience and helps individuals identify and work with those levels to create effective change. It’s based on earlier work from anthropologist Gregory Bateson.

Motivation & Self-Determination Theory

We tend to over-simplify motivation into just two buckets: intrinsic and extrinsic. According to Self-Determination Theory (SDT)1, there are in fact six kinds of motivation2 and it’s worth considering the full range.

  1. Self-Determination Theory: Basic Psychological Needs in Motivation, Development, and Wellness by Ryan & Deci, 2018 

  2. SDT is a much larger model that encompasses more than just motivation. This chart is one part of the Organismic Integration Theory, that is is turn just one of six mini-theories contained within SDT. 

Keeping people busy

The Kanban Guide talks about optimizing the workflow for three different attributes: effectiveness, efficiency, and predictability. It talks about the fact that any optimizations we perform will be a balance across these three and that over-optimizing on one may make the others worse.

Why we should stop using spikes

Spikes were an interesting idea that have become massively abused and it’s time that we just stop using them.

Steps to improving predictability

If you have a need to know when the work will be done or how much you can do in a certain period of time then predictability will be important to you. We have great tools like Monte Carlo for probabilistic forecasting but the truth is that the forecast we generate is only as good as the data we give it. Garbage in yields garbage out. So how do we improve our data to make it inherently more predictable?

Where should a tech lead start?

I was recently talking to a developer who had just been promoted to tech lead. They were asking what they should be doing differently now. I suggested the first things I’d focus on are that their job is now…