The question,simplified, seems to be, "If you perform only the specific practices in MA via performing the checklist of tasks, will the MA requirements be met? Why/Why not?"
Well, the short answeris no. Why? From what I remember about CMMI it's not simply enough to go through a list of specific practices and participate in the activities; you have to actually meet the goals and every process area is connected to generic goals and practices as well as specific goals and practices.
But the real question is: Who cares? CMMI is the bane of my academic and professional existence.There is no concept in the programming and project management world that has caused me more anguish. It's a disgusting waste of time and energy and has absolutely no logical use outside of the small handful of government-related entities and large corporations who are using it and have been for a very long time. It's a product of military thinking and it's honestly just the worst type of bureaucratic trash I've ever had the displeasure of studying. Any framework, process, practice or paradigm that requires a 600 page manual to vaguely (and poorly) explain is useless drivel. I am a staunch supporter of Agile methodology and thanks to our group project I've really started to like what I'm reading about Lean as well.
Software engineering, in my view, works best on a very small and modular level. When we start introducing enterprise management architectures that are focused on the holistic view of the business as a whole, it threatens to rob programming and architectural design of the artistic values that make them worth pursuing. Software development's appeal for me is its ability to work in a hive setting; every project can be compartmentalized into small projects that connect with each other to form a larger entity (which can be extended infinitely).
A software team should be guided by a paradigm that is simple, procedural and scalable. Don't get me wrong, CMMI has all the right ideas. Where it fails miserably is by defining them ad nauseam and creating a sub-process wherein learning and following the various activities described in CMMI is, in itself, a huge investment of time and energy. Imagine this analogy:
You have a huge collection of photographs from years worth of vacations and you have finally digitized every file and have them stored on your computer. Being images with no meta data, you find that it's a bit difficult to pinpoint a specific group of images to show to your friends or print, etc. To make things easier you decide to organize the images into folders. What's the best way to go about this? The images span 10 years from 2007 to 2017 so perhaps you could create 10 folders (1 for each year) and then create 12 folders in each of those for the 12 months of each year. You'd end up with 120 folders, 2 levels deep.It might be a lot easier to find images from a particular year and month.
That helps if you're looking by date but that metric may be less important to you; it might make even more sense to organize your pictures by what is actually in them. You could create folders for outdoor/indoor images, portrait/landscape images, images of people, images of scenery, images that are most one color ...there are limitless ways you can categorize the images. After a few hours of sorting and analysis you may find that your 120 folders have expended to a few thousand folders, a few hundred levels deep. Now, even though your images are meticulously categorized by year, month, orientation, size, content, color and several otherfactors, you've actually created more work for yourself because each picture is too compartmentalized to be easily found. All the pictures from one short trip may resides in 30 different folders not connected to each other.
This is what CMMI is to me. Good concepts are broken down into pieces too small and too defined for their own good. Rather than having a generic process that implies many of the necessary practices to succeed, CMMI attempts to micro-manage itself into utter uselessness. The learning curve alone means that CMMI is very much a "Members Only" club where anyone not already familiar with it is basically a bad investment from the company's perspective. Training new individuals is a huge cost that many companies under estimate; not only are fresh employees less productive but the experienced employees that train and guide them become less productive until the fresh employees are fully competent.
So the question, for me, is a bit of an insult because my sincerest answer is simply,"Who cares? Why are we talking about CMMI? I'll flip burgers before I go back to working for a contractor that has to deal with that mess, I did my time with the Department of Defense and I'm not planning on going back."
郑乔尹 最后编辑, 2020-09-15 18:17:12