To Build or To Buy: Comparing Custom and Off-The-Shelf Software Applications
by Bob Mango
InfoWorld wrote: “To build or to buy IT applications – It’s a question of Shakespearean proportions. Should you license a commercial enterprise application that will meet 75 percent of your needs, or would it be nobler to build your own application, one that will track as closely as possible to the task at hand?” I think this statement really sets the stage for any analysis a company should take when considering a custom software solution or a commercial, off-the-shelf (COTS) solution.
Many have used the guidelines of buy when you need to automate commodity business processes; build when you’re dealing with the core processes that differentiate your company. If only it were that simple!
I have assembled some observations I’ve made during past software implementations as well as from customers who have gone down both paths. This is generic to any build vs. buy software decision.
Building a custom solution
|Glove fit for your specific needs||Changes to the solution are generally costly|
|Typically, a lower upfront cost||Cost to design, develop, QA/text, deploy and train is expensive|
|Local support||Risk of losing knowledge base with no backfill|
|Immediate fixes, enhancements||Availability of resources may be challenging or seasonal|
|Localized & focused customer/user base||No economies of scale with a small pool of users driving enhancements|
|No obsolescence (as long as it is maintained)||Software development is not part of the company’s core competencies|
|Investment in updates and enhancements controlled 100%||Forward compatibility of customizations are challenging|
|A uniquely developed solution can provide a competitive advantage||Internal battles between competing internal projects for budgets to handle software development and ongoing support|
|Can be designed to support legacy systems||Difficulites in supporting new technology platforms on the horizon|
Buying a Commercial, Off-the-Shelf Solution
|Often meets the majority of your needs
out of the box
|Likely chance that features or functionality are missing or not optimal|
|Relatively fast deployment||Typically, fixes and enhancements delivered on a regular basis|
|Leverages economies of scale||Not all enhancements are relevant to your business|
|Software development is core competency
|Software vendor may not know enough about your core business to develop a specific application|
|Low to no internal support required|
|Leverage a large customer/user base to
|Typically, a higher upfront cost to purchase application|
|All design, development, QA/testing is
handled by vendor
|Older version obsolescence is possible|
|Industry software development standards are typically used (PMI certified, both classical methodologies and iterative styles in development|
|Knowledge base is spread out over many resources (internal development, user
groups, steering groups
|Typically, investment in updates and enhancements available only through maintenance program|
|Many vendors offer flexible software
|Software licensing may not offer the model you want (perpetual, per user, per site, modular, SaaS)|
Other Considerations: Custom
- How many people do you have on staff that can focus 100% of time on software development and support?
- What is the technology resource pool at my company look like? Any close to retiring? Risk of losing knowledge base?
- What platform will you build your application on today? Is it a common standard? What is the projected end-of-life? What resources do you have with experience on this platform?
- How will you keep up to date on current technologies?
- What software development methodology will you use? Rapid Application Development (RAD) Joint Application Development (JAD), Rational Unified Process (RUP), Spiral, Waterfall?
- How will you charge-back cost of development and support for your software? “Who foots the bill?”
- Are you reinventing the wheel? Does a COTS software exist that meets the majority of your needs? Can this software be customized to meet your needs?
- When evaluating whether to buy or build, it’s critical to thoroughly understand total costs during the software lifecycle — typically seven or eight years. (typically, 70 percent of software costs occur after implementation.) A rigorous lifecycle analysis that realistically estimates ongoing maintenance by in-house developers often tips the balance in favor of buying.
Other Considerations: Off-the-Shelf
- When choosing a tools vendor, software development managers should consider the background and stability of the vendor as a key component of their selection criteria.
- How much of the vendor’s business is made up of software and software related revenue vs. other revenue?
- How rigid is the COTS software? Can it be configured to my unique needs?
- How much custom coding/development do customers usually request from the vendor?
- Can the vendor support (help-desk, updates, bug fixes, on-going customizations, future implementations) the software beyond the initial implementation?
- Does the offer a blended model of support where we can take on some of the support?
- Will you be required to make significant changes in your business practice to fit the COTS software?
- Does the vendor have similar market examples of customers who have successfully deployed their application? Does any single customer make up the majority of their annual revenue?
Other Considerations: Cost
Why reinvent the wheel? Using tools readily available in the commercial marketplace can provide significant savings in the time and effort required to develop and maintain the numerical analysis and visualization foundation for your advanced end-user applications. Here’s an example:
Let’s say, for instance, that an algorithm developer’s salary is $60,000 per year. The average cost of employment, including benefits, adds an additional 20%, or $12,000. Thus, the fully burdened cost for a developer is $72,000.
On average, it takes three weeks to develop one numerical algorithm. It takes one week to test the algorithm, and an additional three weeks to document, maintain and port it. The total cost to develop one numerical algorithm comes to just over $9,500, or about 1/8 of your developer’s annual compensation. Your developer could produce just eight algorithms in one year.
The deciding factor in the Build vs. Buy argument is often how the decision will affect the bottom line. Software tools vendors help you realize significant savings because they have already done the work.
Trends over the past five years indicate the days of large, self-contained software development organizations within corporations possessing the broad level of expertise and time required to adequately and efficiently produce and maintain every line of code in the company’s mission critical applications are far gone. While today’s engineer is skilled within his/her specialized discipline, the time-consuming process of developing the building blocks of an application can be alleviated by the use of commercially available software tools. In the end, however, everyone is being asked to do more work with fewer resources.
The late Dick Benson, a top direct marketing consultant and author, summarized it best: “you should do only what you do best in-house, and outsource the rest. “ This ability to focus on core competencies can mean the difference between a software project that is bogged down by non-application specific details, and a project that successfully hits milestones and makes it to completion.
“Everybody knows that the more standardized you are and the more you buy off-the-shelf, the more cost effective it will be for both implementation and ongoing maintenance,” says Mark Lutchen, former global CIO of PricewaterhouseCoopers, now head of the firm’s IT Effectiveness practice.
The best solution may very well be a combination of COTS software that has the controls and foundation in place for rapid deployment, while allowing custom configuration to meet the specific needs of a company [see figure at right]. A sharing of responsibilities between a software provider and a company who licenses that software can ensure a successful solution for years to come. The software provider takes on the responsibility of maintaining the core code development, testing, and training, while the company can focus on the configuration of the software that provides unique value to them.
Most IT execs say they evaluate commercial software first, particularly when time-to-market and money are top priorities. The rule of thumb is to buy applications to the maximum extent possible to cut costs — freeing up resources for whatever really needs to be built in-house.
Other resources: David Lloyd. Build vs. Buy. Scientific Computing & Instrumentation. Polly S. Traylor. To build or to buy IT applications? InfoWorld.