Playing Grown-Up: The Rails Maturity Model

When I first heard about the RMM I thought it was a joke. Then I thought it was a terrible idea. Then Obie assured us all that it wasn’t about certification, and I thought about it for a while, and decided that it was still a terrible idea. Here’s why.

Let’s start by taking the RMM’s namesake, CMM[I], seriously. Taking CMM[I] seriously is also a terrible idea, but indulge me for the sake of exposition.

I was once tangentially involved in the effort to bring a large organization to CMMI level 3. In the process I became more familiar with Maturity Models than ever wanted to be. The first thing you learn about CMM[I] is that it’s not about specific practices. You will never see “waterfall development” or “cubicle officing” specified in CMM[I] literature. The creators of CMM[I] went to great lengths to keep it free of practice recommendations.

CMM[I] is a process meta-model: it’s a process about processes. The core idea of CMM[I] is that of learning from experience and incorporating that knowledge back into your processes – whatever they may be. The essence of the coveted CMMI Level 5 certification is simply this: An organization which continuously improves itself by gauging the effectiveness of processes and adjusting them accordingly.

So if the RMM seeks to impress the kind of novelty-wary big corporate customers who put stock in things like CMM[I] and 6Sigma, it has failed right off the bat. Anyone who knows anything about CMM[I] will take one look at RMM and laugh at those silly Rails kids who think maturity equates to using certain processes. “Go back to your sandbox” they’ll say. “Come back when you’re older”.

Now let’s stop talking about CMM[I] the lofty ideal, and start talking about CMM[I] the cynical reality. The real purpose of CMM[I] is to guarantee a reliable income for Carnegie Mellon, and to solidify the position of large established corporations. The amount paperwork and expense involved in getting CMM[I] certified is difficult to convey to anyone who hasn’t seen it first-hand.

Only large organizations have the kind of slack necessary to take the productivity hit a CMM[I] program inflicts and keep chugging along. And the sad truth is that the people on the ground have no idea what it’s all about; just that they suddenly have more paperwork to fill out and a lot of dull training sessions to go to where they learn to spit back what the auditors want to hear.

“But wait” you say. “RMM isn’t about certification!”. True. And perhaps that will save it from the excesses of paperwork and naked profiteering that characterizes the CMM[I]. But the fact remains that RMM is and will continue to be defined by the major players in the Rails Arena. If it gains traction, companies that are just getting started will face the choice of getting things done and risking discrimination by a market that knows only “RMM=good”;
or spending their time on processes instead of deliverable code. In the eyes of customers the onus will be on the “non-compliant” shops to explain why they don’t practice pair-programming, or collocation, etc. Not only will this place an undue burden on small, young companies; but as others have pointed out, it does not create a very fertile environment for process innovation. Which, ironically, makes it diametrically opposed to the intent of the original CMM.

I respect Obie a lot, but the RMM project appears like nothing so much as a group of children playing grown-up by aping the dress and mannerisms of stodgy, button-down businessmen. A high-power executive observing might be amused by their antics, but would scoff at their failure to grasp the reasons behind the trappings they have adopted. And anyone who has been through the corporate machine and come out the other side would ask them why a bunch of happy kids could possibly want to imitate the very worst aspects of being an adult.

In summary, I have three things to say to Obie and anyone else who thinks the RMM is a good idea.

  1. It’s a trap!
  2. Look, if nothing else, ditch the name. It will become a source of derision for anyone familiar with CMM; a source of confusion for anyone who hasn’t heard of CMM; and potentially a source of lawsuits if Carnegie Mellon catches wind of it.
  3. If you really care about your customers, help them talk to each other.

UPDATE: Anyone who thinks that the potential for an organisation like RMM to lock-in outdated practices is merely academic at this point should have a look at the current Practice #3: Everyone Together. This is an incredibly backward value to be espousing in 2009, and, again, favors established companies over ultra-lean organisations which prioritise finding the talent wherever it is over building up a brick-and-mortar presence.