Tuesday, January 23, 2007

The 80:20 Software Product Development Lifecycle

The argument about off-the-shelf software products versus customized software has been ongoing for quite some time. As the industry matures, a mid-path has been achieved by ready made software manufacturers. This concept is the 80:20 software product development process which captures the benefits of off-the-shelf as well as customized software products.

Software architects have come up with the option where most of the common modules of the software is developed and a part of it is left to be customized later on. Thus eighty percent of the software is actually ready and twenty percent of customization allows the customer to get highly flexible software for a fraction of the cost of fully customized software. Benefit analysis shows that it is definitely better to pick up this software development concept rather than go for development from scratch as it helps save time and money and boosts the bottom-line of the business.

The cost of development of up to eighty (or thereabouts) percent of the software is divided over a number of customers and this makes the product very affordable when compared with 100% customized software.

So is there a downside of the 80:20 software product development lifecycle? It depends. The 80:20 software development process requires good management skills from the customer as well as the vendor end to ensure that the benefits really accrue to the customer. The vendor of the software should be able to demonstrate the software correctly to the customer and show him which sections can be customized. Similarly the customer should be able to spec out the customization sheet accurately for the vendor to get the software as per his or her requirement.

This process has a good level of success with large software manufacturers as they have started developing many applications which can be purchased by customers and then customized for them by third party suppliers. Most database software companies operate with this business model. Not only can the software manufacturer concentrate on developing good base software, third party software development companies can build competencies in customizing it.

Customization in 80:20 software products is usually done on the user interface, the navigation system and also within the database tables. Additional modules can also be added depending on the requirements of the customer. Costs of modifications are usually governed by the time that the vendor would require to do the work. Sometimes the vendor can also give a flat fee for various modules and the customer is free to choose which modules are required by their business.

However, 80:20 software development processes are not the only way to go. Many organizations with special needs will continue to work with customized software and organizations with limited budgets will work with off-the-shelf software products. Requirements and budget will remain the key reasons which will govern the choice and each option is liable to have its pros and cons.