Monday, October 13, 2014

To Build Custom Solution - VS - To Buy Commercial Of The Shelf

What is COTS ?

An adjective that describes software or hardware products that are ready-made and available for sale to the general public. For example, Microsoft Office is a COTS product that is a packaged software solution for businesses. COTS products are designed to be implemented easily into existing systems without the need for customization. #Webopedia

Commercial off-the-shelf, products that are commercially available and can be bought "as is“ #Wikipedia

COTS vs Custom Solution - 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.

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.
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?
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.

Conclusion :

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.

Original Source : 3CSoftware.Com


  1. Thanks for sharing such a great information. It really helpful to me. I always search to read the quality content and finally i found this in your post. keep it up. Custom Software Melbourne.

  2. You have a real ability to write a content that is helpful for us. Thank you for your efforts in sharing such blogs to us. Adwords Solutions


Share Your Inspiration...