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.