Would you kindly let me know the difference between the development of software and firmware and what CMMI practices are useful for firmware development? Is there a need to have Configuration plan for firmware development projects to control the code version?
Though the location of where the software or firmware resides is different as well as the code, there is no difference in the development practices and activities that occur. The CMMI for Development (CMMI-DEV) applies equally well to any type of product development. All projects have requirements, the work needs to be planned and managed, the work products and deliverables need to be managed, designs have to be developed, etc. The specifics in the processes most likely will vary from hardware development to software development to firmware development, but all of the Process Areas (Engineering, Support, Project Management, and Process Management) apply.