Business case for upgrading to Rails 3

12 views
Skip to first unread message

Trevor Menagh

unread,
Jun 14, 2010, 11:42:51 AM6/14/10
to Ruby on Rails meets the business world
Hi all,

I am excited to upgrade my company's Rails 2 applications to Rails 3,
but my manager has asked me to provide some business cases for the
upgrade. Can you all brainstorm with me about this?

Some we have thought of so far:
- ActiveModel and Arel allow us to harness the power of the Rails
infrastructure in our gems and plugins
- It is important to keep up to date with the latest technologies
- Speed improvements (?)

Thoughts?

Thanks,
Trevor

Evan Dorn

unread,
Jun 14, 2010, 11:52:40 AM6/14/10
to rails-b...@googlegroups.com


On Jun 14, 2010, at 8:42 AM, Trevor Menagh wrote:
> I am excited to upgrade my company's Rails 2 applications to Rails 3,
> but my manager has asked me to provide some business cases for the
> upgrade. Can you all brainstorm with me about this?

- XSS protection by default is a security improvement, fewer opportunities for future accidents.
(Though you can get this feature backported to Rails 2 with the rails_xss plugin)

- Simplified code in a lot of places will reduce technical debt and speed up future development.

Evan


Philip Hallstrom

unread,
Jun 14, 2010, 12:33:00 PM6/14/10
to rails-b...@googlegroups.com

I'm going to ignore the technical reasons... and put on my pointy haired hat... (disclaimer - I am also pessimistic by nature)

Rails 3 is 3.0.0.beta4 (according to github just now).

So it's a ".0" release. And it's still "beta".

Why would you move your company's applications to a ".0" AND "beta" release?

I'm not saying you *are* doing that. Perhaps you meant to say you are planning the move for when it's officially released and has it it's first ".1" upgrade. But you better be able to answer the question above :)

If your applications are running fine now, I would suggest testing out Rails3 and being prepared for 3.0.1 if you decide that's the move to make.

Good luck!

-philip


Jaime Bellmyer

unread,
Jun 14, 2010, 12:45:05 PM6/14/10
to Ruby on Rails meets the business world
From a corporate perspective, Rails 2.x will no longer be supported,
and that's a good reason to move forward. Bug fixes are going to
happen in 3.x from now on, and new plugins, gems, tutorials, and other
resources will be built for 3.x.

I'll admit I haven't followed core development close enough to know
how much love previous versions get after the new version is out, but
I'm guessing it's minimal. And that's just the core. The other items
I mentioned mostly come from non-core sources who will be eager to
leave 2.x in the dust.

That being said, it's not impossible to maintain a 2.x app, but as
Evan said - 3.x will reduce technical debt and speed future
development. And if it's a long-term app, it's probably worth the
investment sooner rather than later. Incremental changes are easier
than massive ones.

Josh Goebel

unread,
Jun 14, 2010, 1:33:25 PM6/14/10
to rails-b...@googlegroups.com
"Bug fixes are going to happen in 3.x from now on, and new plugins,
gems, tutorials, and other resources will be built for 3.x."

Critical security fixes of course will likely be back-ported to 2.x
for some time... but I completely agree that the overall plugin
community will largely leave 2.x in the dust... existing plugins will
still be maintained, but some new plugins may choose to only support
Rails 3.

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
> To post to this group, send email to rails-b...@googlegroups.com.
> To unsubscribe from this group, send email to rails-busines...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rails-business?hl=en.
>
>

--
Josh Goebel

............
Pastie
http://pastie.org
http://blog.pastie.org

Colin A. Bartlett

unread,
Jun 14, 2010, 12:03:51 PM6/14/10
to rails-b...@googlegroups.com
I would definitely sell the angle that one needs to stay current to avoid the pitfalls of being behind.

For instance, we had a customer recently who had refused several times to upgrade to the latest Rails versions.  All of a sudden, they are noticing a problem with the site and after some debugging we discover it's an annoying bug fixed in Rails several versions ago. If we had stayed up with upgrades, it wouldn't have been the headache it was to upgrade the app.

Now replace "annoying bug" with "horrendous security hole" and one can present an even more compelling argument to not get very far behind.

Also keep in mind that the body of knowledge, available assistance, list posts, blog articles, etc. is like a bell curve. There is a limited amount of that available when a version is brand new so you need to be willing to dig through problems yourself. As a version matures, there is plenty of available help out there but then as it wanes and new versions are adopted there is again less ability to reach out to your peers.

I think the implications of skipping a version here and there aren't huge. But it's important for decision makers to have the mindset that upgrades are a part of the process.

Colin

Amiruddin Nagri

unread,
Jun 14, 2010, 2:15:05 PM6/14/10
to rails-b...@googlegroups.com

As far as the features go, Rails 3 is obviously the shiny boy, but probably not the right time to move.

Along with Rails 3 we are expecting Ruby MRI 1.9.2, which is supposedly Nx times faster than previous implementation, is going to be out. I tried to develop an application on Rails Edge with Ruby 1.9.2 and there were many bugs emanating from the interpreter. If you face such a situation, specially while migrating, it will be a big trouble, given that committers to these projects will already be burdened with the new release.

So wait till things are stable(minimum of 6 months according to my estimate) but keep your developers up-to-date with Rails 3 feature and Ruby 1.9.2 new features (threads etc).

-Amir

Amiruddin Nagri

unread,
Jun 14, 2010, 2:48:43 PM6/14/10
to rails-b...@googlegroups.com
Upgrading a minor version is a different case than upgrading a major version. And it is pretty evident that Rails 3 has a lot of changes which will require complete rewrite of some parts of the application, alongwith plugin compatibility for a major release will take some time.

-Amir

Ho-Sheng Hsiao

unread,
Jun 14, 2010, 4:28:40 PM6/14/10
to rails-b...@googlegroups.com
On Mon, Jun 14, 2010 at 2:48 PM, Amiruddin Nagri <amir....@gmail.com> wrote:
> Upgrading a minor version is a different case than upgrading a major
> version. And it is pretty evident that Rails 3 has a lot of changes which
> will require complete rewrite of some parts of the application, alongwith
> plugin compatibility for a major release will take some time.

I have heard the "shiny toy" argument too and I think it is FUD.

The innovations and cleanup in Rails 3 gives a business a strategic
competitive edge, but it is not very obvious right now. It is not
quantifiable either. It is similar to the kind of competitive edge
mammals had over dinosaurs during an ice age. It is similar to people
catching up to the idea of virtualized servers instead of dedicated
servers. One of the projects I am working on right now dynamically
generates resource controllers, versus scaffolding that writes a file
and lets a developer tweak it. Just as virtualized servers lets you
bring up and throw away servers, this ability to dynamically generate
controllers will let developers do things that cannot be done in Rails
2. It is not obvious because this notion (and other implications of
the Rails 3 innovations) are still sinking in. By the time it hits the
mainstream Rails community, the first movers will have already seized
the initiative.

On the other hand, if your business doesn't depend on innovations,
then none of this will matter until later.

Ho-Sheng Hsiao

Peter Baker

unread,
Jun 14, 2010, 4:54:36 PM6/14/10
to rails-b...@googlegroups.com
> I am excited to upgrade my company's Rails 2 applications to Rails 3,
> but my manager has asked me to provide some business cases for the
> upgrade. Can you all brainstorm with me about this?

Why not start a new Rails 3 app now, try it out and then upgrade your
other apps?

Reply all
Reply to author
Forward
0 new messages