Unless you have been living under a rock for the past few weeks, the news has been filled with the coverage of the not so stellar deployment of the Obamacare website. I won’t pretend I know what went wrong with the project, as I was not a fly on the wall. As a QA engineer reading stories like this I wish I could ride in on my white horse waving my sword and banish all software bugs, gifting the product owners and developers the smooth release they dreamed about.
Now that we have returned to reality, that is just not possible. Quality has to be a priority from day one and the entire team, not just the quality assurance team, must embody the quality initiative. One piece of information that keeps surfacing out of the articles and news broadcasts is it was CMS’s responsibility for testing healthcare.gov.
Statements like that really grind my gears. To put this into perspective if you were going in for knee surgery you would expect an orthopedic surgeon to perform the surgery. You feel better knowing that person had been trained in that specific area of medicine and had years to hone their skill. Now imagine you are prepped on the table and in walks a dentist to perform your knee surgery. Let me assure you, you will not receive the same quality results. We all know that would never happen in the medical world, but it should also not be acceptable in the software development world.
Quality assurance engineers are highly skilled engineers that work closely with project managers and development engineers to ensure the application adheres to defined project requirements and usability standards. The formalized testing minimizes the risk of catastrophic bugs or design flaws being deployed to the end user. The results found during testing are key to helping product owners make informed decisions on the stability of a product. By no means will a QA engineer find every bug, again we are not magical knights, but the systematic approach to testing of a professional QA engineer will increase the probability of a successful release.
Most times professional QA services are cut from projects because of budget limitation or time constraints of a project. In these scenarios I see a growing trend where testing is offloaded on end users to save money. End users may hold more business domain knowledge, but they lack a software development background, and testing is most often completed only on a happy path. With the investment of time a QA engineer can become a subject matter expert, which coupled with their software development knowledge a QA engineer is a wrecking ball ridding the world of crummy software.
The software world needs to embrace the quality movement, no longer can QA services be cut from projects due to limited budgets or time constraints. It’s time to start cutting scope, because you may have the greatest vision with the coolest new features, but if its flaky and unstable customers won’t use it. QA RULES!