Digital Skynet - Build VS Buy Software: 7 Steps to Make the Right Decision | Digital Skynet

Build VS Buy Software: 7 Steps to Make the Right Decision

October 18, 2019
#SoftwareDevelopment #Outsourcing #Tips

There comes a point for many companies when they have to decide whether to build or buy software. The answer is not really clear and can change depending on the situation. We decided to tackle this topic to see what would be the best option. Why not share it with others, we thought. Here is what we have gathered.

Pros and Cons

When talking about a choice such as this one, you need to look at the advantages and disadvantages of both options.

Pros of custom software:

  • Customization - You decide what functionality your application has. In addition, you can tailor it as you go. If you feel like something can be improved, you can always request further adjustments. 
  • Ownership - Nobody will have the tools you use. It’s up to you whether or not you want to share your platform with other users.
  • Control - You control everything about your system. This includes how it looks, what features it has, and who has access to what.
  • Expert support - The support you’ll receive will come from the same people who have developed your software. Nobody knows it better than them.
  • Focus on your industry - Due to the fact that the platform is custom built with your needs in mind, it will be developed to fit your line of work.
  • Scalability - The custom software solutions grow in tandem with your business.
  • Upgradability - If the number of features on release proves to not be enough for your needs, you can always request additional ones from the development team.
  • Competitive edge - You can safely incorporate your trade secrets into the platform. They will remain safe inside the enterprise system.

Cons of custom software:

  • Time - Custom software systems take time to develop. It seems obvious, but the more you wait, the higher the quality of the product you will receive at the end.  
  • More expensive - The main drawback that stops most people. It makes sense, not all companies can afford their own custom ERP system, for example.

Pros of pre-built software:

  • Quick implementation - It will work right out of the gate. Not only you won’t have to wait for the development, but solutions like these also have a comparatively easy setup.
  • Low cost - More affordable than the alternative. For many companies with a tight budget, this point may outweigh all of the benefits of the other option.
  • Community - Established tools always have some sort of support attached to it. Some have it as a service they provide, some have it in the form of community platforms. It will be easier to Google a solution to a problem you might face.
  • Official updates - The product will be updated regularly to fix bugs and add new features. It’s not always the case, however. Some existing tools haven’t been updated in years, so be careful when choosing such options.

Cons of pre-built software:

  • Limited functionality - the solution you buy can miss the feature you need.
  • Incompatibility - not all available products may be compatible with the systems you use. 
  • Risks - you face the liquidation and the data integrity risks. More on that further down in the article.

Decision-Making Factors

Among the factors you should always keep in mind, these three stand out as the most crucial ones:

  • Cost
  • Risk
  • Problem

As previously discussed, the costs can vary greatly. The ready-made software requires licensing with a monthly fee. In most cases, it is usually cheaper than creating your own. 

There are risks that can be attributed to both options. By building you risk losing money on an investment if you choose unreliable development partners. Nothing that can’t be avoided by doing some research. However, the risks of buying one can be quite scary. See, there’s no guarantee that the provider will stay in business. What happens then? The entire system that supports the operations of your company simply stops working without any warning with nothing you can do. This is called the liquidation risk. The fallout of such an event is disastrous.

When it comes down to the problem you face, you need to determine what exactly it is you wish to accomplish. Some issues can be resolved with a simple free application, while others don’t have solutions on the market at all.

Book a free consultation and we’ll help you make the best choice for your business.

Why Not Both

It’s possible to adopt a hybrid solution and enhance an open-source product. However, for enterprise software, it is not always advisable. This just multiplies certain negatives, such as the risks, for example. First, you risk finding a dishonest team of developers who are interested only in getting money out of you. Then you have to remember the licensing. It doesn’t eliminate the liquidation risk. So think twice before trying to combine these approaches to software development.

A Story of One Client

Of course, every situation is different. During the research for this article, we have asked some of our clients about their past experiences on this topic. Here is what one of them has told us about how he came to his conclusion. For the sake of confidentiality, we’ll just call him Mr. Addams.

