Back to Back Issues Page
SQA the Right Way!, September Issue -- Prevention vs. Correction
September 22, 2009
Welcome to this month’s edition of SQA the Right Way!



Coming Soon:
  • Quality Assurance Courses
    • Look for an announcement in the next 1-2 weeks. I will be offering effective and affordable software testing courses so you can begin your QA training
  • Improved Site Navigation
    • You may notice a revamp of the site to make navigation easier as the site grows


This Month's Feature: Prevention vs. Correction

Computer Software Creation:
Prevention vs. Correction

The idiom by Benjamin Franklin that "an ounce of prevention is worth a pound of cure” has proven correct and timeless. Never more apparent than in today’s computer software industry. Always in a rush to get their computer software widget to market first, companies too often fall into the trap of perpetual mediocrity.

The most successful and effective healthcare providers have come to understand and embrace this truth, but almost no computer software company has. Effective healthcare providers whether state run or for profit, understand that a healthy patient requires less maintenance, less attention, and thus less cost.

Superior software, similarly, requires less maintenance (ongoing band-aid patches), less attention (tech support, troubleshooting, etc.), and thus less cost. Inferior software, on the other hand, costs in so many other ways. It requires a significant effort to maintain, constant attention, makes a company’s marketing dollar work harder, and is less effective for the consumer.

When software is a burden, productivity declines. When software is a useful tool, productivity increases. Too often, software is more of a burden than a tool. This is failing that affects the entire software using world on a daily basis.

By implementing just a few simple processes and embracing the idea of continual improvement, the quality of computer software released every year would increase dramatically. Efficiency and productivity would increase at all companies that use computer software. This, in turn, would reduce the cost of doing business for many. Sadly, computer software is not heading this direction.

If there is so much to be gained by creating better software, why the common lament from developers and quality assurance professionals:

"Why is it that we never have the time to do it right the first time, but we always have time to go back and fix it later?"

Indeed. Why is it that there is never time to do it right the first time, but always time to go back and band-aid incomplete software?

This is an all too common question in the computer software industry and I have only ever heard one answer that was at all even somewhat acceptable. The answer is of course financial "well, we only had ‘Budget X’. After we ship we can get more funds allocated."

This is a very amateur excuse that avoids the real issues. The real issues are:

  • You didn't plan well enough
  • Releasing mediocre software damages your brand
  • This behavior is habitual

Failure to Plan

Too many computer software companies accept ineffective planning. Whether the plan is unclear, incomplete, lacking practical alternatives, or just plain bad, another old saying holds true: “If you are failing to plan, you are planning to fail.”

Month after month and year after year, this failing affects computer software companies all over the world. They claim that there is not enough time to plan everything. There are too many unknowns and there is too little time.

This is a weak excuse that only results in inferior computer software creation. It takes no longer to plan effectively than it does to plan poorly. The biggest difference is in efficacy. A poor plan forces companies to take corrective action after spending time, money, and resources doing the wrong thing.

But an effective plan allows for proper contingencies, agility in development, and continual process improvement. This supports the development of superior computer software. Taking the correct, preventative, actions the first time means that a company only has to pay for computer software development once, not twice.

Taking the time to begin the project process correctly allows the development team greater flexibility and efficacy throughout. A proper plan does this. Identifying challenges and alternatives in the planning phase is crucial to support the creation of superior computer software.

Damaging Your Brand

When a company releases inferior computer software to consumers, the effect is immediate. A consumer that purchases inferior software is left with a distinct impression of the company that created the software. And it’s not a good one.

With people being so aware of the value of their money, inferior computer software stands out as a poor and frustrating purchase. The consumer feels burdened by the company instead of helped. This damages the company’s brand. In the mind of the consumer, this company no longer deserves the same level of trust. Maybe they should spend their money elsewhere.

This makes the computer software company’s marketing dollar work that much harder. Instead of reinforcing a message of what the company stands for, that marketing dollar has to counteract the message:

“Thanks for the buck, but you’re just not all that important to us”
– OR –
“Striving for mediocrity! Just like so many before us.”

Once the customer has this view of the company, corrective action must be taken. Correcting the view the public perception of a company and their product is not cheap. It takes a sizable financial investment and a great deal of time (as any marketer knows).

Taking preventative actions that preclude the release of inferior software is a far less expensive option. Implementing a system and methodology that supports the creation of superior software is a win-win. The company spends less on development and maintenance, and the consumer gets a product that is truly valuable to them; a win-win!

Creating superior computer software sends the message to the consumer that they are an important customer. It reinforces the company’s message that the customer is valued. This makes future sales easier for the company. It means the company can spend its money on improving, instead of on damage control just because someone purchased their product.

Habitual Behavior

One of the greatest sins in the creation of computer software is the return time after time to this cycle proven to create inferior (mediocre at best) product. Failing to plan, under-delivering, and making excuses is habitual behavior that should be avoided.

There are always excuses, reasons, and rationalizations…and there will always be inferior software. Whether your QA team is in-house or outsourced, the issues are the same. The goal here is to identify where you can stop and say “Enough! This time we are going to do it the right way!”

The market for software demands releases and improvements at a staggering rate. This has led many computer software companies into the trap of habitually ineffective behaviors.

Development teams at so many companies feel they must move as quickly as possible – no matter in which direction – to release iteration after iteration. Have an idea, code it, and release it. And do it all as fast as possible – figure out if it worked by how many complaints you hear from your customers.

This is a trap that can be escaped. There are empowering alternatives that can enable development teams and companies to make superior computer software all the time, every time. This behavior can be changed. With the right techniques, any development team can create superior product!

Preventative QA

Instead of constantly reacting to ineffective behavior, preventative SQA systems provide an environment for proactive product improvement and effective methodology. With proper processes in place, a company can focus on creating superior software instead of reacting customer complaints, loss of market share, and unmanageable employee turnover.

Plan Effectively: Create a realistic timeline with appropriate resources to create an ideal product. Dissect this plan to identify areas of greatest concern and incorporate achievable alternatives.

Involve Quality: QA should be involved in the project in the earliest planning stages. Trained QA professionals who truly understand what QA is can quickly and accurately identify the weaknesses in any plan and offer effective contingencies.

Execute Efficiently: Once the plan has been established, execute it as designed. When confronted by challenges, alter to effective contingencies. As you progress, the team’s focus should remain on execution and improvement; implementing efficiencies as they are identified.

Follow Through: Once the planned computer software is completed, focus must turn to analyzing what happened. A true post mortem must be held, lessons learned identified, and actions for improvement agreed upon. Once this is done, simply execute the plan.

Implementing preventative systems and processes takes time, effort and expertise. However, once implemented, they provide substantial return time and time again.

With every computer software project undertaken, the benefits are apparent; decreased development time, decreased testing time, superior product, lessened maintenance, and an increasingly loyal customer base. Additional benefits include increased team morale, quality improvement that spreads across the entire company, and self-correcting systems.

The initial cost of preventative systems is slightly higher than that of constant reactive behavior. But the cost savings is readily apparent within the first 3-6 months. Ever after, corrective, reactionary QA will cost more every single time.

Is it worth the initial cost to implement a preventative computer software creation system? Is it worth the ongoing, daily cost to continue ineffective, habitual behavior that is alienating your customer base?


The choice is yours…


Back to Back Issues Page