Me and a few friends went bowling last night which is all well and good but it got me to thinking about telekinisis. I mean all of this energy put into willing the bowling ball onto track and willing that last pin to fall over. There are millions of people bowling all over the world, or if you’re like me, trying to bowl and failing miserably. All over the world people are willing those pins to fall with all their might but they remain stubbornly stuck to the floor as if there is an engineer back there busily sticking chewing gum onto the bottom of 1 in 10 pins, bear in mind I use the term engineer here in the vaguest possible sense.
So with all those people exerting all their will if any of us possessed telekinetic powers surely they would be discovered and the people would then be dissected by shadowy government agencies or become professional bowlers. Therefore in my not so humble opinion telekinisis does not exist.
Now working this into some sort of technical post we can assume that by a similar reasoning telepathy doesn’t exist. If you make changes to some common piece of code people need to be informed. They can’t just read your mind and know what effects your changes are going to have on their programs. So in a growing team what sort of technique do you implement to keep people informed? Sending an email out for every little change would mean everybody ignores it. Having some sort of internal documentation system would mean that nobody reads it. What sort of balance can you strike that has a low enough signal-to-noise ratio that people pay attention to it?
So far we’ve setup a system of email lists for each project so people are only informed about what they profess an interest in. We’ll see how this works over time but we’re loath to introduce a paper based change impact system as this would introduce so much overhead in time we don’t get to actually work on the cool stuff we love doing and the testers love finding bugs in.
Still I wish telekinisis existed, if only for my bowling score.