By Rajeev Bhatia, ITDirections Senior Consultant
The Pareto Principle
As a Developer, Architect, Technology Leader, and Agile Coach, I see companies spend too many resources building something that either fails to become reality or the solution is not fully embraced by their customers. However, the end product may have many complex features and functions. What companies fail to realize is that approximately 80% of the customers will use 20% of the total features and functionality, similar to the Pareto Principle.
Why don’t companies understand this concept and change their development process? I feel the explanation lies with the fact that many companies do not understand the Agile fail-fast approach and the concept of getting customer input early in the process. Let me provide an example.
One of my Clients wanted to build an iOS application that had all the features for their customers to view account information and order supplies. When we started to plan the effort, we realized that the entire application would take nine months to develop with all the desired features and functions. This Client was interested in working on this application for nine months before delivering anything to their customers. The Client thought that this is what their customers wanted without doing research or asking the customers. I was not convinced, that after nine months, this application as designed would be of much value to customers. The total cost to develop the application was $600,000 because of complex integration needed with the back-end ERP system.
Since there was an inherent risk of adoption, as well as a large investment required, the team decided to invest $60,000 (around 10% of the total cost) to build the basic application that would provide customers with the most important feature, which was to view their account information including how much they owed. We would release this functionality to the group of pilot customers, which was about 10% of the total customer base.
We did exactly that. The pilot customers loved the basic application without additional features and functions. Customers found our application to be useful, but wanted additional basic features to buy supplies, pay invoices and chat with customer service. We added functionality gradually and released the complete version in nine months. The customers were elated!
So in this scenario, building 10% functionality with 10% funding was much better than waiting nine months to build 90% and spend 90%, which may not have been what customers desired.
What do you think of this incremental approach? Have you used similar approach? Did it work?
About Rajeev Bhatia…
Rajeev is a senior technologist with over 20 years of development, technical architecture, IT strategy and implementation experience. He has held various technical and leadership roles to manage and implement internal and e-commerce projects for leading companies in US and France. He has been a pioneer, creator and manager of enterprise standards to streamline all aspects of the Systems Development Life Cycle, and provides Agile instruction and coaching.