Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Bespoke Software vs. Off the Shelf Software: Pros and Cons

DZone's Guide to

Bespoke Software vs. Off the Shelf Software: Pros and Cons

Each is suited for different purposes, but which is right for you?

· Agile Zone ·
Free Resource

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap. Brought to you in partnership with Techtown.

Here’s an analogy for you: how delicious would it be to get a sandwich chef to make you the best sandwich ever with all your favorite ingredients, just the right amount of condiments and your favorite bread — versus something he’s already pre-made for the masses? While his pre-made offering might be pretty darn good, getting him to build your own super-sandwich is going to really hit the spot.

Ready-made sandwiches are the commercial-off-the-shelf software (COTS) of the business world. They might be pretty darn good, but they’re ready-made for the masses, not directly tailored to your (business’s) tastes, unlike bespoke software.

Let’s check out the pros and cons of both bespoke software and software to see how they stack up.

Bespoke Software

Pros

Software Tailored Directly to Your Needs

Like the custom sandwich, bespoke software has every aspect that your business needs, custom build to your requirements.

Easy to Build on Later

You own the software and code, so if you need to add extra functionality in the future, change it, or extract data, you can easily do so by building onto the existing codebase.

Integration with Legacy Software Possible

Have an existing piece of software you already use and want to continue to do so? Sure, if the software has an API (or was built by you in the first place), then integration is possible. This is in contrast to COTS, where unless it’s a featured existing integration, then legacy software integration will require extra software development — if it’s even possible to do so in the first place.

Cons

Takes Time to Build

Rome wasn’t built in a day, and neither are bespoke software projects. Building custom software takes time. The best approach is to build the most critical elements first and start using them, then add features as you go. This is what’s known as continuous delivery.

High Costs Upfront

Software designers and developers don’t exactly come cheap. But it’s like getting a custom suit made: it’ll be more expensive up front, but it will probably last you a lot longer and get you a lot more wear — and feel uniquely yours, rather than be slightly off in this spot or that spot.

Ongoing Support Needs to Be Negotiated

Unlike Amazon support or [insert large company here], you’ll need to negotiate with your software development provider if you require ongoing technical support for the project after it’s completed and training has been done and dusted.

Off-the-Shelf Software

Pros

8Ready to Go Quickly

Like the pre-made sandwich, you can grab a commercial software product and bite into it instantly — rather than waiting for your chef to whip up your custom delight. If you need a solution yesterday, COTS might be the right choice.

Ongoing Support (Usually) Readily Available

Most large software products come with in-built and ongoing support — however, the level of support required may be subject to a fee. If there is a large user base, you might find a helpful community online.

Lower Initial Cost of Ownership

Purchasing a COTS solution (at least in the beginning) is generally lower than the cost of building your own custom software. Why? Because they provide the same product to hundreds, thousands, even millions of customers. They get paid for every customer that uses the software, whereas a bespoke software development house gets paid just once per project.

Cons

May Need Other Additional Components Built

Because the software wasn’t built for your business, there may be missing features that you need to build out to make it work for your processes. Provided that the software has a workable API to build out, feature building will also require getting software developers in to do the job!

May Not Be Completely Fit for Purpose

The software might not quite be right for your overall purpose. Is it good enough? If you are trying too hard to fit a square peg into a round hole then it might be time to consider a custom solution instead, rather than a series of workarounds.

Subscription/Licensing/User Costs May Add up To More Over Time

The majority of large software product providers these days opt for a subscription or licensing program which may be per year, and sometimes even per month. They may also operate on a per user or per device basis. Fees can quickly stack up. It pays to cost out the overall price of using the software (including if you intend to scale) over the course of the expected lifetime of the product.

COTS products definitely have their place in the world. They are the perfect solution for businesses with a common business case who need a ready-made product. Support is generally top notch and you don’t need to reinvent the wheel. Salesforce is ideal for sales — that’s why it’s so popular.

However, for businesses that have a unique function or workflow that they need to build software for, trying to fit existing COTS solutions to the problem might be near impossible. If you’re searching for software and keep finding things that sort of fit but you’ll need to build workarounds, then it is probably time to splash out for bespoke software.

Remember: if your bespoke software captures your requirements succinctly and is well built, then it’ll be better than any COTS solution that you can find.

Take Agile to the next level with DevOps. Learn practical tools and techniques in the three-day DevOps Implementation Boot Camp. Brought to you in partnership with Techtown.

Topics:
software business ,outsource development ,custom software ,agile ,advantages and disadvantages

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}