Thursday, 4 April 2013

Killing Motivation #5 - Software Building

I don't know what it is, but software developers like to build stuff. Its like a wasting disease. When you are in a small group its pretty easy. But when that group of developers (a gaggle of software developers, a nerd of software developers?) is quite large then centralized build mechanism are "a la mode".

Which is great if you want to demotivate a large group in one fell swoop.

To demotivate en masse you need to create a fragile build environment. The build will fail, daily, and not because a developer made an error, but because the environment that performs that build fails. Fails early......fails often.

And of course, to the sound of a scythe cutting down its victim, the build system will send a message, a form of Dr. Goebbels propaganda, telling everyone that the build failed. It will do this so much that the nerd (plural, as in herd) will suggest that the build system should only send a message when it succeeds, since the obvious default value is #FAIL. 

The build fails, frequently, because of server issues, disk issues (buy cheap small disks that fill up quickly), power issues, and network issues. The list can go on because the de-motivating organization while have missed no chance to miss a chance.