Quality Assurance: The Most Undervalued Piece of Devops
The truth is that proper testing takes time and it costs money
By: Vu Lam
Apr. 20, 2012 07:15 AM
Software works the way it was designed because of a group of downtrodden, undervalued and unsung heroes.
Often dismissively described as testers, these champions of precision can be more accurately termed Quality Assurance. They set the bar high and work hard to ensure that the software you buy is easy to use and efficient. Without their expertise you would encounter a lot of inaccessible, bug-ridden releases.
QA is frequently undervalued by software developers. It is often seen as an unnecessary expense - a drain on time and resources. The truth is that finding and fixing bugs is an unrewarding task that demands a great deal of effort for very little palpable return. It's tough to calculate the cost of bugs in your finished product and even tougher to take your eye off spiraling costs and a slipping deadline.
It's been 10 years since the U.S. Department of Commerce's National Institute of Standards and Technology released an RTI study that estimated software bugs were costing the U.S. economy $59.5 billion a year.
Much has changed in the last decade. Automated testing is more common, new development methodologies encourage a different approach, and tools for recording bugs have improved dramatically. Despite all that, the cost of software bugs remains high.
Don't Cut Corners
The cost of fixing bugs increases dramatically after release and the damage you can do to your brand by releasing unpolished software is frightening. Rushing to market is a false economy and expecting consumers to be happy about serving as unpaid beta testers is an overused ploy that can easily backfire.
According to an IBM and Rockwell study, the cost of fixing a bug post-release can be 100 times higher than if you discover it early. Many developers are seduced by the ease with which software can be patched nowadays. The growth of the cloud, improvements in application deployment and the always-connected nature of the average user combine to give the false impression that bug fixes and improvements can be delayed until after release.
While the ideal might be to frontload your schedule and spend enough time on design to avoid creating any bugs in the first place, that's an ambitious aim.
QA represents a more realistic middle ground between excessive planning at the start and burying your head in the sand until the negative feedback starts to pour in.
Get Them Involved Early and Listen
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 their focus. The best possible software should evolve from this process but it simply can't 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 the 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.
Decline in QA Clout
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?
True Cost Is Hidden
To recognize the value of QA means using 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.
Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week