Custom Programming vs. Off-The-Shelf Solution

I have been, or can be if you click on a link and make a purchase, compensated via a cash payment, gift, or something else of value for writing this post. Regardless, I only recommend products or services I use personally and believe will be good for my readers.

Lately, I’ve consulted on a few projects which I’ve had to compare using an off-the-shelf script versus a custom solution. As a programmer myself, I typically build everything myself (because I can, and because I’m a control freak). However, I’m learning that there are some off-the-shelf solutions that do the job, and save both time and money.

So what are the pros and cons of each type of development?
[line]

Custom Programming

Pros
[list icon=”check”]

  • Exactly what you want – no compromises
  • Design is not limited by pre-existing programming
  • No hacking things together to make it work for you (aka – Square peg in round hole, or, Frankenstein)
[/list] Cons
[list icon=”busy”]
  • Longer to build (in days, weeks, months)
  • Costs more to build
  • More bugs to find & squash
  • Reinventing the wheel (or the checkout process, for example)
[/list] [line]

Off-The-Shelf Solution

Pros
[list icon=”check”]

  • Cheaper
  • Fewer bugs
  • Other developers are familiar with the product
[/list] Cons
[list icon=”busy”]
  • Does 95% of what you need, but 50% more than what you want
  • Exploitable (if others have the source code, they can find the holes)
[/list] [line] The one I wanted to expand a bit on is “Does 95% of what you need, but 50% more than what you want.” What I mean by this is that there are lots of pre-designed systems that handle complex problems, such Magento doing e-commerce, but they always seem to miss a few client “must-haves,” and at the same time include a lot of features the client doesn’t need.

In cases like this, I say it does 95% of what you need, and at the same time includes 50% more features than what you want. The 5% missing may be what pushes a client to a custom solution, or the additional features that aren’t needed may get in the way of a simple problem with an over-complicated solution.

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.