Off-the-Shelf Software Customization IssuesBy Bruce F. Webster | Posted 2008-08-27 Email Print
Know the Risk: Digital Transformation's Impact on Your Business-Critical Applications REGISTER >
A given piece of software application can range from being an unmodified, commercial off-the-shelf (COTS) software package to being a completely custom, written-from-scratch program. Between those two extremes you can find customized and/or configured COTS software, custom software built using commercial software frameworks and libraries, and complex application systems comprising all of the above. The question: which solution is best?
Second, a given COTS software package, even customized, is probably less suited to your firm’s specific needs and challenges than a custom program designed and developed from scratch – assuming that you can even find a COTS package that can be customized to meet those needs. So, if your firm needs to gather and monitor data from a complex industrial process in order to control other equipment, you may have a hard time finding a COTS package that can do what you need without a lot of customization; even then, it might not work as well as you’d like. To a large extent, your firm will have to adapt around the COTS package and the way it does things. But if you develop software from scratch, you can ensure that it does exactly what’s needed.
Third, a given COTS software package can usually be acquired and deployed almost immediately. If customization of the COTS package is required, it will take longer, depending upon the amount of customization required. But a software system built from scratch will almost certainly take much longer than any other solution.
So, now let’s get back to the original question: which solution is best? Buy or build? Well, clearly you may be compelled to adopt a particular solution by the factors cited above, namely cost, suitability, and time to deployment. And, of course, you may have situations where no commercial software is available, and so you have no choice but to build. But if you truly have a choice – as in the situation described at the start of this column – there’s a very useful rule of thumb that’s based on your business situation:
• Buy if the system is a fundamental requirement of doing business.
• Build if the system will give you an advantage over your competitors.
Think about it. Whatever line of business your firm is in, there is a basic set of IT capabilities you’re going to need. This includes standard desktop productivity applications, financial apps, operating systems, system administration software, development tools, and so on. It may even include software specific to your line of business. It really makes no sense to build any of these for your firm; instead, buy the COTS packages that best meet your needs and budget, and adapt yourself to that software; spending the time and money for custom versions just doesn’t make sense.
On the other hand, there are aspects of your business where you have the possibility of gaining an advantage over your competitors. It may be a customer-facing system where you want the ability to rapidly introduce new products and capabilities; it may be a critical chemical process; it may be a complex set of transactions involving various financial instruments. Those are situations where it may well be worth the investment in time and money to craft a custom or semi-custom solution. It also ensures that your competition can’t just go out and buy the same software; they’ll have to build their own and will likely lag behind you.
So, what about the scenario given at the start of this column? What should the corporation do? The answer is probably “buy” – they should go out and buy the best-of-breed commercial application that’s equivalent to QRSApp, possibly with some customizations. This is a better solution than developing their own private QRSApp equivalent from scratch; the time, money and IT resources should instead be spent on custom systems that given the corporation a competitive edge.
Something to keep in mind.
Bruce F. Webster is a consultant specializing in reviewing and rescuing large-scale IT projects. You can reach him at email@example.com or via his websites at brucefwebster.com and bfwa.com. [© 2008 by Bruce F. Webster]