My experience is unless engineers and their management are careful, testing always gets the shaft. However, towards the end of the project it becomes clear that testing is still essential. Therefore it must be forced into the schedule. Once that happens there are two options: push back the release date or sacrifice your health.
I’ve worked on teams that chose each of those options. While neither is preferable, I would prefer work on the team that doesn’t cause health complications. However, it would be far better to hire people and schedule time for testing.
A few years ago I attended a talk given by Ross Anderson on the Economics of Security. In the talk, he asserted that “software companies should hire more software testers and fewer but more competent programmers.” However, testing is typically disconnected with marketing and sales revenue. Programmers, on the other hand, create the products and are directly connected to revenue. Therefore, companies are incentivized to hire few testers and many programmers. Then when testing starts getting the shaft, the only course of action is to ask the programmers to do testing in addition to their other responsibilities.


