I often give this example to new teams transitioning to Agile development. Taking "Microsoft Word" as an example, I ask the team if I consolidate overall functionality in Microsoft Word to 100 features what percentage of features do you think you use on daily basis? The poll within the team normally reveals 25 to 30 features. So, for all intense and purposes Microsoft could have released "Microsoft Word" to production with 30% of the functionality and satisfied the mass customers - thus delivering features based business value.
If Microsoft used the traditional waterfall (which they mostly did) or Spiral approach of generating all requirements upfront, designing, coding, testing, etc they would spent years working on the project before making the first release. In the Agile approach, keep delivering features in a time-boxed interval that the customers value most and once product is deemed feature-rich, release the same for general consumption.
There are several advantages of delivering features based on business value.
- To meet one of the 12 Agile principles from the Agile Manifesto, "Simplify: maximizing the amount of work NOT done".
- To work only on features that adds most business value to the customers.
- To collect quick feedback from the customers to ensure functionality delivered to the customers meets their requirements to satisfaction.
- To release product with fewer or no defects to the customer as only minimum features with highest business value to the customer is coded and shipped to the customer.
- To beat the competition by getting to market first.