CMM levels
Image borrowed from a very interesting article on http://www.sei.cmu.edu/cmm-p/p-cmm.sum.html

Go there for a full-size image and a good read.
Buying software has always been complicated for non-technical people.

Do the developers understand us correctly? Are we getting what we need? Are we buying a complete solution? Are we buying too much?

And just when buyers felt they were on solid ground with detailed and explicit requirements up front, the software industry catches them off guard with agile development that discards explicit requirements.

Agile development goes by the mantra that since we cannot predict the future, there is no point in wasting energy on trying to build future-proof solutions; they will never hit the target properly.
In general it is a good mantra - few people know exactly what they want until the development process has produced some prototypes that can be tweaked. However, it increases the demands on the buying organisation, who can no longer hand over requirements and sit back and wait until it is ready; they need to be actively involved in all steps in the development.