The pitfalls of building your own software

The pitfalls of building your own software

July 25, 2016

No longer the sole reserve of the large enterprise with the large budget, custom-made mobile and web applications have become commonplace in many successful small and medium-sized businesses as well.

Significantly more affordable than it once was, having a built-from-scratch bespoke software package underpinning core business processes enables SMEs to reap many benefits across the board. In-house, bespoke applications can improve productivity, streamline team communications, and deliver competitive advantages over rival companies operating in the same industry. Externally, a branded and unique app made available for your customers to download can provide much more sophisticated engagement opportunities, and provide them with easier access to more useful tools and information.

However, any business that wants to put some bespoke software in place first has a big question that it needs to answer – should we outsource the project, or attempt designing, coding, and developing it in-house? This is a fundamental decision.

All business owners are perpetually involved in a game of figures: how can we improve our processes to earn more by spending less? Arriving at the decision that a bespoke software package will deliver positive results in response to the above question is, in essence, the easy part. The problem, however, comes when considering the initial investment that will need to be made to have such a package developed.

Outsourcing development, although a lot more affordable than in the past, is not free. Even for relatively small projects, the investment of a few thousand is inevitable. In light of this, it's not uncommon for certain business owners to forget the fact that having custom-made software built is an investment, and rather see it as an out-and-out cost to the company. When this attitude begins to form, some consider the option of trying to build the software in-house, regardless of the fact that no one on the pay-roll has ever written a single line of code in their life. How hard can it be, right?

Well, let's make one point absolutely clear before we go on: there's a massive difference between buggy, semi-functional software, and the successful software that functions in accordance with the business goals that you want it to enable. As such, there are many pitfalls of building your own software – so let's take a look at what they are.

The learning curve is higher than you may think

You may think that because you've got a strong and capable IT department that they will be able to turn their skills to programming. Whilst it's true, of course, that you and members of your workforce are intelligent people who are in possession of more than enough ability to learn pretty much anything you put your minds to, computer programming is a difficult skill that trained engineers have dedicated years of their life perfecting.

As such, whilst it may be possible to learn the basics quite quickly, the basics are not going to be anywhere near enough to first build and then run and maintain an application in the long term. Even in order to learn the basics, you will have to invest time, money and resources into some pretty heavy training – watching a few how-to tutorials on YouTube or downloading a free eBook off a website is not going to be enough.

Native or web app? What about cross-platform functionality? And what technology do I even need to build my software?

Following on from the above point, the learning curve gets steeper the further you investigate into DIY development. Will you need your application to work on a specific platform for either your customers or employees? If so, is it iOS, Windows, Android, or any other? You may very well need cross-platform functionality – so how do you go about that?

Perhaps it's a web application that you're considering. If so, then you need to realise that building a responsive web app that will run beautifully on any browser is not simple by any stretch of the imagination.

Furthermore, you will have to consider the most appropriate technology to use to build your application – and there are dozens, each with their own learning curves. HTML5, Java, C++, Objective C, Swift… the list goes on. True, you won't have to learn every single programming language for the purposes of building a single application. But if you're approaching the task as a complete novice, then just knowing which one (or two) you will need to learn will require some pretty heavy investment in research in the first place. But even with this, your inexperience will put you at risk of making the wrong decision. If this happens, it's very likely that you will at some point discover some limitations to the technology perhaps months down the line, which will thusly bring your project to a grinding halt. You may have to scrap it, and either start again or hire in developers like you perhaps should have done in the first place.

What's to stop your newly-trained developers from leaving?

Even if you train up your in-house team to become absolutely adept at programming, what's to stop them from jumping ship at a later date, and taking their new skills and knowledge with them? This is a very real risk, and if it happens, then you will be back at square one again.

It will cost you more in the long run

If you're basing your decision to build your own software yourself on potential cost savings, then, in all honesty, you need to step back and think again. Since the learning curve is so steep, the investment you will have to make in training may very well cost even more in the first instance than it would to outsource your project.

And you must consider the fact that whilst you put yourself or your team members through training, you will all be losing time that would normally be spent focussed on your other critical business operations. Further, once your software is up and running, it will need to be maintained and updated regularly, which again means time taken away from the in-house team as they are forced to focus on maintenance.

You will more than likely end up with a sub-standard product

Even if you find yourself in possession of a bit of a flair for programming, it will nonetheless not compare to those who have made programming their profession. The most likely outcome of going down the DIY development route is that you will be considerably down on money, and will be left with a sub-standard end product that is full of bugs. All in all, not a particularly lucrative investment.

Do you need some bespoke software built and have come to the sensible conclusion that becoming a DIY developer is not a wise investment? Get in touch with us here at EDISON today. We've got the affordable solution for you.