It has been awhile since my last post as I have been busy with a number of board meetings. It is so hard to find time. Anyway, one thought I wanted to share with you is a discussion we had in one of the meetings about the balance between closing large deals and adding new features.
More often than not, you will hear a sales person complain about their product and tell corporate that if they had these 5 features, they could sell more. Since sales people look for the path of least resistance, they typically go back to marketing and development to ask for the fixes and changes to close a new customer. Many times, management, in pursuit of meeting their numbers, will oblige and make the requisite changes to land a new customer. If you fast forward into the future and continue this behavior, you will end up with a company that has a number of customers but also a support nightmare-too many different versions of a product which makes it difficult to maintain and support from a development and customer service perspective. In addition, you end up constantly delaying the next release of your product as precious resources get sucked away. You also have lots of features that the market does not want. Finally, the profitability for each customer goes down significantly as you add new features just to close deals.
In the long run, having too many of the wrong customers can kill your business. The more experienced and disciplined team will not build a new feature for every customer but rather have a seasoned and proactive product management process for gathering data from the field and prioritizing feature requests based on market and customer need. In some cases, it may make sense to give a feature request higher priority as a number of prospects and customers have asked for it. In other cases, you will have to make a decision of whether or not to build a one-off feature to close a deal or lose it to a competitor. While every situation is unique, in general, you have to be extremely careful of going down the slippery slope of customized versions of your product for every customer as the one-off requests will suck up your resources. It is easier said than done, but the simple rule is don’t add features if the market does not need it.
In the end, I never like my portfolio companies to end up in feature/function wars. That is a losing proposition. Rather it is important to take a step back sometimes to see if you can change the playing field on your competition by positioning yourself differently. This includes understanding the customer and market, pitching a longer term vision and product roadmap that maps to the customer and market needs beyond today’s purchase, and then making them feel that tactically you have enough of what it takes to solve their problem in the short term. If done right, you can help the customer understand why one missing feature today may not be so critical since your company is the only one that can meet their needs in the longer term.
I totally agree with your vision and comments.
Things get worse when the sales person is the sales person of your customer rather than of your company.
I mean, your company sells a product that enables your customer to get customers. So, their sales staff is added to your sales department. The needed feature will be done, no doubt about that because the cash that you want for that feature is there.
How you can convince your shareholders that your decisions forced your company to lose sales in order to have a nice and pure product?
In some way, i experiencied that it cannot be avoided with some big customers (worse when you only have big customers), because you cannot drive your market unless you are a dominant player.
So we were forced to become more “abstract”, as Norm said, in order to do not lose the needed flexibility. The result of this always ends up in a “general purpose” engine, as “configurable” as can be possible, and the rest by code.
But this process is not entirely controlled by us, because we don’t have control of the underlying technology. If it changes, we will be forced to change also. J2EE is an example.
The triangle made by architecture, functionality and technology is entirely dynamic, and you cannot fix it for a long period of time, just because you don’t have control of at least one of these variables.
Your shareholders are not interested in this triangle and, in general, neither your board. If you find somebody that understands it, just try to force him to take a decision and assume the consequences. I would like to know the results.
Bad customers need to go. That’s it. I mean I would only change my product if at least 90% of my customers wanted the same new features in my service or product.
And I would only focus on the 90% of my 20% best customers (those who pay on time, order the most and those who are nice to my company).
If customers don’t like my service or what I am offering, then there is others that certainly can give them what they seek. Big or small customers, if they whine they go, that’s it. I believe in democratic processes, and if the majority of my best customers says no, that is the way it will be conducted.
Running a company is like runnig a family. The customers are your children. Always complaining about everything. As a company you are the father. If you are not strong you will be like Al Bundy in the series “Married…with Children”, broke as hell. And very unhappy.