Using a build server can actually hurt productivity:
- It introduces a single point of failure
- It can yield false-positives
- It can yield false-negatives
- It consumes time and energy to configure it properly
Think about it – you may not need a build server, after all.
It introduces a single point of failure
When things fail on the build server, it looks bad. It doesn’t matter if the build succeeds on the developer machines. – Seriously?
It can yield false-positives
The build might succeed on the build server, while fail on the developer machines. – Now what?
It can yield false-negatives
The build might fail on the build server for a whole lot of (unrelated) reasons to the build itself. Does that mean we’re screwed? – We might not.
It consumes time and energy to configure it properly
It’s one of those days where you end up spending more time getting the build server to work, than working on something else that’s probably more useful.
Bring fun back to work:
- Run the build on a few developer machines.
- Report back whether it succeeds or not, and rely on that.
Get rid of those pesky build servers.