Probably every dev team has been in this situation before. You have some budget to add a person. You want to add a Tester but some wise-guy tries to argue that it is better to add a developer. “After all, if we add a developer, he can do testing and when the testing is complete, he can also do development”.
Here are 5 good reasons that you are better-off getting a tester instead of another developer:
1. Testers can be cheaper and easier to find. You don’t need a degree in engineering to be a tester. You just need someone who is responsible and detail-oriented. You could snag someone from Burger King and pay him an extra 50 cents an hour to sit and test. You can’t take that same fellow and plop him in front of Visual Studio and expect any value for a year or two (or maybe ever). Instead of spending $30-50 (or more) per hour on a developer, to do a lack-lustre job at testing, you could spend the same money and get 3-5 people for $8-10 per hour, part time.
2. Opposite-ism. Developers make sucky testers because it is contrary to their nature. A developer wants to make things work. A tester wants things to break. For this reason, a developer is not likely to think of something he didn’t already think of. You need a different set of eyes. And not just a different developer (either). Developers think like developers. If you want a different result, then you need a different mind-set.
3. Experience. How many years of experience as a tester do most developers have? 1/4 of their career, right? Ha! Try: 1/4 of their career doing testing wrong. If you interviewed developers for their testing skills, you would probably have a whole different group of people working for you. A tester’s career experience is in testing. Their job depends on it. Not-so-much for a developer.
4. You can’t re-purpose them. When you need testing, you need testing and not some distractions. At the end of a dev cycle, it is just too tempting to ask a developer to sneak-in one or two more features and cut back on some of that testing stuff. You know you shouldn’t, but the temptation is too great and the developer will be all-too-happy to do development instead of testing. If your person is only capable of testing, that is all he will do. No temptation about it. You stick to the plan.
5. Career path. If your job title says “accountant” or “developer” or “Tech support” or something else, then doing a good job at testing is probably contrary to your best interests. That is of course, unless you believe that becoming a software tester would be a step-up in your career. If it would be a step-down, then doing a good job at testing means you will be asked to do it again. Do you want to do it again? Is that in your best interests? If you think about it for a few minutes, you recognize the deterrent. However, if your job title says “software tester”, then testing is your #1 priority. You better do it really well, or you might not keep your job. If you want a raise, you will seek to become great at it.
Ultimately, it comes down to [getting the right man/woman for the job]. The economics of it are just a nice bonus.