Early on in our business we made many mistakes and one of the biggest was becoming a “Yes Man” to our clients.
Let me explain.
Our core products are email marketing and social media software designed to help attract and filter prospects for our clients.
When we first released the software our clients loved it and started requesting features that would tailor the software more closely to their own business processes and systems.
Feeling the excitement of actually building something that people wanted and were willing to pay we obliged. Our developers spent many hours adding in features that our clients wanted. However, overtime it dawned on us that many of the features we were adding could only be used by the requesting client. If the client ended the contract we were left with redundant code that still needed to be maintained as the cost of removing the code, which is cost to us, was too much.
We had built our own “Frankenstein”.
We now do not add features to our core product line unless there is a sizeable amount of clients asking for the same thing.
If a client does want a feature that we know no one else will use we have a sub-product line that allows us to quickly build a platform that uses our core systems but supports the clients detailed requirements. The platform that we build is “throw-away”, in that, if the client does not use it anymore the cost of development has been covered fully by the client so there is no risk to us.
So the moral of the story is to kept your core products and services generic enough that they attract the clients you want. If they “out grow” your product or want something more then think how you can meet their needs without making a “frankenstein”.