Ans: a) Software maintenance is a broad activity that includes error correction, enhancement of capabilities, deletion of obsolete capabilities and optimization. b) Key process areas of CMM are 1. Requirements management which establishes a common relationship between the customer and developer 2. Software project planning where reasonable plans for managing the software project are established 3. Software project tracing and oversight which establishes adequate visibility into actual progress to help management track deviations from plans 4. Software subcontract management for selecting efficient subcontractors and managing them 5. Software quality assurance which provides visibility into the software process and product 6. Software configuration management which establishes and maintains the integrity of the products throughout the life cycle.