Everyone I talk to says they are having a hard time finding software developers. It is no secret that there is a shortage of software developers. It seems like there are only about a dozen developers out on the market and 15 companies trying to hire a dozen developers each. This is great news for developers, but bad news for companies trying to hire them.
We see lots of companies using developers to perform all sorts of testing – unit testing, system testing, integration testing, regression testing. If you are having so much difficulty finding qualified developers, why are you using those valuable resources to perform testing? Developers certainly need to test their code, but how much testing should they do? There are a lot more testers than developers out there looking for work and testers tend to be a less expensive resource than developers.
There are two schools of thought here. One option is to have developers test through unit testing, then give the code to independent testers to perform system, integration and regression testing. The philosophy here is that developers know their code and are in the best position to make sure the code does what they intended it to do. However, once that is done, let the testers continue the testing process so the developers can focus on building new features. This maximizes developer productivity, while fully exercising the system code.
The second option is to eliminate nearly all developer testing. In this option, developers perform minimal testing and throw it over the wall to testers for unit testing. The philosophy here is that since it is cheaper for testers to find defects, why not let them find all of them? Why waste developer time testing software that works? If it works, then the testers will validate that it works. If it doesn’t work, then the testers will find the defects.
Either way, the message is the same: Keep your developers developing new features, and let your test team find and document the defects.
So, if you want to maximize developer productivity, give us a call. We can help you figure out the most cost effective software testing strategy for your development team.