Chapter 5. Quality Assurance
Quality assurance: it’s a phrase that is prone to send shivers down the spines of developers—which is unfortunate. After all, don’t you want to make quality software? Of course you do. So it’s not the end goal that’s the sticking point: it’s the politics of the matter. I’ve found that there are two common situations that arise in web development:
Large or well-funded organizations
There’s usually a QA department and, unfortunately, an adversarial relationship springs up between QA and development. This is the worst thing that can happen. Both departments are playing on the same team, for the same goal, but QA often defines success as finding more bugs, while development defines success as generating fewer bugs, and that serves as the basis for conflict and competition.
Small organizations and organizations on a budget
Often, there is no QA department; the development staff is expected to serve the dual role of establishing QA and developing software. This is not a ridiculous stretch of the imagination or a conflict of interest. However, QA is a very different discipline than development, and it attracts different personalities and talents. This is not an impossible situation, and certainly there are developers out there who have the QA mindset, but when deadlines loom, it’s usually QA that gets the short shrift, to the project’s detriment.
With most real-world endeavors, multiple skills are required, and increasingly, it’s harder to be an expert in ...