ProgrammingPsychology

Decision Burnout

You might not notice it, but you may be making hundreds – or even thousands – of decisions everyday. Unchecked, these decisions will burn you out. Sometimes it is the number of different decisions that causes the damage, in other cases it is the constant churn of a single decision that roasts your ability to act (ever worked in a organisation that seems to perennially return to the same question… no matter how many times it gets decided?)

You’ll know if you hit burnout on decision making because decision points will irritate you – even if small ones like what size coffee do you want… and do you want to try the special blend of espresso. While this can be bad enough psychologically, it is the problem posed by the big decisions that really shows that burnout has occurred.

For example, in software development there are decisions of all sizes happening all the time. Some of those decisions are classed as Architecture (the ones that will be hard to change). For example, if you had to choose a database technology – that is very often Architecture… especially when you plan to take advantage of features that fall outside the realms of querying where a layer of abstraction may be all you need to switch direction. This decision is a big decision – and if you are burned out on making decisions you’ll procrastinate for a long time before eventually giving up and going with “whatever you do now”.

And this is the big damage of decision burnout: when you just do what you have always done because making a real decision is just too hard.

If you are suffering from decision burnout, you need to take a break. Find people you can trust and give them the autonomy to take on some decisions. Use the power of teams to share a decision amongst a group, where it does less damage to the individuals. This is, I believe, one of the powers of Extreme Programming. The combination of practices makes decisions less likely to lead to burnout. Test-driven development means you are focussing on one small problem at a time. Pair-programming means decisions are distributed between more than one brain.