Approach #1: Offer many solutions. Get a mile wide but an inch deep. Provide tons of features that may (or may not) work, look forward to adding more.
Approach #2: Offer ONE solution. Get an inch wide but a mile deep. Provide only a few features that will always work, look forward to making those features better. Feel the fear but eliminate a feature that doesn’t work well.
The problem most product development organizations run into is that they trick them. Even if they think approach #2 is right for them, fear of losing a client by not offering certain features lets them enter the realm of mediocrity.
Or if they think that approach #1 is correct for them, they are touched by a recent lean software development conference they attended last week and want to eliminate the waste by trying lean techniques.
Lean Software Development is less about the right techniques and more about having the right mindset.
Building a product using approach #2 sounds cool but requires a fundamental change in thinking – now that’s a cost, choose Lean Software Development only if you are ready to pay that cost.
Winning a tough battle requires sacrifices, so does building a great software product.