Software Product Engineering is a systematic end-to-end process which involves stages beginning from the nascent Research & Development, through the stages of Software development lifecycle including Requirement gathering, Designing and Building the product, QA and Testing, Implementation, till Support and Maintenance of the product to ensure that the final product is reliable, efficient and cost-effective.