A blog on consulting, developing, simplicity, and business in general.

One man QA monster

I don’t like turning over critical software to people without tests. While my method of testing has evolved (manual -> a few people -> reluctant unit testing -> embracing RSpec), I’ve agreed with the necessity since the beginning.

While I have a lot of agile/lean friends who go all out on test-first, it’s just not my style. I’m not saying there’s anything wrong with it, it’s just a way of thinking that I don’t appreciate. I generally write a few hundred lines of code, then write about twice as much test code a few days later.

Well, I’ve decided I’m going to try something new. No testing (automated, at least), as much as I can avoid, except on Fridays. And on Fridays, I’ll be writing no new features, just tests. One of the things that I love about writing tests is it requires that I critically evaluate every line of code, and I find that doing it after I’ve lost the my train of thought usually yields more criticism (a good thing). 

Also, I hate starting into big new features on Fridays. It’s not fun, and it’s hard to get invested into anything when you know you’re going to stop working for a few days. This is not to say I don’t enjoy coding new features; I have hobbies beyond programming.

Since I usually work on really small teams (1-3 people), I think this will work out well. It forces code reviews (which not everybody likes, but I think yield great code), and gives me a time where I can write tests without peeking onto the backlog. 

I’ll check back in a few weeks to talk about how it’s going.

 -terry