Thursday, April 26, 2007

Comparison: Custom Solution vs. Standard Solution

Working on one task, I had a need to analyze the benefits of custom solution development against implementing particular standard platform.

Among other steps, I tried to do some web search to learn others' opinions, and to find out some related public materials. To my surprise, there were almost nothing published on this topic, except some marketing articles advertising their product or outsource development company. So, I've decided to publish summaries, that were collected during my analysis. Most of these materials are not related to the task I was working on and I didn't have a time to rewrite them in a better form yet (hope to do it one day), but please feel free to reuse ideas (e.g. comparison parameters) or to provide comment, which are always very welcome!

Note: in this article, Ready Solution means commercial product, not an open-source.

Attribute

Ready Solution

Custom Development

Base Product Cost


Usually, initial project investment isn’t required at all, or the amount is quite small.

Initial Customization

In most cases, ready solution requires less time to customize to a satisfactory level. However, rates for this customization are usually much higher than custom development rates.

Custom development always takes longer than implementation of existing solution. Yet, it’s still usual that Base Product Cost + Initial Customization cost for a ready solution is higher than total cost of own project.

Implementation Period

Implementation of some ready solution is always much quicker than custom development. If not, then it only means that bad product has been chosen


Licensing Fees


In a case of custom development, your usually have complete ownership over the source code, so there are no regular payments (except for some other 3rd party software, that can be required for application functionality)

Product Maintenance Cost


Custom solution is usually cheaper to maintain, because it’s possible to choose between different maintenance suppliers or even to maintain in-house. In a case of standard solution, a customer is tied to the original supplier and their exclusive rates.

Control over Product Evolution


The customer has exclusive rights to controls personal application evolution. However, if original supplier continues development of their standard product, they have a better source of information for new versions – the feedback from different users.

Product Versions

If a standard solution is being intensively developed by the supplier, it’s possible to benefit from new product versions that are being released. However, in most cases, it also means that the customer has to pay for features that they do not really need.


Knowledge Source

Usually, a standard platform already utilize some experience from the industry, so ready solution can become a good knowledge source in a product business area, if the customer has no very clear understanding for the future system.


User Training Cost


Usually, it’s easier/cheaper to train users for a custom solution, because such solutions are based on existing known company processes.

Technology Decisions


The customer has exclusive rights to select technologies that will be used for the solution. It allows to follow existing company standards (if any), or to select cheaper or better environment.

Risks

Utilizing existing solution usually has lower risk than trying to create a custom one. With a ready product it’s much more probable, the customer will receive working system on time and budget.