Most software development nowadays allows for changes on the fly. If someone suggests a great way to simplify the user interface or even a new feature that would improve the software, then there’s a good chance it will be accommodated. Some methodologies even rely on this approach.
Agile development and extreme programming are focused on an iterative approach. Each new build is analyzed and assessed before the next iteration is fully planned. This is a highly flexible approach that allows the development team to prioritize its focus. The best possible software should evolve from this process, but it simply cannot work without a good QA team. Instead of postponing bug fixes and extensive testing and evaluation to the end of the process, agile development requires developers to make it a part of each iteration. Every build should be as bug-free as possible.
While testing software and entering any defects found into a database for the developers to review is still a big part of QA, it’s not the whole picture. A good QA team will approach a new software build like an end user would. They will try to evaluate it with end-user expectations, and this can throw up some invaluable information for developers.
Insightful suggestions for new features, user interface tweaks, and feedback on overall usability can prove to be the deciding factors between success and failure for a development team that is too close to the product to truly assess it.
QA’s clout decline
Life can be tough for QA teams. It is their job to argue with software developers and project managers under serious pressure to ship. In theory, the software should not go until QA says it is fit for release. In practice, it often ships without QA approval.
Internal QA departments are often lambasted for the delays they cause. If you don’t have a steady stream of software to release, then a dedicated QA department may be a luxury you can’t afford. QA is increasingly outsourced to third-party companies with no real clout when it comes to delaying a release. They can offer cost-effective, round-the-clock testing, but without the power to insist on fixes and changes, is the quality really assured?
The truth is that proper testing takes time and costs money. What many companies are missing is the fact that proper quality assurance before release is far better than disgruntled customers and repeated post-release patching. The true cost of bypassing QA or hobbling them is tough to calculate, but it could be a lot higher than you think.
To recognize the value of QA means to use it as a measuring stick on the true progress of releasing a quality product. While development can tell you how much of a product is developed, QA can tell you how ready your software is for prime time. Understand the importance of their input in the process, and you will reap the rewards.
Vu Lam is CEO and founder of QASymphony, a developer of defect capture tools that track user interactions with apps. He was previously with First Consulting Group and was an early pioneer in Vietnam’s offshore IT services industry since 1995. He holds an MS degree in electrical engineering from Purdue University. You can reach him at firstname.lastname@example.org.