Test Your Software Before Implementation

TomMaherSave Yourself and Your Organization a Headache

By Tom Maher, Hayes Management Consulting
Twitter: @HayesManagement

As I visit client sites I am constantly exposed to the many efforts that are in various implementation stages. Too often, I witness efforts that are interrupted at key moments because something was not tested adequately prior to implementation.

Testing: an essential business activity

One cause of these problems is that testing is typically viewed as a software activity, when in fact it is a business activity. Whenever business practices or procedures are changing, whether the change is fully manual or involves automation, testing the revised process is crucial to successful implementation.

We would all be appalled if design changes or maintenance procedures were drafted and implemented in commercial aircraft without testing, but we see processes redesigned and changed in business all the time with little or no testing. The only difference is the nature of the consequences when things go wrong.

Be systematic and thorough

Testing should be systematic and thorough. I suggest the following steps to consider.

  • Base testing on real life cases or scenarios. For each scenario, a test should be designed to validate that the desired outcome is achieved. If there are slight variations, test each.
  • Ensure that the list of scenarios is exhaustive and represents your end users’ needs
  • Validate data sources that are added to the process and wherever there is an opportunity for data inputs to be incorrect or inaccurate, prove that the data input issues are handled adequately with testing.
  • Test for worst case situations as some are likely to occur
  • Avoid shortcuts. They will eventually cost you more time and money than anything saved.

Cases where testing would have prevented problems

I believe the power of example to be compelling and would share a handful of cases where a lack of testing had significant impact on healthcare organizations.

  • An integrated health network asked us to look into an ADT interface between the hospital and the ambulatory systems. There were frequent reports of patients that had to be manually re-entered into the ambulatory system when they should have come across the interface from the hospital registration system. When we analyzed the problem, we discovered dozens of failed transactions each day in the inbound ADT feed to the ambulatory system. Somewhere along the line, someone had made un-tested changes, which resulted in these frequent failed transactions.
  • A young analyst working at a university hospital was unfamiliar with testing interfaces. His plan was to send the transactions to the production system and see what happened. Fortunately, he mentioned his plan and we had the opportunity to educate him about testing before any updates were made to the production system.
  • Several years ago, I was asked to investigate complaints from a customer service group in a health insurance company. A new custom (written from scratch) customer service system had been built to accommodate specific requests from the customer service department, but when implemented, there were complaints of inadequacy. After investigating the complaints, I discovered that, the developers failed to include much of the base functionality that the previous system provided, so I recommended that they revert back to their previous system, so the new system could be expanded and re-tested. Had workflow scenarios been used in testing, the deficiencies would have easily been identified.

Reducing uncertainty for solid results

Management is loosely defined as decision making while dealing with uncertainty. The primary role of testing as a management tool, is to reduce uncertainty. The art involved in testing is the discipline and creativity it takes to design tests that will whittle the uncertainty of operational changes down to near zero.

As a manager, knowing that proper testing has effectively reduced uncertainty and risk is your best guarantee that the operational changes you implement will deliver solid day-to- day results. Save yourself a headache and develop a testing plan before you implement operational changes.

This article was originally published in Hayes’ Healthcare Blog and is republished here with permission.