“Not really a fun story to remember, but here it goes. I started my own business back in 2007. I didn’t have much of a budget back then, so I was cutting costs wherever I could. I’ve pirated some tools, abused the free trials, and that’s just on the software front. As we grew as a company it was hard to explain to the staff why we should stop. Everything was working, we started to turn profits, so why change anything?

After some time I made an executive decision to invest in a proper ERP system. It served us well for almost four years. It was great. Easy to understand, everything was accessible from one place. I didn’t mind paying for it every month since it made my work so much easier. Honestly, I didn’t even need any additional features. But apparently, it just wasn’t that popular. The developers had only this one product they were selling and it just wasn’t that popular. 

One day, I got an email from the provider thanking me for using their services but telling me that they are closing down and could not keep the servers up. Thankfully I had enough time to save my databases locally before they were gone. It was devastating enough without it. We had to scramble trying to find a suitable replacement. The productivity was in the gutter, as were our profits. If it was not for Garrett from IT I don’t know whether or not I’d still be in business. He said that if given enough time and maybe some extra developers they could develop something similar. 

It took some time, not gonna lie. We adapted though. By the time we finally started to feel more or less comfortable with our workflow, the first functional version of our own ERP system was ready. Sure, it wasn’t perfect, but with time it got better and better. 

Now it has even more features I didn’t even know we needed. I also got to make some suggestions regarding the look of it. It was just cool to see your requests manifest in the product. Needless to say, Garrett got a promotion and all of us got our own system that we use to this day. So, if you ask me, you can buy such complex software early on, but as soon as you have the funds, invest in a custom solution.”

Step-by-Step Process

1. Assess your problem

Determine what exactly do you need out of the software. The more complex it is the more aspects you should consider. In addition, some problems are more fit to one of the approaches and not the other. For example, there is no use in building your own internal messaging service. Compex PWAs with ERP integrationcan be safely outsourced. However, learning management systems that handle sensitive data should be kept in-house.

2. Research the market

See what options are already available. By doing this early on, you get a picture of what you’re choosing from. This is when you should assess the benefits of each canned solution and, most importantly, the areas where each can do better. Be ready to make some compromises. Decide on how important these drawbacks are to your specific situation. Keep in mind, if you find something among the available products, it doesn’t mean you should rush into purchasing. There are still factors to consider.

3. Compare the costs to your budget

The previous step helps you see what it would cost to simply buy a ready-made product. It most likely doesn’t have the full functionality that your business demands. Sure, it may do the basics, but nothing too specific. This is why this option is always cheaper.

Thereafter, determine the cost of a custom-built software solution. It will be tailored to your needs and you won’t have to deal with it not delivering on the technical front. Everything that you need will be built into the program itself. Of course, this is the reason for the higher cost of this option. 

4. Evaluate the liquidation risk

As mentioned earlier in the article, when you license your software, platform, or infrastructure as a service there is always a chance that the provider will go bankrupt. Maintenance and development of large projects are expensive, and you are not safe even when choosing huge enterprises. Even Google, for example, often cancels its side projects. Decide whether or not the solution you require will be an integral part of your business processes. If it is then it would be safer to build.

5. Analyze the data integrity risk

We have mentioned sensitive data before. It is highly ill-advised to keep personal information of the clients, trade secrets, and other intellectual property on the cloud. It is one password away from being stolen. In situations like these, it’s better to be safe than sorry. An internal system has an obvious advantage in that regard.

6. Decide on the level of control you require

This goes hand in hand with the previous point. With some platforms, you are left at the whim of the provider. Some features you rely on can be removed, the pricing can change, and so on. With a custom product, you are in control.

7. Assess the need for scalability

It is in the nature of business to seek growth. Try to determine whether or not the ready-made solutions can keep up. Many services come with limitations and require you to pay extra for more feature-rich plans.

The Final Choice

Custom software development isn’t the perfect go-to for every single case. There are instances where money is an issue, such is the case for many start-ups. Maybe it is a time-sensitive situation with the preferred delivery date being yesterday. However, if it’s not the case then you should always at the very least consider building your own solution. Your business deserves it.

You May also like