Traditionally companies have had two options of getting a software or SaaS (software-as-a-service) solution. The first one is buying a software for business. There are plenty of different software solutions at the market and you can choose a more or less good fit to your specific needs and budget.
The second option is building a new software solution in-house. Developing in-house is more complicated and usually only big companies with big IT teams can afford this.
However, as the technology advances new ways of getting a software solutions arise. The most promising breakthroughs is the customizable do-it-yourself business software. Here you are not buying the solution from the shelf and not building it from a scratch. You are building a software solution for the unique needs of your company using some basic elements. It’s like a Lego set. You can quickly build whatever you need.
Let’s consider the most important pros and cons of each of the three options of getting a software solution for business:
Each business is unique and ready software solutions cannot fully accommodate needs of every company. Therefore, you need to be ready to that the new bought piece of software will not fit your business. You can change your business to make it fit the software solution or you can live with this discrepancy.
If you decide to change your business processes you risk to lose your competitive advantage. Even if you think that some processes are not very important and that your business competitive advantage doesn’t depend on these processes you can be wrong.
Often companies don’t know what their real competitive advantage is and they mistakenly prioritize some processes over the other processes. Think about your business if it is a human body. Will you crack some bones just because they don’t fit the software program you bought? I guess no!
If you decide to live with this discrepancy, you will not get the benefits from the software solution that you expected to get. Moreover, you will need to remember about these differences and do some work manually.
Many companies change over time and this process never ends. When you buy a ready software solution you risk that over time you will face even more discrepancies between your business processes and the piece of software. It’s like buying shoes for a fast-growing child. In 2-3 months, they will not fit and you need to buy a new pair.
Buying a ready software program is risky because over time you may need to buy a new solution or to limit changes of your business. If you limit the changes you may lose or not get your competitive advantage. So, think twice before buying a piece of software!
Buying ready software solutions means high upfront costs. Decent software solutions are not cheap and you have to have servers to run the program.
If you choose a SaaS solution, you can forget about servers and pay only for the amount of service you need. This may look better, but don’t forget that you will have to pay a monthly fee for each user using each SaaS solution. Your business can end up with having to pay very big bill each month for using the services.
The software vendor has all rights to the program and you don’t have any access to the code. So, if you need to change anything, you need to ask your vendor. If you have any problems with using the system you need to ask for help your vendor.
Be ready to fully depend on your vendor. If your vendor is busy at this moment you will need to wait.
Usually if you buy a piece of software you can start using it in several weeks or months, or even sooner if we talk about smaller solutions. It’s much faster than building a software solution, but you still need to install and integrate the system.
If you choose a good vendor you will get a very powerful support team. Think of all the experience this team has! These experts have installed, integrated and supported hundreds if not thousands of companies.
If you are lucky enough and the support team is always available, you can be confident in the system.
Often it is possible to get the system for a trial before you make a buying decision. Note, that you still need to install and integrate it to make the trial. This may influence your future decision because you already made these time and effort investment and you may decide to buy this system in order to avoid testing other systems.
Another option is visiting a company where this software solution is working and looking at how it functions and asking the users if they are satisfied with it. This is cheaper, but you must be aware that your company is different from the company you are visiting and the software solution may work not as good at your company. Also, it is likely that you will be offered to visit a company that is fully satisfied with the bought piece of software and not a company that is not satisfied with it.
As long as you can test the system, read about it and ask other people opinion, you more or less understand what you are getting and you can forecast all major issues your company will face using the software solution. If you know the issues you can prepare to them and eliminate their impact.
You don’t need to have an experienced and reliable IT team in this case. The software solution will continue functioning even if the most valuable expert of your company decides to leave. You depend only on the vendor.
Building a piece of software may take very long time to complete. Usually it takes several times more time than it was planned. Your internal IT team is probably less experienced in developing computer software than most of IT companies, because their everyday tasks are far from software development.
Moreover, the development process may be given lower priority than all ongoing support tasks as long as the whole company will stop working without any IT support.
If your IT team decides to leave your company, you will probably lose the whole project and all the money invested. It is so often when IT staff who knows how the software program works tries to manipulate company because they understand that they are the only people in the world who know how this stuff works and how to support it.
Think about it. Are you ready to risk?
It is very expensive because it takes so much time to develop. You can calculate it. Salary of 2-4 developers multiply by several years of development plus costs of licenses for development tools and servers. And all this money is paid upfront, long time before your company will reap any benefits from this piece of software.
The design of the software solution is agreed today and it is based on the current needs and business processes. During the time of development process your company will change many times including the business processes and needs. It is very possible that the solution will become obsolete before it is used first time.
You can decide to change it to correspond the changes, but it may result in never ending chase and development. In this case, you can continue losing money trying to return the money you have already lost.
The truth is that only 10% of all software development initiatives are successful. By successful here means that at the end of the process company got a software solution that works. Probably not all of the working software solutions developed in-house work good or better than the ready solutions available on the market.
So, I guess your chances will be 1 to 20 that your initiative will be successful. Should you try?
Even though it is developed in order to be flexible and easy to change in-house, often software solutions developed in-house are very hard to change. Why? First, systems developed in-house are often very badly documented if are documented at all. With lack of documentation the software solution will look like alien and nobody will remember how it is designed.
Second, over time some of the staff who took part in the development process will leave your company and the new employees will not understand the foreign code even if it is documented.
So, you have a very big chance of getting a system that is not possible to change while it was initially designed to be very flexible.
Even though you may think that you know how the system will work and how it will influence the rest of your company, you cannot be 100% sure that there will be no issues with using the new piece of software. When the system is ready you may be surprised that it doesn’t fit some of the business processes and that not all other software solutions can integrate with or connect to it.
Deciding on buying or developing a new software solution without any test or trial is like buying a car without seeing and testing it.
If you do everything right you will be able to change the developed software solution as you wish. Focus on requesting detailed documentation to every module and function.
Ideally you the documentation should be sufficient enough so that any new IT specialist who did not work on development of this software solution could easily manage and change it. In this case, every time business processes at your company change you can make corresponding changes in the software program.
Good software solutions built in-house suit business needs and preserve the companies competitive advantage. As long as you decided to build the system and not to buy a ready off-the-shelf solution, you will get something unique that is different from all other systems.
This means that you will not have to change your business in order to accommodate a new uniform piece of software. The new system will fit your business processes and will not harm your competitive advantage.
Do-it-yourself solutions give you absolute freedom and you can create whatever you wish. But at the same time, you will start with a blank page or a template and a set of instruments.
These tools are very easy to use and you will not have any troubles with that, but you need to understand what you are building. You must know how each function works, who is responsible for what, why these papers are printed etc.
You cannot simply look at other systems or read it in the books, because your company is unique and you will not find this information anywhere except inside your company. This means that you need to collect a lot of information and learn a lot about how your company actually works.
Yes, you need to know how your company actually works, but let’s look at this from another angle. Often people think that they know how their companies function, but in reality, they don’t know it.
If you give employees and managers blank papers and ask them to make a scheme or describe how their company, department or business process work, you will be surprised. I am sure that the results will be very different and you may think that these people are not working at one company.
With the customizable do-it-yourself solution, you will get a unique chance to learn how your business work and to build the structure, so that everyone in the company can see it. You can connect the whole company and make everyone to work at one company!
With such customizable do-it-yourself software solution, you don’t need to wait for anyone for making any changes in the system. The system is under your control and you can make change at the same moment when you decide.
In contrast, if you buy or build a software solution, each time you decide to change anything in the system you need to ask the external or internal IT teams to do that. You have unlimited freedom to make changes on the go!
If you know how your company works, you can create the system in several days. All you need to do is creating an account, creating the structure of your company and adding users. The do-it-yourself software solution will create the user interfaces automatically giving you the possibility to make changes.
You can start using the system only in a small part of your company and scale it up to the whole company when you feel comfortable with that. This is completely different from the buy and build options where you need to determine the scale of the system before you start using it.
As long as you control the software solution and you don’t depend on IT teams, you can keep the system always up to date.
Usually pricing of DIY software solutions is similar to the pricing of SaaS solutions. Basically, you pay a monthly fee per user. The difference is that here you can get a solution for your whole company and not only for a part of it.
This is very similar to buying ready-to-assemble furniture in that it is cheaper and ready to be used, but you need to do some work by yourself.