Software: To Build, Buy or Customize?

There is no doubt that choosing the wrong software path can place severe strain on a small company’s operating budget.

Many have tried to make do with commercial off-the-shelf software (COTS), only to find after a prolonged battle with the program, that their specific needs demanded professionally developed software. Others insist on reinventing the wheel by developing software in areas where vendor offerings are already mature, reliable and relatively cheap to buy.

”We often have people come to us to develop software when a perfectly good package already exists,” says Rex Fowler, CEO of Fowler Software Design, a software development company based in Denver. ”We make them aware of what is successful and find them something that fits their needs.”

COTS, then, is the usual choice and is particularly suitable for companies that are either small and able to adapt their business processes to the software, or are willing to adapt to market standards. It also works for companies that are implementing a standardized functionality, or are adopting something that is industry-specific, such as a retail sales system. Why develop your own operating system, office productivity suite, backup system or accounting program? Security tools, graphics applications and some types of customer relationship (CRM) programs have achieved enough technical maturity to fit the COTS category.

Off-the-shelf, though, does not always mean simple, generic applications. For example, America West Airlines, based in Tempe, Ariz., just implemented a Red Hat Linux-based information portal that consolidates data from a host of databases around the enterprise. This portal provides vital data to employees over a secure intranet. Instead of developing the product from scratch, the airline kept costs down by building the whole system using the CleverPath portal by Islandia, N.Y.-based Computer Associates.

”The portal has reduced our daily conference calls from 45 minutes to 30 minutes,” says Dan Berkey, director of business technology delivery at America West. ”By using an off-the-shelf portal on a Linux platform, we kept costs down.”

The system offers a single integrated business view of data and operations, pooling data from many legacy systems across multiple platforms. Initial testing and piloting took only a few days, though Berkey notes that technicians had to spend three weeks writing extraction routines to transform legacy data into the extensible markup language (XML) format.

Configuration, as described above, should not be confused with customization. Configuration can be classified as minor adjustments to software packages to suit your existing operating environment and business processes. Customization involves significant changes that tailor a program to fit unique requirements. Customization is often done with network management software, such as a relational database management system (RDBMS) or enterprise resource planning (ERP) system. As a result, customization can add weeks or even months to the go-live date of your project, and can also add significantly to software costs.

”It is safest to embark upon customization of COTS software when you have an exposed API,” says Chip Nickolett, founder of Brookfield, Wis.-based Comprehensive Consulting Solutions. ”That approach provides the least intrusive means of customization.”

MBD Network Services of Dallas, for instance, customized IT management software for the 60 small LANs it monitors for customers. MDB needed a mix of tools that scaled down to networks ranging from 15 to 150 users, and could make information from all these networks available on a single console. That meant combining open source tools, such as Cacti, RRDTool, a MySQL database and an Apache Web server, with COTS packages in tandem with a fair amount of customization. WebNM by Somix Technologies, based in Sanford, Me. offers such a network management system that allowed for trouble ticketing, inventorying, fault monitoring and alarming features. But MDB had to modify it, renaming it the CLAIMS Help Request System, in order to make WebNM work for them.

”Somix allows client access to code, so that their tools can be further refined or tailored for specific applications,” says Jim Lancaster, president of MDB. ”We modified the console to incorporate network documentation and daily event log summaries.”

Grow Your Own
Customization, though, can be taken to extremes.

As it is really a subset of software development, there is no precise dividing line between it and full-blown software development. That’s why some companies spend a fortune attempting to ”customize” COTS when they could have developed their own tools faster and more economically.

So when do you need to create your own software from the ground up?

”It is vital to do a thorough cost benefit analysis of the various options before embarking on a development path as it involves higher up-front costs,” says Fowler. ”But those who chose to have software developed from scratch typically save money in the long run in terms of training and operational costs.”

This was the case at American Window Tinting Services in Littleton, Colo.

In that industry, estimators take window measurements and manually work out a quote. If a sale results, the installer has to decipher the measurements and decide on the most efficient way to cut the tinting film.

The industry average for waste is high. Twelve percent of the film is unusable, and installers spend up to 30 minutes cutting the film.

”The available software was designed mainly for the construction business and didn’t fit” says Dave McFadyen, owner of American Window Tinting Services. ”As it would have been expensive and most probably impossible to customize existing products, we decided on software development.”

McFadyen envisioned software that estimators could use during house visits to provide professional estimates and retain the window measurements for later use by installers when cutting film in the shop during order fulfillment. Instead of wondering about how to make the cuts, the program would print out a pattern for the complete order. It also could gather operational information for use in better management.

He commissioned Fowler Software Design to create a custom-built estimating, reporting and material optimization package specific to the window tinting industry.

In McFadyen’s estimation, about 80 percent or more of any COTS application remains totally unused by the average user. Yet they are forced to deal with all that complexity when trying to harness the tools and often have to wade through thick manuals to discover what few functions they really need.

”By reducing waste from 12 percent to 4 percent, and increasing our professionalism, we have realized savings of thousands of dollars a month,” he adds.

The Bottom Line
Take stock of your business processes, then search the Web for a software solution that “sort of” fits your situation or speak with a trusted advisor about developing configurable programs to better suites your needs. There are many software solutions offered by vertical industry associations. Don’t think you have to reinvent the wheel because someone may have already done most of the legwork for you. If customization is ultimately required, be prepared for the long haul and pick your developer wisely.
Remember, Rome wasn’t built in a day. Bring realistic expectations and your wallet, and then be prepared to reap the rewards down the road.

Adapted from Datamation, part of the EarthWeb.com Network.

Must Read

Get the Free Newsletter!

Subscribe to Daily Tech Insider for top news, trends, and analysis.