To Build or Buy Software
As a customized software development company you may read this blog with a little skepticism but if you were to come and meet us for developing a customized application you may go away wondering why we tried to persuade you to look for off-the-shelf packaged software that might readily meet your purpose.
The reason for this is our experience has taught us that while there is no fun re-inventing the wheel, our customers do not really grasp the challenges of building a customized software application.
Three factors may dissuade you from building a software. The cost , the time it takes to build, and finally the gap between the perception and reality when the software is ready to roll out.
Building a software is like building a house. You know its easier to buy a readily available 3-bedroom villa, than to start by buying the land, finding a contractor and then waiting for it to come up. And more easier than buying a ready flat is renting a flat. Software is now available for rent and from an ROI perspective it may attractive to rent then an outright purchase. An outright purchase of a ready to occupy villa, may be cheaper than building a new one if the economies of scale favour the former.
However, as in a residence, there might be times when building a software is the right thing to do. The factors that sway the decision of building a customized applications, in our experience, may require the following consideration of following factors before taking the decision.
Do a thorough analysis of your requirements keeping in mind a longer time-horizons. Involve the key users and stake-holders in your deliberations. Insist on documenting your requirements and getting an approval before you start looking for a ready-to-use software product.
When evaluating the available product, first ensure that your requirements are met before being diverted to other features that the software may offer and which were not part of your original requirement. We have seen cases where the original requirement is diluted in favour of new features and as you evaluate more software packages your list of what-more can confuse you to inaction. Stick to your checklist and make another checklist of additional features offered by the packages.
If your requirements are met even more than 70% you should seriously consider buying a ready product. Some companies do customize their products to meet your peculiar requirements. You may also want to change your work-habits so that the 30% shortcomings are not as critical.
If your gap is too much, then you should invite software development companies that have domain exposure, experience and understanding.
Many good software products do not have local technical or implementation support and this is one of the reasons why they fail. Software companies have sales people who are good at prospecting, doing a gap analysis (albeit biased), and negotiation. They will bring in expertise from their head-office during the initial deployment but then all support is remotely managed. Some may have a local partner who is handling many other similar products and may not have the required depth for an effective support.
In such cases having a local company develop the software is a wiser option. The company has the local expertise and can give you the desired support during the deployment and regular running of your operations.
While some companies operate in geographies with a shorter time difference, but having local support means instant and qualified support.
Most of emQube’s client appreciate the fact that we are located in Dubai, and they can always invite us to their office, or drop in to our office to clarify doubts or fix pressing issues.
Growing and Evolving Business
As a business grows so do your software needs. New products, services, markets require you to adapt your software to capitalize on newer opportunities and you want your software to meet these situations. Change in the business environment, compliance, laws and regulation also require that your software fulfill the requirements. A product is hard to retrofit and has limited flexibility. If you have your own customized application you can bring in the changes and keep growing. Owning the source-code also has the added benefit that you are independent of the software developer and can hire another competent company to make the changes.
Return on Investment
A crucial factor, decidedly, is the return on investment. A customized software is time-consuming and expensive. It requires investment not just in terms of money but also time of important people in the organization. Projects do get delayed for reasons attributed to client as well as developer. Sometimes the scope is short of the requirement and needs rework and all this leads to cost escalation. However, when finance heads calculate the ROI of the software over its effective life they find that building a software is a better financial decision.
Software packages are priced on the basis of modules (features), and the number of users. Some even have pricing based on volume of transaction, storage and bandwidth utilization. These are hard to predict numbers and can be wrongly estimated thus giving a huge surprise. A one-time investment in a customized software with annual support is easier to estimate over a span of say 5 years. This could tilt the decision in favour of building a new software.
When you build a software the source-code is shared with the client for maintenance and upgrade and this can be shown in the financial book as an asset. When you sell a business with a software that you own the valuation is higher as the software ensures the continuity of the business and its dependence on the process rather than people.
To build or buy, if that is the question, I hope that my short article helps you to take the right decision.