I was hacking together a piece of Ruby code today. The code was only a couple of hundred lines long, but I must have tested it 100 times. The test was as much of a hack as the code. Code, test, code, test, code, test. Fixed something? Test it. Added a (tiny) feature? Change the test. Why is it then, that as part of a non-hacking team of uber-professionals, it might be *days* before the code gets tested properly? In a waterfall process, it might be weeks.
Is it because when we make it someone’s sole job to do the testing, that the test itself becomes somehow “precious”, and not the throw-away thing that might be more useful? Or is it just a result of working in a team and not on your own?