Evolving technology necessitates the need for superior solutions, enhanced products, and improved features. Product companies need to keep pace with such dynamic changes offering new enhancements and features within a short time-frame to sustain their position in competitive markets and retain their customers. Another challenge faced by these companies is to manage product upgradation and maintenance at later stages of a product life cycle which is cumbersome due to multiple product versions.