Bloat or Evolution?


There has been a lot of discussion over software bloat over the years (the latest entry at: http://www.codinghorror.com/blog/archives/000973.html)  The question is not whether it is bloated or not, it is.  The question is, how did it get that way?

 

The biggest reason software gets bigger over the years is because companies keep adding features (duh!).  Yet, people condemning "bloat" in all forms seem to think that companies and marketing departments exist in a vacuum and just pull new features out of the amazingly thin air of said vacuum.  The truth is that most of these features are requested by end-users and they are adding in order to keep the customer base happy.  A pretty important point in a market economy.

 

Once software is released in the wild, it tends to take on a life that the original developers never dreamed of.  People come up with all sorts of creative ways to use it and, naturally, hit limitations that they think should be removed.  With each broadening of the software's focus comes the infinite loop of new uses followed by further broadening.  Over time, you get products like Word and Excel which do pretty much everything but make mounds and mounds of Julienne french fries. 

 

Not all products should have all features and the business should exercise restraint on many of the features that are added.  You might want to add that as a standard question in your feature review: Should WordSheetViewer Deluxe Pro XXL be able to broast chicken while still fitting into a pocket and alleviating lower back pain?

 

It's hard to say "No" to a paying customer but perhaps the business should look on those situations as opportunities.  Each of those requests is a customer telling you that they have a need, and that your product is very close to filling it.  They are also telling you that you have achieved a modicum of trust in the relationship as well, otherwise they wouldn't talk to you at all.  What is the feasibility of some of those requests being rolled up into stand-alone products?  Even niche products have a market.  The benefit here is that development time would likely be small since you already have a substantial amount of the code written.  Support costs would also be reduced because the new product is based on a (hopefully) proven code base.

 

 

Where do we go from here?

I think that the add-in model is the way to go but instead of installing everything but the kitchen sink as part of the base product, include only the barest minimum as the core.  Then make all of the other features available as free or easily accessible add-ins.  That way, people who only use 50% of the functionality will only need to install 50% of the features.

 

Most importantly, make the API for your App and Add-ins detailed and readily available so that third parties can easily extend the product.  You might just gain a loyal following from people who would have been your competition's testimonials.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s