A few weeks ago I was testing some code that still wasn’t completely finished. The functionality was mostly there, but it still needed a lot of polish, and some things just didn’t work at all. The developer I was working with at the time brought me an installer…on a thumb drive. Why didn’t he check it into Subversion, where I could easily find it? I don’t know. Why didn’t he email it to me on our secure internal network? I don’t know. Whatever, I copied the installer and ran it and got started.
It wasn’t long before I ran into problems, and had to call the developer. He fixed these problems, so I could continue, by…bringing me some additional files and things on a thumb drive. Grrr!! Now I’m getting frustrated. This started a day-long cycle of me trying to test, things not working, and the dev coming to my desk with more stuff on a thumb drive, sitting down and taking over my computer, and copying/tweaking/hacking to make things work.
I thought I was going to kill someone.
I hate it when someone decides he has to “drive” my computer in order to fix something. If it needs that much developer intervention, it’s not ready for testing, end of story. Take it back to YOUR desk, troubleshoot it, unit test it, fix the damn code, and bring it back when it’s ready. Strike that! When it’s ready, check it into Subversion and tell me where it is, so I can get it. Or at least email me a package that contains everything I need.
This isn’t the first time I’ve been given things to test or work with via a thumb drive. Sometimes it’s on a CD-R, but whatever the media, the point is – why won’t this “sneakernet” method of sharing data and code go away? It drives me crazy! I worked on a project last year for a while that had a single developer. He wasn’t checking stuff into Subversion at all. When I asked him about it, he said everything was on his local drive (*shudder*), and backed up to a – you guessed it – thumb drive. This wasn’t a small, personal project, either – it was a major IRAD effort which he had been working on mostly by himself up to that point. But it had requirements and a spec, and was soon to have three other developers (and a tester – me!) working on it as well.
Obviously, priority one was to get all the code checked into Subversion in an organized way. But why was a professional developer working that way in the first place? WHY WHY WHY? These kinds of questions drive me crazy. I hate it when an organization or project calls itself “quick and agile,” when it’s really just “lazy and undisciplined.”
And that is my tester’s rant for today.