Why should you pay for code review and quality assurance?
Quality Assurance is an oft-misunderstood aspect of web development, because on the surface of it, it seems completely redundant - you wouldn't need someone to make sure the code works if you just wrote it correctly in the first place!
This, however, overlooks some of the vital roles that QA plays. There are many different layers of QA, but fundamentally, it is an extremely valuable use of time to have someone review the work of a developer, from three main perspectives:
- Technical - ensuring the code has been written in accordance with development standards, and that it is utilising best-practices. This both ensures ongoing quality of work being produced, but also helps developers learn to improve the work they deliver with each and every iteration.
- Functional - does this code actually do what the client wants it to do? QA plays a vital role in not only testing the end product, but in working with the client to define what those criteria actually are.
- Security - having a second set of eyes looking at your code from a security perspective is incredibly valuable, and can prevent many common security issues before they turn into something serious
If you don't have some sort of Quality Assurance assigned to a project, then guess what? The developers themselves have to do all of the above! Is it really worth a developer's time clicking through a dozen acceptance criteria?
None of this excuses developers from still doing their job correctly - they still need to think through the use-cases, test that what they've written works, and be alert of security issues. And nothing annoys the team more than having code that obviously hasn't been tested handed over to QA - a mistake you'll only make once... But having an additional layer of QA enables developers to focus their time more thoroughly on the job that only they can provide, to ensure that you get the maximum value out of your developer dollars.