Developing your own SW vs. Buying one
Should you need to digitalize a process or managing some kind of data, you may be tempted to develop your own tool, since, nowadays, the entrance barriers and learning curves are lower than ever. Well, one thing I have learned selling SaaS and as a hobbyist developer, is that there is a BIG difference between doing software and doing GOOD software.
Creating a server in Node and running a basic app, collecting data from zero, can be done in some hours, but once you enter in an enterprise application with potential for hundreds of devices or users, properly secured and robust behaved, things get serious. I would say that probably nowadays this is more difficult than ever. Definitely, not a task for a novice or a small team.
I have seen this corporate crossroad many times, quite recently, especially in medium to big companies where engineers are present. I would like to give some help and ideas to make the right decision, which, as always, depends on the case.
So, if you are on the verge of developing your own SW or using an existing platform, you should honestly ask yourself:
- How much of my needs cannot be covered by existing solutions? Nothing is perfect, but believe me, the result of your developers won’t be either. You have to evaluate if the key needs that you have can be reasonably covered by existing solutions. The nice-to-have things are always optional.
- Is my business model around the development of the SW or in the use of the SW? If it is the latter, developing a SW is like building a product for only one client: you. The payback of your investment will never be as good as the companies that do it professionally for different clients.
- Have my company proper SW developing resources to do it? Dedicating a recent PhD (or even the intern) with granted EU R&D funds does not mean that you have them. There are a plethora of new SW development workflows (agile, scrum, git, asanas, oauth, etc) that need to be mastered for a professional result.
- Is my organization committed to the maintenance of the SW? This is actually the most important question since SW has to be continuously updated and maintained to keep the security and functionalities that the market requires. If not, in a couple of years, you will have an old, useless tool that will be a pain to use. Or even worse, if the lead developer exits the company with the knowledge, leaving behind a SW badly documented.
- Is the desired SW something for only internal use or there may be external users? If it is the latter, take into account that the SW quality is also representing your company quality. A server down or endless bugs, can affect the well-gained reputation from the rest of your business.
At the end of the day, all of this is going to be translated into costs. The problem is that when you purchase a solution, even expensive, you know how much you are going to invest. But in software development and maintenance, the cost is undetermined, and it will depend on your developers, project managers, clients, and a lot of luck.
At tailored:systems we promoted a hybrid approach. We promote some of the best platforms for IoT and data management, but also offer SW development on top to cover the most niche demands.
For industrial monitoring, we are added-value resellers of sensemetrics, a leader in unifying sensors data for the construction, mining, environmental and water sectors.
For general purpose applications, we provided IoTailor as a general platform for connecting devices or APIs. For the renewable sector, we propose Qantum from QOS Energy as the best solution for portfolio monitoring. We can also provide communication and HW devices like the powerful Edge computer Thread or LoRaWAN devices from Ursalink.
Let me know if you have a digitalization project. Let’s just have an informal chat and I will give you my two cents for free.