Monday, November 12, 2012

The Optimistic Programmer, The Pessimistic Tester

I've always believed that part of being a good programmer or being a good tester (or being a good anything) involves having the proper mindset.

In this, I think that programmers need to be optimistic. What I tend to focus on though, is the pessimistic tester. (I know you're surprised by this, what with my lack of obvious bias. :) )

For testers, I think a healthy dose of pessimism is required. When someone says "This feature is finished now." It's the tester's job to say "I'm not so sure it is...let me look at it."

(As a tip, if they act nervous at this point, they may have just lost their optimism...and the tester may have a fun time finding bugs.)

Note that when I say 'a healthy dose of pessimism', I don't mean to say that a tester should expect everything given to them to fail, but that they should not assume that something works, simply because it was given to them as 'complete'.


So, next time that you're given something to test, or, as a programmer, look at it really hard, think pessimistically, and say "Is this really complete?"

The answer could surprise you (or not, if you're pessimistic)!

Monday, October 29, 2012

I Don't Have Time

I hear this sometimes.

I say this sometimes.

We're doing a blog battle at work, and so I figured I would participate. It's also a handy excuse to blog again, since I have a couple of topics that I have been meaning to write on anyway.

A lot of my coworkers have looked at the phrase from a personal responsibility way, so I won't go down that road.

I'm going to look at it from the outside.

When someone tells me that they don't have time to do something, I try to figure out what they mean by it. It usually breaks down into one or more of the following:

  • "I want to do it, but I can't do it right now, or in the time frame you have given me."
  • "I don't want to do it, but I can't think of a good reason beyond some work I could do now."
  • "I don't really like you, and this is a polite way of saying so."
If I can figure out what they mean to it (sometimes using the esoteric method of 'asking them'), I then try to figure out how I can help.

If they can't do it in the time frame I asked, maybe I can loosen up my schedule. Obviously, this sometimes can't happen (I can't affect when a client or customer needs something by past a certain point). Alternatively, I sometimes can help take something else off of their plate so they can do something for me.

If they don't want to do it or they don't like me, I generally try to find someone else. There's generally no reason at all to try to force someone into it. Well, unless it's their job...but that's probably the subject of another post.