It’s not always a clear-cut decision as to whether or not commissioning bespoke software is the correct choice for your business. Unless you have endlessly deep pockets, cost is going to be a major factor in your decision. But hold on, before you sign-up for the latest and greatest Software as a Service (SaaS) platform or start looking for a software developer, consider what the actual cost of your decision is going to be.
Great software is about people more than technology.
There is no denying that the upfront costs of bespoke software are far greater, but think about those costs over time. In my experience the average lifespan of a piece of a software is about 15 years - give or take a few years. It’s usually after this period you realise that, your business, and problem the software was trying to solve has evolved. You also realise that the software you have is no longer the optimal solutions to your problem. How much extra would you pay in service and licencing costs over that time with an off-the-shelf or SaaS solution? Don’t forget to account for the extra licensing and service costs as you business grows. I bet it adds up, no?
You should also think about how confident you are in your business model. Do you want to bend your business around prebuilt software, or build your own, and bend the software around what makes your business unique?
If done correctly, building bespoke software solutions allows you to achieve a competitive edge. It can make you more efficient, smarter and more resilient. Lets not forget that a well-built software system or application is an asset that has real value. It’s not unusual for businesses to be bought for the software, and data they own as you probably know. On the other hand SaaS, and other options with licencing costs are just liabilities from the start.
All generic off-the-shelf software will have features that are superfluous to your needs. Developers need to put them there to feed the needs of the biggest audience or corner cases of their biggest sponsors. Sounds great to have all these features, but if you don't use them then they just cause confusion in your day-to-day operations. Software that is paired down and tailored to you own needs makes the surrounding systems and processes simpler and more productive.
Bespoke solutions are an investment in time and effort that is sometimes overlooked. Transferring your ideas and knowledge such that it can be codified into a great system takes real time and effort. Staged, and incremental development and integration into your business is the way to go in my opinion. It’s rare that what you think you need today is actually what you need tomorrow. By staging software development you can minimise risk and maximise the utility of your investment.
The great news is by the time you are ready to integrate the new solution into your business you are already going to be an expert.
I have to concede that building a solution from scratch isn't the always right course of action. Never try to reinvent the wheel. If there is a solution out there that is perfect for your needs then don't build another. Accounting software is generally one such example that I would never try to reinvent.
It’s important to be open minded to change - even big change. And here's why:
I used to work for a large investment bank in Glasgow, Scotland with hundreds of great software developers. It was obvious to us at the time that the trading tool we wanted just didn’t exist in a form we needed. We had the skills, funding and all the motivation required to build the tool ourselves so we embarked on a three year development project with a dozen developers, and business analysts. In the three years an off-the-shelf solution had matured into the product we had been looking for previously. It was a hard decision to make but we opted to abandon the project after millions of dollars of investment.
This may on the surface seem like a complete failure, but in that time we had incrementally implemented a system that suited or needs for a couple years, the developers and business people had learned what was required to run that area of the business. Thankfully we had the foresight to designed our data such that it could be migrated into a new system from the start. It's a rare case of a SaaS solution in my option eventually trumping the custom solution, but goes to show that even in those cases all was not lost.
Whatever you decide it's always prudent to have an exit plan in business. Try to ensure that your data is portable enough such that it can be migrating to another system in future. Keep the solution simple, but no simpler. If you go down the bespoke software route then find an impartial, vendor free software developer like NETIFI that uses open source technologies where possible.
My best advice for small projects i.e. less than £50k, is that it’s better to go to small independent software developer rather than one of the big software houses. That way you have a better chance of getting good experienced developers and your project doesn’t become software for the new graduate to cut their teeth on - that’s exactly what happens unfortunately.
Glasgow is a hub for software development and technology innovation in Scotland. Mostly in the banking sector, but there are a few good developers that escape the lure of big business and provide services to others.