Feature Debt

From AgileMe
Jump to navigation Jump to search


Feature debt is a similar problem as Technical Debt, in that, the more features are added then there are compromises to the customer experience. With each new feature added to the product, then the user experience is changed.

If these new features are done with little thought or care to the overall user journey and experience, then a mish mash of odd features stuck together maybe the end result, alienating customers from your product who can become confused with the feature set.

These situations usually arise when time to market is the main driver and there is a need to get more features out quickly, giving little time to contemplate their impact on the overall product and the customer.

Serving multiple user segments can also compromise the overall experience as features for one segment are seen as superfluous to another segment and not used, leading to cluttered user interfaces as a means to try to cater for competing demands from different groups.

As with technical debt, here are some strategies that may help to pay off the Feature Debt:

  • Refactoring and curating the overall user experience on a continual basis may help to smooth out the impact of new features
  • Feature Roadmaps with clear indication of future features and the evolving intent of the user experience that both satisfy the customer needs and also provide utility
  • Understanding how customers will use new features and why they are needed in the experience, may help to filter appropriate features from superfluous ones
  • Feature Culling to remove old or redundant features from the experience to highlight and emphasise the features that are remaining. (This is not an easy approach to take, but in order to add something new we are going to have to give up something old.)

Prototyping To Learn vs. Long Term User Experience Evolution

As with Technical Debt, a short term vs. long term approach can be considered, in that, if the product is a short lived throw away prototype where the emphasis is to learn, then trading out old features for new ones may be quite easy within the context of experimenting with the user experience.

For longer term products, then the overall user experience may take some very careful curation and evolution with each new feature really having to earn its place in the product.

See Also