My personal views on why going doing the route of custom features for your Enterprise software product can end up killing your product. And some important tips to prevent it.
Imagine you’re building the next Ferrari. What do you think would happen if you change the number of cylinders in the engine because one customer wants less of them? Or bigger side view mirrors for better safety for another customer? Or near silent exhaust pipes for a different customer? Of course anyone can see that this would result in a car that is not even close to worthy to carry the Ferrari name and it would be a huge failure. If this is so clear, then how can it be that this problem is disturbingly common in (B2B) software products? Well, strange as it may sound, customers are great at killing products and it is up to you to stop them!
Your First Car
Most great products were conceived to solve a problem in the market that the people responsible for the product felt was not being (in their minds) addressed yet. This makes perfect sense because one of the key things to enable product success is to solve a problem in the market that nobody has solved yet, or even better, that nobody knows exists yet. This wisdom is not new because as far back as the beginning of the 20th century Henry Ford made a great point: “If I had asked people what they wanted, they would have said faster horses.”
So it should be no surprise that the first iterations of these products are effectively a 3D printout of the brainchild of the people behind this great idea. So what could possibly go wrong you say?
Reality and Checks
This is what happens all too often: pretty soon after the product is finished, the first customer is landed. Champagne (or Cava since we are in startup mode) for everyone! Success continues as several more customers are added. After a while it becomes clear that from the modest list of customers, there is one customer that stands out because they are the largest (meaning they represent a big portion of the company income) or because they are the most well-known brand of all the customers. This customer is a raving fan of your product but he just needs this one thing added to make it even better –usually yesterday. You really had not planned on doing this but since you don’t want to disappoint, or even worse, lose (gasp) this customer so you decide to create the feature to customer asked for.
Another common scenario is that your product is doing well and all of a sudden Sales informs you that the company has an massive opportunity with Gigant Inc where the there is a huge check waiting for you – just one feature is missing that would ink the deal …
House of Cards
Fast forward 5 years and your dear product is a mess, expensive to maintain, impossible to navigate and difficult to configure. What happened? There was such a brilliant and clear vision for your product. What happened is that the customer killed the product. More specifically, YOU let the customer kill the product. Adding one feature for one important customer, is it really that bad? Yes it is – because I will guarantee you, once you go down that path, it will not be a one-time occurrence. It will happen again and again and again… Here are some examples of the fallout. First of all, when you start going down the rat hole of building features for one customer you effectively are alienating other customers from your product but even worse you are alienating yourself from your own product. This will never end well. A common mistake is that, because you may not immediately notice any negative effect on your product when you implement a custom feature for a customer for the first time, you’ll assume that there really is no harm done. You might not even notice the 10th time but the damage will already have been done and is effectively irreversible.
You’ll come to find out that your product becomes a House of Cards: it becomes hard to support because over time the product will become an illogical collection of features. This illogical collection of features often has a different look and feel, is at different stages of maturity and sometimes even uses different coding languages – often the result of features being built under customer time pressure. As a result your product also often becomes hard to configure for new customers and hard to market because it becomes kind of a Jack of all trades but a master of none – exactly what you wanted to prevent when you first had your great idea. Another big problem that is the result of building features for specific customers is that your roadmap effectively out the window. After all, if every release you find yourself adding something in for a specific customer your roadmap will be as much a surprise to you as it is to your customers – obviously a fatality for your product.
How to not let customers kill your product
How did this happen? Isn’t the goal of every company to listen to customers and to have happy customers? Let’s review some important tips to prevent this from happening.
Learn from the girl I didn’t date
When I was younger I had a crush on a very beautiful girl. After a while I had the nerve to talk to her. I remember that it felt great talking to her and I got the feeling that she liked me and really listened to me – I started thinking of the names of our kids as we spoke. Of course I never spoke to her again. Ironically this shattering experience helped me to deal with customers – I treat them very much like she did me. You should always listen to customers – heck, talk to as many of them as possible. Listen to your customers, give them the feeling that they are being heard but don’t let them tell you what to do and never make any promises. The important thing to remember is that it is your job to collect all of that information and combine it with all the information you collect to decide how to evolve your product to benefit ALL your current customers AND your future customers. If you see no other way out and you have to / are being made to satisfy some specific customer demands then carve out a dedicated piece of your development resources for customer specific features. Make sure that you already had planned to do these features and make sure they add value to all of your customers AND prospects – it is important to select the right features. Remember the wise words from Abraham Lincoln:
Be tougher than Chuck Norris
This is easier said than done because it is said that a smart bulletproof vest wears Chuck Norris for protection but it is important to hold on to your vision for your product and stick with it. Yes, that means saying no to that big bag of cash that the prospective customer is dangling in front of you. Yes, that also means saying goodbye to your largest customer if they force you.
This is why it is important to have the power to say no. If you are in a startup, make sure you are properly funded so you have the financial buffer(s) to say no to certain customers, no matter how financially attractive it would be to build custom features for them. If you are in a larger company make sure you get executive support and signoff for your plan to stick to the (well-articulated) vision for your product. Also Without this support you’ll be overruled and you’re effectively being forced to co-construct the guillotine for your dear product. Make sure that you watch out for ‘Product-Stockholm syndrome’: where companies are such big fans of a certain customer that they think that the feature request of that customer are representative of all customers – this is a common condition that I’ve seen at multiple companies.
Becoming Steve Jobs
Even if you are in the position to say no to customers I’ve seen it happen that products still become a weird collection of features that don’t resemble the original vision for the product. The most important thing in this case is to remain focused on your vision.
Hopefully I’ve been able to convince you that building custom features for customers is not the best idea for your product. It may seem like a great idea in the beginning but that is a textbook example of short-term thinking that will wreak havoc on your ability to really make your product a success. I know from experience that it is not going to be easy but it is so essential to stick to your vision for your product, especially in the beginning – it will pay you back 1000 fold if you do and it will destroy the future of your product if you don’t. Think of it as an investment – after all, what’s more important than investing in the success of your own product – in yourself?