Blog

Custom Application Development – Buy vs Build

You may be wondering, why hire someone to develop a custom web app when all kinds of off-the-shelf solutions solve a myriad of common business challenges. These solutions range from WordPress plugins that you can buy and put into a simple WordPress site, to complex software as a service solutions (SaaS) like Shopify. Off the shelf may be the best approach in many cases, but not always. The most important thing is to really understand what your needs are, then evaluate the best way to meet them.

What do I need?

The first step is to know what problem you are trying to solve. Is your site mainly informational without much functionality other than a Contact Us page? Then a simple WordPress site is quick and not very expensive, and some great WordPress themes can be customized to almost any branding. Do you have a limited range of products with straightforward pricing? A Shopify site is easy to set up. Do you have a more extensive range of inventory, then the Woo Commerce plugin does a good job. However, if you have complex business processes that need to be supported, you may not be able to do that with off-the-shelf software. So the first thing to do is to have a really good idea of what you need.

What’s available?

There are some great WordPress plugins that solve the most common problems. There’s not much point in building a shopping cart from scratch – that’s been done many times. There are also some great plugins for simple forms, and Gravity Forms is one we often use. There are also many software products or software as a service platforms that give you tools to solve common business problems; SalesForce is a good example of one. Regardless of your need, you are pretty much guaranteed to find some off-the-shelf options available.

Coder sitting at desk

Logic and Data

Beyond simple sites are the ones that incorporate unique business logic. You may need to gather information from your clients as they prepare an order to do calculations, validate the entered data, ensure that the range of products being ordered will work together, and look at the customer’s order history. How data-driven is the ordering process? WordPress was designed to be a blogging engine and has been adapted to support a lot of things, but underneath is a database that is not designed for custom business logic. A custom application can be developed to precisely mirror your business processes and store data in an efficient manner. This makes it easy for your customers to buy your products and services and lowers your internal costs by making your staff more efficient. And having access to the data allows you to analyze that data and make intelligent business decisions.

Where does the future lie?

What happens when your business grows? Will a simple solution be scalable? If your business process becomes more complex, will an out-of-the-box solution be able to adapt and support it, or will you need to abandon it and start over? Plugins and generic software – by their nature – solve common problems, and they are designed to be used in a wide range of situations. But this means that there will be limitations and the software may not suit 100% of your needs. It can be very frustrating to require changes to the functionality of your site because your business has changed, but the plugin you used does not support the new requirements. A custom-developed solution can basically do whatever you need – now and in the future. If your business grows or changes, you can change and grow the custom application along with it – flexibility that often doesn’t exist with off-the-shelf solutions.

Down the Rabbit Hole

It’s not uncommon to look at the requirements for a website and say “That sounds like a form – let’s use a forms plugin. It’s open-source and we have the source code so we can modify it and make it do whatever we want”. I’ve been involved with projects where that has happened and the outcome has not been good. Yes, you can customize plugins with custom code, but will that code still work the next time an update to the plugin is released? I had a situation where a new version of a plugin changed its database structure and completely broke the customization. Our team had to re-write the customizations after spending a great deal of time figuring out what went wrong, and it ended up being such a struggle to make the forms plugin work the way the client wanted, that it would have been much cheaper to develop a custom application in the first place.

Down the rabbit hole

Can it be done?

Off-the-shelf solutions are designed to be used by many people, but by their nature need to be generic. They may have custom styling, layout and parameters to allow simple configuration choices, but they will always have limitations. If an off-the-shelf solution meets 80% of your needs, the question you need to ask yourself is how important that other 20% is to your business. If you can adapt your business process and workflow to suit the off-the-shelf solution, then it is still a viable option. However, if that 20% is what sets you apart from the competition, gives you a competitive edge, or makes your operation more efficient and improves profitability, then you may decide an off-the-shelf solution is not appropriate. If you need something unique, you may find yourself facing a brick wall using a plugin or software as a service. There will always be trade-offs with generic software, but a customized solution can be exactly what you want.

What kind of support is there?

What happens when something goes wrong? Who do you call? Generic off-the-shelf systems and common plugins often do not have great support. Of course, the same can be true with custom development – unless you choose a developer you know will be around and available. Caorda has been around since 2003 and is growing. We have built tons of custom web-based solutions for clients over the years, and enjoy ongoing and lasting relationships with our clients as we continue to offer them support, maintenance, and enhancements. We pride ourselves on responsiveness and a close working relationship with our customers. We are there for our clients and we do not outsource our development to other countries.

Support buoy

How does it look?

It’s great that the local shoe store has all its inventory online. I like seeing what’s available before I go to the store. Same with clothing stores. But whenever I see these sites I always think to myself “That looks like another Shopify site”. They are very functional but there’s a certain generic look that they have. If you really want your branding to come across you might want to involve professional designers and website styling experts. Your website is your opportunity to tell your customers “We’re unique and have what you need!” Custom software lets you do that.

Isn’t custom development more expensive and takes a long time?

It depends. If the problem is fairly simple and can be solved with an off-the-self solution, then yes. But in many cases, custom development is cheaper in the long run, especially if your requirements involve modifying or adding on to plugins in order to get them to do what you want. If a custom app enables your business to be more efficient and it can’t be done with a generic solution, then the custom app can have a much higher return on investment. Custom solutions can address productivity issues that are unique to your organization and pay for themselves. Plus, if a custom solution makes it easy for your customers to be informed about your products and services and makes the purchasing process easy and efficient, your sales will grow. Also, development tools are constantly evolving and improving so developers are becoming more efficient, which means less time and lower cost.

Coding maniac

Front of the house/back of the house

It’s easy to focus on the part of a website that the public sees, but your staff needs to be supported as well. This is where custom application development makes a real difference. A custom application can take the results of your customer interaction with the public-facing site and make your employees more efficient. In many cases, it makes a great deal of sense to have a public-facing website where your customers place their orders and a separate internal web application for your staff to process the orders and manage the business. The process for placing an order may be completely different from the process of fulfilling that order, so a custom backend site can address all your needs. Streamlining your business process cuts costs and provides better customer service.

I need information.

The best way to make good decisions is to have the right information to base them on. In many cases, off-the-shelf software has limited reporting and can’t manipulate data in the way that you need. If the data is stored in WordPress, it’s unlikely that you can access it directly, so you are reliant on the reporting built into the software. For software as a service applications, the data is stored somewhere in the cloud and direct access to the data is limited, however, you own that data and should have access to it. Chances are that the data is stored somewhere outside Canada. There is no limit to how data can be used to create custom reports and where it is stored with custom applications. Typically, custom software would use a relational SQL database that is optimized for your business and is more efficient. Plus, in the future, new reports can be developed as your requirements change.

Woman sitting on chair on phone

How can we help?

When you first contact Caorda, you will speak to one of our project managers, who will find out what you need and advise you on the best approach. Caorda prides itself on having a team of experts and specialists who can help you in every aspect of the project. If a generic solution is appropriate, we’ll tell you that. We will involve a requirements analyst who will work with you to document all aspects of whatever problem you are trying to solve for more complex projects. In many cases, clients have told us that they didn’t realize exactly what they needed until they went through this process. Knowing what you need is the first step to defining how the problem is best solved. Once we have the requirements documented we can give you a cost for the custom development project. We can work with you to develop a project plan, advise on the appropriate platform, and provide development resources. We also have design, branding and SEO experts who can helpfully customize the application to your needs. Finally, we have a dedicated Canadian hosting center – so you know where your data is.

Contact Caorda Now