It’s a sunny day, you are sitting in front of your desk in a mid-to-large company, thinking about some everyday problems in your job, and suddenly you have an interesting thought – what if I could solve my problems with some digital magic? Maybe a mobile app, a web application, or something more sophisticated. Your needs are not typical, so you don’t know if you need to find & buy a license, or maybe somebody should write the software for you.
Whenever you find an essay on when to create custom, tailor-made software – you might undoubtedly find a lot of reasoning for choosing a software development partner since those are mostly poorly concealed advertisements. There is some good rationale behind going for bespoke (a bit of a fancy name, but quite popular in the UK) software. Still, it is not always the most viable choice – and even though I am writing this within a blog of a software development company, I won’t hide from you the reasons for going with off-the-shelf software – in the world of ads, you deserve some simple truth. Why? Besides basic human decency, many years ago, when we were just a bunch of regular developers trying to get some projects to keep things going, we did work with clients who did not necessarily need our services. We thought that since they came to us, they wanted to do some custom software. It took us some time to change our approach, but now we know that we do not want to work with people who want our services – we want to work with those who genuinely need them.
Definitions, definitions
Let’s start by defining precisely what we are talking about. Custom, bespoke, or tailor-made software is software made from scratch. But what does “scratch” mean in this context? We’re not designing new types of electronics or new computers for each custom software, such as a CRM (Customer Relationship System) or CMS (Content Management System). We’re also not creating new operating systems or programming languages every time. There is no simple definition of custom software because in some rare situations, especially in large companies, new programming languages or software tools are indeed created to solve the problem in the best way possible. And that is an excellent example of what might be the most flexible yet most accurate description – bespoke software is created from scratch as deep as it is required to solve the client’s problem – assuming there is enough time & budget for this. Sometimes you must introduce a new programming tool or even an operating system – for example, for a simple bespoke electronic circuit. But usually such a deep approach is not required in the world of business applications. You can use existing software & hardware components and write the top layer that includes some form of software that fulfills particular business needs of the client. Nevertheless, bespoke software does mean creating some novel components and not just using the existing ones.
Another important matter is what a company that creates custom software is called. Here in Poland, we use the term ‘software house’ – in the literal English form. Interestingly, this concept is not very well known in many Western countries. Other similar names are ‘bespoke software development agency,’ ‘digital agency’ (although this one is a bit too generic), ‘software development agency,’ or even ‘software dev house.’
The other kind of software I’d like to discuss is the ’off-the-shelf’ software. This phrase comes from older days when software was bought literally off the shelf in the computer store, as a box with CDs/DVDs – many people still remember buying MS Windows or MS Office in that way. Nowadays, there are more purely digital solutions, such as SaaS (Software-as-a-Service), where you don’t get any box – you get access to the service. Its main advantage is that the software is ready for action from the moment you buy it. However, it is often a double-edged sword – you get access to everything instantly, but there is no room for customization. Of course, off-the-shelf software has built-in customization options, but if you think of something that has not been thought of and implemented earlier – you are out of luck. In the case of modern SaaS, you might apply to the vendor and ask them to include your idea for the new feature or change – and sometimes they do that! – but it usually takes a lot of time. Nevertheless, it is often a good idea to go with the off-the-shelf, licensed software. Imagine getting a new operating system – such as MS Windows or Linux – that is custom, tailor-made, developed especially for you – it’s absurd, isn’t it?
So who are you, and what do you need?
I represent a startup, and I need IP (Intellectual Property)
It heavily depends on the stage of development of your business and your funding situation. If you are at the very first stages (concept, pre-MVP, especially with FFF funding, i.e., Family, Friends, and Fools), it might be better to create a prototype developed as a mashup of some existing solutions and components. Then you can focus on presenting your idea in a (somewhat) working environment.
Having your software is undoubtedly an important stage – mainly due to the Intellectual Property rights – but initially it is not that crucial.
Of course, if your needs, even at the very beginning, cannot be met by combining some existing software…well, you’ve read the first part of this article, haven’t you? 🙂
I am a small/medium business owner and have a challenge I think I can solve with some IT stuff
Get some professional help from an IT consultant/advisor. It is quite possible that some off-the-shelf solutions for your problem already exist. They won’t probably cover 100% of your particular case, but if you are ready to compromise and 80–90% will be good enough – use it. I remember talking to a construction company that wanted to develop scheduling software for their needs. As it turned out, due to the costs and – at the same time – a small number of employees, it was much more reasonable to stick to the existing solution. Our would-be client did miss some unique features we were going to develop, but they made a wise business decision.
I am a director/CXO in a large company/corporation
While the general rule of thumb from the above case (SME) applies, three things change:
- You usually have a bigger budget, making accepting higher costs easier.
- Your processes might be even more sophisticated than in SMEs, so bending to existing solutions might be even more complex.
- Costs of existing solutions, due to the higher number of employees, thus licenses, might justify investing in a more comprehensive, custom solution.
I am a business advisory/consulting firm
You are not looking for software for yourself, but for your clients – who might be anyone from the above list. If you advise your clients in many different ways, sooner or later they will start asking about concepts related to IT. It is good to find a reliable partner who will advise your clients technologically at a proper level while keeping close contact with you to adjust the way you work with them.
Final notes to remember
Of course, the suggestions mentioned above are just a generalization, and it is always good to consult with experienced yet impartial professionals or consultants. Those suggestions are good starting points, though. Either way, I’d like to remark on some additional notes that might help you decide.
First, the cost of custom software lies not only in development itself. It would help if you remembered about the infrastructure cost (the cloud, for example), the support service – sometimes done on many levels – and the updates. Think about software similarly to cars – if you can afford to buy a car but cannot afford its servicing, you definitely shouldn’t buy it.
At the same time, you need to remember that in the case of SaaS applications, the monthly/annual fees might change over time. It might hurt your business significantly when you are deeply invested in the application and you have bought many licenses, therefore the application has become an essential part of your company.
On the other hand, when a company creates bespoke software for you, it is not like switching lights in a room, and it’s a much more complex and time-consuming process involving you and your employees. Without your involvement, the project will be doomed to fail. In the case of off-the-shelf software, you need to do deep research to ensure that your most essential business needs – the “must-haves” – are indeed implemented in the software or will be implemented very soon.
As you can see, the choice between off-the-shelf and custom-made software is not easy, and it is often wise to hire a consultant to do business and technical analysis of your situation with some independent recommendations. In this way, you will avoid challenges that could appear after having made such a decision as well as some investments. Even if you need to pay for such a service, it is much more probable that such a recommendation will be honest and not just a part of the sales process for a more prominent company.
And if you need a software partner that will help you make the right choices…
Let’s talk!CEO @ Makimo. I am an adapter, a connector, a link - I bring together business & IT by advising how to use & adapt software wisely to achieve real business benefits. Current Associate Professor & Former Dean of CS Studies at UEHS, Warsaw; Education & Public Advocacy Expert at SoDA & podcaster at Software z każdej strony.