How pricing for ready-made software and custom software development works, and how to choose your software development partner
By Tshering Cigay Dorji, CEO of Thimphu TechPark Ltd.
Today, the adoption rate of technologies have increased worldwide, and Bhutan is no exception. His Majesty’s addresses advocating that we harness the power of modern technologies to solve our problems has played a big role in changing the mindset of our people towards technology adoption. Applications such as the Druk Trace, Checkpost Management System, Quarantine App etc. rolled out during the COVID-19 pandemic has showed how technologies can help in improving data collection and decision making which obviously leads to improved efficiency and more optimal use of resources.
Given that, many organisations and entrepreneurs are looking to adopt technologies to automate their manual processes. And of course that is the right thing to do. But one important question that remains unanswered is, “How much is the reasonable amount to pay for my software project?” This is a very important question that needs some explanation from a holistic perspective and I will try to explain a bit in this article.
2. Software pricing models
2.1 Why software do not come cheap
There are two kinds of software that you may purchase: 1. Readymade software such as Microsoft Word and Tally, and 2. Custom develop your own software like MBOB app, Druktrace app, or your own Website.
In both cases, software generally do not come cheap because they cost a lot of time and professional effort to make them. Time and professional effort cost money. Software developers generally do not work for low salaries because their skills are in high demand globally.
Moreover, software development is a complex and high skill work, as Paul Barnes’ article (https://www.toptal.com/agile/software-costs-estimation-in-agile-project-management ) in totpal.com says: “No two projects are the same; each is unique in what it sets out to achieve and unique in the myriad of parameters that form its existence. Often, what appears to be a simple problem on the surface is much harder or technically challenging to implement in reality. And, undoubtedly, there will be ‘unknowns’ with the project that can only be identified when they arise.”
2.1 Costing model used by readymade software vendors
Readymade software costs are based on licensing model since they are sold to millions of customers worldwide. Generally, they are well tested and come at a more reasonable price because the cost of developing the software is shared among many customers. In the licensing model, the software cost is based on a cost per user license. It can be one-time license cost or a recurring monthly/annual license cost. The upfront one-time user license payment may not sometimes cover the cost of upgrades. Therefore, there may also be a smaller monthly/annual payment in addition to the upfront cost to be eligible for maintenance support and upgrades.
The cost of ready made software seem to depend on the market size too. An engineer friend of mine who is a bridge expert told me that the cost of bridge design software is much more than the cost of a building design software though the complexities may be similar. This is because the market for the building design software is obviously much larger than that of the bridge design software. Likewise, we have found that the cost of “Tax Administration” software is much more compared to a healthcare and hospital management system for the same reason. The potential client of tax administration system is limited to the number of countries in the world, while the healthcare/hospital management system can be marketed to all the private and government hospitals around the globe.
Some ready-made software are hosted on the clound and provided as Software-as-a-Service (SaaS) on a monthly subscription fee model. In this case, there is no huge up-front cost for the software.
2.2 Costing model for custom-made software
The costing for custom-made software is generally based on the total cost of developing the software which is determined by the total time and effort required. It is similar to contracting out the construction of your house. The contractor would estimate the total costs based on the total labour and material costs and add a small margin and give you the proposal. If you insist on a discount of 50% on it, the contractor would have to either go for low quality materials or hire unskilled workers to cut his costs.
Likewise, if you are willing to pay too less for developing your software, it will be compromised in one way or another. However, as a builder can optimize the efficient deployment of his resources if he is undertaking the construction of two or three buildings at the same time, so can an IT firm try to optimize and reduce the cost of custom software development by reusing codes for multiple projects.
Yet, the comparison between software project and a building construction may be too simplistic. It is made just for the sake of making it easy to understand. Software project cost estimation is complex and more difficult.
The work is not complete even after the software is made and delivered to the client. The real tricky part comes now. You will have to sign an Annual Maintenance Contract (AMC) with the developer (IT firm) so that you get continued support as well as access to future upgrades. Without AMC, your process automation project will not succeed. In addition, you may have to incorporate new features into the software later. The vendor will charge additional cost for making such changes as that would not be covered under the AMC.
I say that a software system is like a big machine. Without the maintenance support from skilled professionals, your machine will breakdown. When it break downs, if they are not fixed in time, users will lose faith and abandon the system. It is the very reason why some software projects in the Government agencies have failed in the past.
2.3 If software is so costly, how about the free software?
There is no free lunch, as the saying goes. You may have seen that some free apps that you download on your phone contain annoying pop-up ads. In addition, they may collect important user data that they can sell. So, you are paying them through these ads and providing your data. You get to use Google (e.g gmail, Youtube etc.) and Facebook for free because they make money through the ads. Without users, there would be no ads. This is the business model that sustains them.
Some software that you may be using for free may be pirated software. And some mobile apps and software that are truly free may be supported and paid for by NGOs, Governments or Open Source Communities. Otherwise, nothing that requires time and professional effort to create can come to you truly free. Simple as that.
3. Typical costs of mobile app and website development
3.1 Typical costs and factors determining them
Cost of website development and mobile apps can vary a lot depending on the functionality and features. Even for the same functionality and features, the quote from different IT firms and developers can vary.
A simple website with the features to display your company information as well as post announcements and blog posts may start from around Nu. 15,000. With additional features and custom development, it can go anywhere up to Nu. 100,000 or more. For those websites with embedded web applications and back-end processing, the price can go up to Nu. 1 Million to 2 Million as well.
The cost of mobile app can also range very widely depending on the functionality and features and integration with other systems. The simplest and cheapest mobile app would be one with just the ability to display information and no user interaction or simple user interaction limited to survey like functionalities. I think freelancers could develop such simple apps for around Nu. 20,000 to Nu 30,000, but more advanced apps with richer functionalities and integration with other systems could cost anywhere from Nu. 100,000 to Nu. 10 Million or Nu. 20 Million. For instance, BOB’s mobile payment app MBOB could have easily cost the bank more than Nu. 10 million. On top of that, the bank must be paying recurring costs in the form of Annual Maintenance Contracts.
3.2 Freelancers versus established firms
Freelancers and small IT firms have much lower overhead costs as compared to established companies. Therefore, I would recommend that you engage them for small works such as simple website development or simple app development. On the flip side, it is uncertain how long they would remain in the market to provide continued support and upgrades. Therefore, it would be unwise to depend on them for bigger IT projects which would need continued maintenance support.
4. How to choose your software development partner
For the same project, the cost quoted by different IT firms can differ a lot. The cost alone should not be the main determining factor in choosing your vendor. It should be based on their overall experience, the proposed technical solution and your judgement on their abilities to deliver.