by Wayne M. Krakau - Chicago Computer Guide, February 1997

Yes, it’s here - finally! I have finished beating you over the head with horror stories about vertical market software and am moving on to direct information (as opposed to being implied within the aforementioned horror stories) on what to do about it.

The main idea is to remember that vertical market software is a high-risk specialty tool. It is only to be used when absolutely necessary, and, even then, only to the degree required. It is only one step removed from the Never-Never Land of completely custom software. In fact, most vertical market software began as a single-client custom software project and, only later, evolved into a commercial product.

As a rough rule-of-thumb, a prioritized software search strategy that I originally published when covering custom software in 1992 still holds. For the sake of this list "packaged" software refers to standard commercial software that is commonly available, often in shrink-wrapped packages. The words "custom software" can be replaced by the words "vertical market software" with one adjustment. That is, you have to evaluate just how far a given product has transitioned on the path from custom to packaged software. If a company hasn’t sold at least a few hundred copies of their software per year (not including upgrades), it is difficult to consider its software in the same reliability category as packaged software.

Here is my list in order of preference:

1. Single package.

2. Single package with application specific add-on packages.

3. Multiple packages linked with commercial packages.

4. Multiple packages linked with custom programs.

5. Modifiable single program with externally added custom modifications.

6. Modifiable single packages with internally added custom modifications.

7. Completely custom software.

The modifiable packages are most often accounting systems or contact managers (sometimes called sales or marketing systems). The best products in both categories include products that contain so many features that no single company or industry could use them all. They also include flexible and easily learned reporting. They have the additional advantage of huge customer bases. It is comforting to know that reductions in either software reliability or support quality will be protested not just by you, but also by thousands of other dissatisfied customers.

Even better, they are partially customizable right out of the box, and, through the purchase of programmers’ toolkits, can be heavily customized. Because the products are based on Windows and its descendants, this customization uses the safer method of working through an external interface rather than the inherently riskier method of altering the base underlying programming code.

The companies that make these accounting and contact management products publish their data formats and actively encourage programming firms to create vertical market add-ons for their products. They provide sophisticated import and export procedures so it is easy to get data into and out of their programs.

By following these search suggestions, you can reduce your exposure to the risks of vertical market software. Only those components of your computer system that are truly unique to your specific type of

business will be subject to this risk. A side-effect of this search technique it to restrict the vertical market software companies to the precise area in which (hopefully) they have the most expertise.

For instance, a programming team with lots of experience in the arcane aspects of medical insurance claims filing should not be forced (or probably even allowed) to write and support a complete, general-purpose accounting system, a pretty bizarre and arcane task in and of itself. The odds of such an accounting system actually following all IRS (Internal Revenue Service), AICPA (American Institute of Certified Public Accountants) and FASB (Financial Accounting Standards Board) guidelines while at the same time providing all the information needed to efficiently run a business are quite small. The odds of such a system matching the power, flexibility, and accuracy of a modern, full-featured packaged accounting system are absolutely abysmal.

On the other hand, a team of highly motivated specialists, with an appropriate ethical attitude, could make an accurate, elegant, supportable and, possibly most importantly, reliable claims filing system that works in conjunction with one or more packaged accounting systems.

Unfortunately, that "ethical attitude" phrase is too often a barrier. In a world without software quality standards, the buyer must determine just how much of a risk is being taken in the purchase of vertical market software. While the number of people consciously plotting to cheat customers is small, the ability of absolutely anybody to write and sell any software they want without justifying their qualifications makes choosing vertical market software very difficult.

Basically, nearly everyone who ever wrote a line of code, either professionally or as a hobbyist, thinks they are the ultimate programming expert. This phenomenon has been variously described in technical journals as "Ego-Based Programming" or "The Programmer as an Artist Syndrome". In treatises that I have personally traced back as far as 1969, this syndrome has been described as possibly the most severe problem in computing.

It is based on the difference between a "pure" artist and an artisan (or a craftsperson). An artist can create a work which creates an emotional reaction in the viewer and be considered incredibly successful. An artisan who creates a piece that is merely esthetically pleasing, but does not meet practical requirements, is considered a failure.

Put another way, if Norm of The Yankee Workshop (on PBS) created a chest of drawers that was merely beautiful and elegant, he has only met a part of his customer’s needs. That customer would be justifiably dissatisfied if, after only six months of use, the drawers repeatedly jammed, a leg loosened, causing the chest to tilt, and the finish started coming off. If Norm refused to return that customer’s calls for help, or if, after repeated calls for assistance, the chest was still not properly repaired, that customer would probably be downright angry. The artisan would not have lived up to his responsibility to provide a truly functional work.

In programming, the standards are much more slippery. What’s worse, the customer is normally not equipped with the knowledge needed to realize that the program is substandard. It is common in computing, from mainframes through microcomputers, to believe that difficult-to-use, unreliable software is normal.

Even if the customer recognizes the problem as a general lack of ethics ( in that the software company doesn’t realize its own limitations), it is difficult to press home the complaint. In a war of dueling technical credentials, the customer loses.

As I’ve demonstrated in the horror stories in this series, once a customer has committed to a given product, there are practical, real-world limitations in what they can do even if they have someone with appropriate credentials running interference for them. Such are the hazards of vertical market software. May the buyer beware.

�1997, Wayne M. Krakau