Continuously improving business processes with methodologies, technologies and the power of people

Business Process Improvement

Subscribe to Business Process Improvement: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Business Process Improvement: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Business Process Improvement Authors: Prince Kumar, Dana Gardner, Continuum Blog, Automic Blog, Liz McMillan

Related Topics: SOA & WOA Magazine, Java Developer Magazine, Software Testing Journal, Business Process Improvement, DevOps Journal

DevOpsJournal: Article

Quality Assurance: The Most Undervalued Piece of Devops

The truth is that proper testing takes time and it costs money

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
It's understandable, especially in the current economic climate, that companies are increasingly outsourcing QA and even cutting corners in order to rush their software out the door to consumers. After all, we can always let the consumer do the testing and then patch after release, right? Wrong!

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
It used to be the case that software was fully developed before QA was called in - the waterfall approach. QA teams testing software would use the original design as the basis for a set of test plans. If the original design was perfect, and it didn't change during development, then this approach would work. In practice that's an extremely rare occurrence. An old rigid approach of design from the top also doesn't allow QA, or anyone else for that matter, to suggest improvements and tweaks.

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
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?

True Cost Is Hidden
The truth is that proper testing takes time and it costs money. What many companies are missing is the fact that proper quality assurance now 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 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.

More Stories By Vu Lam

Vu Lam is founder and CEO of QASymphony, developers of defect capture tools that track user interactions with applications. 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 may reach him at [email protected]

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.