Why Ruby on Rails?

Last week Computerworld published an article, well more of a rant, on developers trying to pitch using Ruby on Rails for projects based on its improved productivity. Basically the article discussed an experience where a developer proposed rewriting an entire existing code base in Ruby because of the improved productivity it would provide to the development team. Let’s just say the idea wasn’t well received by management.

But as developers, we know Ruby can make a project more productive with quicker turnaround times and easier revisions. But it is a hard sell to a client to get them to rewrite an existing code base. The cost savings from the improved productivity just isn’t there. And to be honest, a business owner doesn’t really care about your productivity anyway - just that they get their application on schedule and on budget.

Ruby on Rails has its benefits, but when then is the right time to pitch it to a client for a project? We searched around the web and found some of the best criteria to use for Ruby on a client project. We’re not talking just any project that you can choose your language and framework, but the kind that you need to get approval and justify your choices to a management chain. That could be internal to your company or for clients if you are a freelancer or contract developer.

So without further ado, here are five situations when pitching Ruby on Rails makes perfect sense:

  • A completely new project with new code base and databases
  • A project requiring high development speed or tight schedule
  • Complex applications
  • Applications deployed on the web
  • Iterative development projects (vs. waterfall projects)

Out of all of these, the easiest is a completely new project. The productivity benefits are an easy sell at that point - provided Ruby is still the right solution for the project. Of course It still has to meet the other requirements of the project (performance for one).

Do you have guidelines for when you use Ruby on Rails?