Be Deliberate
Steven Sinofsky published a fantastic tweetstorm this morning. Nominally it was about Twitter's new - um - tweetstorm thread feature, but really it's about a classic product development problem: how to add more functionality without adding disproportionate complexity.
This is an extremely familiar feeling. So often what we're working on is a mature product that is meeting its core goal, or as Sinofsky (and every other Silicon Valley VC) puts it: you've got Product-Market fit.
When you're trying to get Product-Market fit, you're constantly iterating on your product, adding new features, adapting the design, changing your marketing strategy. It's a desperate race to find your market before your product or project dies or is cancelled.
And that's the thing with Product-Market fit: you often don't know you've found it until much later. This makes is extremely difficult to know when you can (and should) stop iterating, adding, adapting, changing. Even if you do know you've found it, the instinct to keep moving gets into your bones and can be hard to shake.
What all of this often means is that Product Managers in charge of mature products can often find themselves doing everything right, and yet still doing everything wrong. They are out listening to customers, designing well researched features that move the metrics in the right direction and that their customers like. It feels good.
The cumulative effect of all of these new well researched and designed features - added after you've found Product-Market fit - is that it will make your product ultimately too complicated. There is no disputing this: you can't keep adding new features without experiencing some trade-off in complexity.
So once you realise you're in this position, what can you do? I honestly don't know. The most obvious answer might be to start removing the 'bloat' features, but by that point it is likely too late: You will be told "oh no you can't remove that! Customers X, Y, & Z signed long contracts off the back of that functionality."
So maybe once you're into feature bloat, you can't reverse it. But how do you avoid it in the first place? One option might be to just do nothing, but this is extremely difficult and in any case not realistic. As Sinofsky says, when you stop moving you become a static target for your competitors.
Instead you need to be deliberate. Keep moving, but deliberately. Don't stop adding the new, but add less of it. Be sure about what you're adding.
Be deliberate.