Bidding Projects with Ruby/Rails, Take 2

Since I have received several comments and private emails on my first post about bidding projects in Java or Rails, I decided to add some expansion and clarification.

  1. People want to know what Java stack we prefer/use. Spring, Hibernate, sometimes Tapestry. We use AspectJ where appropriate.
  2. To those who are worried that we are encouraging a price war that is bad for developers: We pay ourselves (and our contractors) better for Rails work than Java work. This is good for everybody: Developers have more fun, make more money, and customers get better products cheaper and faster. I don't see the problem here.
  3. On overcoming resistance to Ruby and Rails because they are new: This is a real issue, and rightly so. If a Rails project is difficult to maintain because Ruby developers are in short supply, then a small development savings up front doesn't look so great to management. One thing I point out to customers is that maintenance cost is some function of the size and quality of the codebase. A well-written Ruby codebase can be an order of magnitude smaller than a similar codebase in Java.
  4. Some people took my "worst case" number (10% advantage for Ruby) and extrapolated that Java could catch up. That extrapolation is going in the wrong direction. The reason that my number is 10% and not 50% is difficulties that sometimes arise due to the relative immaturity of the Ruby/Rails stack. For example, say we bid one project at 20% cheaper with Rails. But, that price includes the hidden cost of building a database driver and some specialized XML processing that does not exist for Ruby (and does for Java). On our next similar project, we'll be able to deliver 30% cost savings over the Java bid, because the plumbing will already exist for both platforms. And remember, these numbers come after paying developers more.
  5. What are applications that are "nowhere near the Rails sweet spot"? This is a complex question, and I'd like to defer answering this one until I have time to do it justice. If somebody posts something in line with my thinking I'll certainly link it here.
  6. A few people have asked questions which amount to "Please give me much more intimate details of exactly how Relevance does business and gains a competitive advantage." I will politely decline. :-)