Picture of admin

Bidding Projects with Ruby/Rails, Take 2

  • Posted By admin on December 20, 2005

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. :-)
Comments
  1. twifkakDecember 21, 2005 @ 10:15 PM
    One "bitter" spot for Rails/Ruby: both very much depend on having an agile project -- the need for unit testing, the dearth of syntax-aware tools (i.e. no UML -> code stub tools), the lack of interfaces, the imperfect existing documentation, etc. So a project that is, for whatever reason, not anywhere near agile, is not probably a good fit. Another: a project that requires hooking up to external libraries not currently supported in Ruby, and doesn't include a developer who can whip out C. A third: a project that requires code to be run in a safe, managed container, such as ning.com. A fourth, and I'm tapped for the moment: a desktop app project that doesn't want to release its source code. Oh, and lastly, a link to something I've wanted to paste into Ruby advocacy PowerPoint slides, in progressively smaller font with each slide: http://sciruby.codeforpeople.com/wiki.cgi/RubyRamblings/Ramblings_0
  2. twifkakDecember 22, 2005 @ 10:23 AM
    (To contradict my third point, http://tryruby.hobix.com/ seems to show that it's possible, but the code is closed at the moment.)
  3. Joe GrahamJanuary 12, 2006 @ 03:34 PM
    10% is a LOT!! 10% of a year is a month, that's a lot when deadlines are critical. Also one thing you totally neglect to mention and arguably the most important reason to jump over to rails is that you get the vendors _out_of_your_pockets! Think of the millions of dollars paid to these overpriced overbloated J2EE app server license fees. J2EE is an expensive proposition, period. I am amazing at how fast rails is evolving. I have always been a Ruby advocate even from the first pickaxe book and was looking at rails in the early parts of 05, now it is 06 and wow, look at it go! I am fairly adept at frameworks and the best framework I had in PHP could get a screen up and running in a few hours. With rails, it takes minutes where it took me hours. This is the right tool at the right place at the right time. Cheers! Joe Graham
  4. Adisson De EnfermedadMay 07, 2006 @ 12:50 AM
    Very clear.
  5. Juan CardenasMay 07, 2006 @ 05:56 PM
    Gonna have to give it a try :(
  6. Lymes Disease Treatment Dogs RimadylMay 11, 2006 @ 12:40 AM
    Thats correct :(
  7. Island Girls CalendarsMay 11, 2006 @ 07:09 PM
    i am not sure as to why :)
  8. Nc Golf NewsMay 12, 2006 @ 02:05 PM
    Good idea :)
  9. Immigration Helps The Us EconomyMay 12, 2006 @ 10:54 PM
    I thout to do it in my local version :(
  10. Conjunct Lock RelocationMay 13, 2006 @ 03:47 AM
    Very nice write up...
  11. Caesar Julius MapMay 13, 2006 @ 05:51 AM
    Thanks. Updated appropriately!
  12. Second Bump BankingMay 16, 2006 @ 01:43 PM
    Thanks for the write-up.
  13. Kid PrankMay 16, 2006 @ 03:43 PM
    Not really new.
  14. System InterfaceMay 18, 2006 @ 04:10 AM
    Thats correct.