Anjit was excited. He had finally convinced his father to take their family business online. There was plenty for him to do now. But first and foremost, he wanted to have solid ERP software to manage his business. So, he went through a number of service providers online.
After an extensive search, he narrowed down one web development company which offered to create a custom ERP for dirt cheap price. He thought – “This is a great deal. They may not do maintenance for free. But how much would that cost.” He went ahead and got their service.
After a year
Anjit’s online business was picking up well. There were minor glitches with the ERP though. At times, it became impossible to modify even product details. Every time he approached the software guys to get a bug fixed, he was charged a decent amount.
He calculated the overall expense incurred to him for software maintenance. To his surprise, it amounted to around three times the software’s original cost.
Finally, it came to a point where he had to ask for an upgrade. The response he got left him even more dejected. He was told – “Sorry, Mr.Anjit. Your software architecture has its limitations. We can either provide you with minor maintenance or you will have to get a new package. Its architecture is now outdated.”
What went wrong for Anjit here?
In our day to day life, we buy a lot of stuff – gadgets, stationeries, utensils, clothes, etc. In all these cases, we pay almost 70-80 percent of the total cost to buy the product. So, we tend to think that once we buy a product, the maintenance cost is going to be minimal.
It should be true in the case of software too. But, 60-70% percent of the total cost goes for maintenance.
In a bid to look for budget solutions, people like Anjit tend not to think about the quality. They do not think about long-term implications. Or, they do and ignore it because of the affordability.
The main reasons for exorbitant maintenance costs are
Poor Software Architecture
If the software you buy has a poor architecture which will not be able to support future updates and technology, high maintenance would be a given.
By nature, software is always evolving. If you use a smartphone, you know that new features are being added to the phone as well as applications by means of updates. The same applies to all types of software. Your software should be equipped to support such features. At least till the foreseeable future.
Lack of Proper Testing
Developing is not an easy job. It requires high level of skills and concentration. Under such circumstances, software bugs and glitches are unavoidable. The only way to deal with it is proper software testing. Unfortunately, a lot of people skip on testing because they want to launch their product as soon as possible.
With proper testing, software becomes highly polished, making it user friendly. Another benefit is minimal maintenance cost. There might be one or two rogue bugs even after thorough testing. But proper testing ensures the maintenance required for your software is far and few. This reduces the cost drastically.
So, relatively affordable software with minimal upfront cost
Expensive, properly tested software with good architecture and minimal maintenance – which would you choose? Let us know in the comment section.