CMMI is all about how businesses processes can be improved and there are ways to implement these. There are so many ways out there but there are two common ones that are used. The most common way of implementation is what we call the "blunt-object approach". This is probably the most common way of implementing CMMI. The operative word here is blunt, meaning the models are implemented by the organization’s team of developers. The process itself is brute and frightening, because sometimes the subjects are treated with cruel or unusual process punishments.
To put the "blunt-object approach" in a nutshell, it is not very concerned with inter-process relationships but rather the very specific or general processes involved. This may post a huge problem especially for companies that can not afford "specialists". But unfortunately, it is also the most prevalent type of implementation. For huge organizations that can afford specialists though, this can be a good advantage if it is implemented correctly.
The other common way of CMMI implementation is the "reality based approach". This approach operates on the initial assumption that the organization has already an existing business processes and its aim is to further improve this processes. The activities therefore is not "designed from scratch" but rather the process is "designed into" the existing business process. Think of a working computer that is only being upgraded. This is how the principle of "reality based approach" works.
Both ways of implementations has their own pros and cons. So every company must assess which one best works for the organization’s needs.