In IT organizations, involved with Software Development and Support, most of the projects are of maintenance or support type, where they provide corrective maintenance or enhancements. They have CMMI Processes that can be followed in normal SDLC Projects. They also have steps or process that can be followed in maintenance/support projects for handling defects/issues and enhancements.
Now comes the confusion regarding the implementation of processes in these kinds of projects. They have doubt over how much processes do they implement in these projects for small to large maintenance or enhancements? Do they follow all Processes in these kinds of projects or do not follow any process at all?
As far as CMMI is concerned, it is not a process or standard that needs to be followed in all projects irrespective of their size rather it acts a guideline, derived from best practices, for processes in an organization. So processes that will be followed in projects are developed using CMMI as guidelines.
An organization can tweak the processes to be implemented like for e.g. in a normal length of project all the activities are performed in detail and in short or maintenance kind of project these activities can be performed in a bare minimum format.
Let us take an example of Requirement Analysis, for Requirement Gathering in a normal length of project a detailed SRS (Software Requirements Specification) document is prepared. While in maintenance or short project this can be just a list of features, or a Change Request Form listing all requirements.
If we look technically at maintenance projects then we can see that there are also all phases present in maintenance or small projects. They have Requirements Analysis, Design, Coding and Some Testing and Delivery. But the force of implementation is minimum in these projects. We follow all processes but with small footprints. So we are not skipping something but tweaking it to suit our needs.