A response to "Ruby at ThoughtWorks"

posted by pete on June 12th, 2009

Martin Fowler is a seriously smart dude who quite literally wrote the book on refactoring code. I caught his keynote at RailsConf 2006 and he spoke well. There’s no question that he is someone that people are advised to pay attention to.

He recently posted an article called “Ruby at ThoughtWorks” that I generally enjoyed. It provided lots of subjective yet informed statistics about the real benefits of using Ruby on web application development projects, specifically when Rails is involved.

However, there was a very specific section that made me fall out of my chair:

One thing we have seen is that you shouldn’t expect these productivity increases to turn up right away. I’ve heard several times that people were alarmed in early weeks about the slow progress of a new Ruby team - a consequence of what I call the Improvement Ravine. It does take time for a Ruby team to get the hang of how the platform works and during that time they’ll be slower than you expect.

The improvement ravine is a common phenomenon and a usual palliative is to ensure there are some experienced people on the team.

Say what?

I go out of my way to have a friendly relationship with our competitors, so I am choosing my words very carefully when I suggest that I am deeply distressed by the implications of these statements.

Like Unspace, ThoughtWorks is a “time and materials” software consulting firm. Potential clients approach a professional services entity to short-cut the hiring of top level talent in a particular, often niche technology. The primary motivator to hire ThoughtWorks or Unspace is that we have searched far and wide for the best minds in Ruby — and for a price, you can have access to those personalities.

Notice that I didn’t say resources; when we meet with a client, we will specifically suggest that you get access to people like Mike Ferrier, Hampton Catlin, Jeffrey Hardy, Nathan Weizenbaum… people who are recognizable names in the Ruby community. [Jeff is now with 37signals and Hampton is mostly busy with Wikipedia now, but you get the idea.]

Why on earth would you pay any company north of US$200/h per head to assemble a team of people that have never worked on a Ruby project before? Would you still be as excited to commit if you knew that 1 or 2 seasoned talents like Tyler Rooney or Joshua Wehner could do a better job faster than a mash-up of 15 new-to-Ruby former Java developers?

I’m sorry, but this seems really messed up to me.

5 Responses to “A response to "Ruby at ThoughtWorks"

  1. Obie Says:
    June 12th, 2009 at 02:30 PM

    Dude, no fair! That little fact was totally cloaked between the lines until you pointed it out for the whole world to see. Uhm, in the spirit of not bashing my former employer I’m not going to say anything else. :-p

  2. Daniel Haran Says:
    June 12th, 2009 at 02:44 PM

    Showbiz has room for original rock stars and cover bands. We write original material, and people sometimes love or hate us, which is fantastic.

    Quite honestly, I think that for rock stars, consulting is messed up. We should never be in the same market as cover bands playing for beer money. We need big gigs and merchandising :)

  3. jc00ke Says:
    June 12th, 2009 at 03:05 PM

    I think Fowler was talking about a new teams in a general sense. If an IT group, for example, were to jump on Ruby/Rails and use it, those first few projects would probably start off slowly. But I think that’s to be expected with any “new” thing, regardless of platform or even expertise. Take my last few days at work: I’ve set up many slices at slicehost and it goes by quickly. My first day using EC2 and I barely got one thing working correctly. Not to say I won’t get more efficient though.

    Regardless of a team starting off slowly, the beauty of Ruby/Rails is that the productivity curve is bound to be better than other languages/tools.

  4. Peter Cooper Says:
    June 12th, 2009 at 03:30 PM

    Why on earth would you pay any company north of US$200/h per head to assemble a team of people that have never worked on a Ruby project before?

    They sell better. They get to charge the big bucks for large teams because their sales process is better in some way than their competitors’. That’s not to say other companies, including yours, suck at sales but merely that they’re better at it.

    I think a key difference is that the head honchos of companies like Thoughtworks, IBM, Accenture, and whoever are business people with their snouts firmly in the sales trough, whereas smaller consultancies seem (to me) to occasionally fall prey to believing that other concerns (quality, service, best practices) are more important than sales, when they’re not.

  5. Farhan Thawar Says:
    June 15th, 2009 at 07:31 AM

    I’m with jc00ke. It was a generalized statement about teams moving to Ruby, not necessarily about consulting practices in general moving to a new development language on the clients dime.

Leave a Reply