Some food for thought. A few years ago I bid on a web development job. This company wanted me to rewrite a web application so it worked with any database software. Not super hard but time consuming with skills to backup knowing the differences between the databases. Unfortunately, I bid myself out of the job and the company didn’t end up going through with the project. The company thought the job would take 1 month if that. But when I bid the project I came in at 6 months worth of work because the company missed some very important elements. The only reason this company was having me rewrite the web application was so a client could run it on their new internal network. In the end it was decided it wasn’t worth it. To make up the cost of making the changes, testing, training, documentation, etc it vastly outweighed the profit gained. Even if the client became a life time client, upgraded on every new release the company wouldn’t make back their money on this client for something like 10 yrs.
On the other hand, the company would now have a web application that would work on multiple server platforms. That would open them up to even more potential clients. The draw back would be increased development time, testing, training, documentation which all costs money and resources. It is a tricky slope that a lot of businesses fall down. The more they offer the more they have to do. But where do you draw the line?
Sometimes the line is drawn for you because of lack of resources, time, and money. Other times the line isn’t that clear. Then what? It is time to make a Pros/Cons list. What do you stand to gain, what do you stand to lose, and are there any alternatives?
For this company there was an alternative, they had access to database software for a very reasonable price that even giving their client the database software they would still turn a profit. No application changes needed to be done.
So the next time you go to add a service, feature, product, etc to your business because of a client take a moment to think about the impact. You might find it might not be worth it.