Rails Maturity Model

Written on February 17 2009 at 15:21 and updated on February 17 2009 at 16:34

See here, here and here.

Just because you use a set of tools (git, cucumber, even rails) or practices (BDD, pairing) doesn’t mean you’re developing quality software. I could be using cucumber but writing tests that don’t actually demonstrate anything. I could be using git but never creating any branches, ever! I could be checking all those boxes but still be producing crap if I don’t listen to my clients. More reasonably, I might not agree that ‘BDD’ is better than ‘TDD’, or that I should ‘pair 100% of the time’.

I definitely don’t want someone to frame this target of what makes good development and dictate that I should use these things, or else be implicitly labelled a bad developer! I mean, what about innovation? When the latest shiny thing comes along and all of the cool kids jump on the bandwagon and update the ‘RMM’ to reflect that, am I going to be forced to do the same, or lose my recommendations?

Recommend me!

Unless I’m misreading/viewing/hearing the video on Obie’s blog, it sounds like they want to build a Working With Rails-style site where people can certify each other as following these ‘best practices’.

Were I to be the worrying sort, I would be concerned that this was just another mechanism for cliques to reinforce each other, polarising themselves against the sea of unwashed masses which, for some reason, is threatening to do bad stuff to Rails.

Quality is hard to codify

No amount of codification is going to produce any real value here. Why do my clients care if I use git or mercurial or darcs (unless of course they have some specific requirement, which is not typical but fine)? They don’t even care that I’m using Rails, except for the fact that it means I am more productive and so cheaper and faster.

RMM makes me nervous because it seems like a way to crystalise the opinions of some of the current ‘ruby rockstars’ and press them upon everyone else.

What is the problem we are trying to solve here?

This isn’t an issue anyway

Anyawy, like I said, if I was the worrying sort, I’m sure I would have my pitchfork in hand, ready to storm the Hashrocket castle and drive out Count Obie from our beautiful land.

But… really, there’s nothing to worry about here. There’s no huge company (a la Microsoft) behind Rails, and it’s open source, so ultimately every aspect of its development, including how the community deals with good and bad developers, is handled organically. It’s the natural way.

Marketing vs. Quality

Obie states in a response on his blog that he wants to reflect a set of practices that have made the ‘top rails shops’ so successful, but I’d posit that the teams he has in mind are prominent because of marketing (they’re all heavily involved in speaking or organising conferences, training and writing on high-profile blogs).

I’m not saying they’re not good - not at all - I’m just saying that their success is as much to do with building a profile as it is to do with rock-solid development practices.

leave-a-comment