Rails Maturity Model - Do We Need it?
Recently some notable people from the Rails community like Obie Fernandez and his company HashRocket introduced a concept called the Rails Maturity Model. A good friend, Rob Bazinet wrote a very good article on some issues with the concept and asked for feedback. For the most part I agree with Rob’s points, and would like to expand on why I think the RMM is simply not the right idea, or at least not one I would endorse now.
First there is no real advantage to a Software Development Consultancy from adopting RMM versus other Agile Methodologies. Furthermore, other Agile Methodologies have far more documentation, proven projects, books, critiques and prestige behind them. I am thinking of: Scrum, XP (Extreme Programming), and Crystal Clear. Even PMBOK inspired methods, under Agile Principles may deliver all that RMM promises today, or at least match it.
Another issue that must be mentioned is that all Agile Methodologies have shortcomings and problems, but at least they are well documented, with vocal voices about them. Not so with RMM which is in its infancy. Case in point XP (Extreme Programming) has had its share of controversies, especially in regards to Pair programming which can have negative consequences in team morale, productivity and it’s severely limited by geography. Many on the XP camp have just abandoned that practice altogether or changed it significantly, yet is one of the key practices of the RMM. Just google “Pair Programming Problems” and you get over 800,000 hits!
So if there is no distinct advantage to the RMM why use it? Why not just endorse one of the many other far more prestigious and well documented Agile Methodologies out there. Or even fork one adapting it to Rails? I can not see a good reason.
The second problem I find with the Rails Maturity Model is the name itself and the implications surrounding it, which are negative to those who do not follow it. I appreciate Obie’s valuable contribution to Rails and Ruby, and I do believe there is a lot of good intentions with RMM, but still the name choice is unfortunate.
It reminds me of CMM or the Capability Maturity Model for Software; which was used a lot for outsourcing and government contracts. It too was found to have many issues, but its core message was that some software consultant providers were superior to others. That is the message RMM conveys from the start, and I find that unnecessary. The site itself does not say it outright, but as Rob mentioned in his article, that message seems to be somewhat present everywhere.
So were to go from now? Personally, and as far as Trumpet Interactive is concerned I am certain we will steer clear from it, and follow instead other Agile Methodologies, and good Project Management Practices. We do that today, it works, it delivers value to our customers and at the end of the day that is what really matters.