views:

129

answers:

4

We are currently running rails 2.1.

My main motivation for the upgrade is the fear that gems/plugins will get rarer/unavailable/unsupported day by day for our version (,and the excitement of the latest technology).

I understand there are many-many improvements that come with rails3, but probably what my manager would want to listen is the advantages that he'd get, in terms of the business.

Ours is a Saas application, load on the app is not very high, but the demand for reliability is more.

Edit :

  • Looks like my inclination towards the upgrade needs rethinking, so answers to "should I upgrade" are welcome.

  • my original question also needs answers - how to describe the business advantages of an upgrade from rails2.1 -> rails3.

  • The app is under active development/enhancements.

+5  A: 

Since reliability is high on priority, you should probably not upgrade unless it's absolutely required. Some unforeseen issue is bound to come up.

To address the excitement of the latest technology, you can always try out new plugins and Rails 3 offline.

Businesses should not be sandboxes of developers. Nor should development be Resume Driven.

But that's just my opinion. :)

pavanlimo
How do you define **absolutely required**? Without a definition your answer is very subjective, I think.
Notinlist
The definition of **absolutely required** is indeed subjective and decision needs to be taken on a case to case basis.
pavanlimo
Your answer seems to be asking me not to go for the upgrade just for the excitement of it, and do it only by when I have no other choice left (__absolutely required__ ???). Please read the answers from edebill and Notinlist.
abhishek
Also, is SO a place for your opinions/should-shouldn't s ?
abhishek
+2  A: 
  • If your application is under development and is likely to have more and more features over the months to come then you should migrate to the newer and actively supported version.

  • If your application only needs bug fixes occasionally then you should stick to the current version.

Notinlist
+2  A: 

The longer you go without upgrading, the harder it will be when the time comes. Sooner or later, any actively maintained project is going to have to move up to the more recent versions, and the more versions you have to skip along the way, the harder and more risky it will be. If you upgrade regularly, it becomes a fairly simple maintenance task.

I'm afraid that going from 2.1 -> 3.0 is going to be a fairly rough one unless your app is pretty simple. You might try going from 2.1 -> 2.3.9 as a first step. However, doing it now, instead of when it's 2.1 -> 3.1 will save you heartache. Right now, everyone is focused on helping people upgrade. A year from now, there will be fewer fresh resources available and fewer people going out of their way to help people upgrade.

edebill
Nice idea edebill, the 2.1 -> 2.3.9 -> 3.0 sceme. Thanks
abhishek
+1  A: 

Upgrade!

I'd say that you should definitely upgrade, for the reasons you stated, but don't rush it. If you have a well defined test suite everything should be ok.

Most of core Rails 2.x code works with Rails 3, you can just read the deprecation warnings and fix things one by one. You can also use the official Rails Upgrade plugin to automate the bulk of the editing.

As for the gems and plugins you use, you can check their compatibility at railsplugins.org and decide if it's worth the trouble if any.

And the elevator pitch for the boss: You said the app is under development, so upgrading later when you absolutely have to means that you have to first deal with all the issues arising under 2.x and then deal with the upgrade issues plus 3.0 issues of a much bigger app. Upgrading now saves time by saving you the trouble of having to deal with 2.x issues. And you also avoid some of the upgrade issues since your app is probably much leaner now than the heavyweight it will be when you decide to upgrade later.

edgerunner