They had a good idea, but they applied "old world" thinking to it.
The single biggest issue with software development, is that it is incredibly dynamic.
Static solutions don't work, and CMMI is a very static solution. Sadly, a lot of quality practices are static.
Dynamic solutions are really difficult to get right, and tend to depend on a lot of hard-to-quantify variables, like the experience and talents of individuals on a team.
For example, I am quite good at designing fairly complex systems, as long as I am doing it alone. I can hold some fairly ambitious designs in my head; which allows me a great deal of flexibility. I can start with a fairly "fuzzy" architectural model (I call it my "napkin sketch"), and begin a project fairly quickly. As the project progresses, I can apply some massive structural changes, and pivot fairly easily.
However, the minute I need to communicate this plan, the whole shooting match comes to a screeching halt.
Team overhead is a really big deal, and I believe it is seldom factored into our plans, in any kind of realistic manner.