Upgrade Rails 101: The Roadmap to Smooth Upgrades

This year's RailsConf was a special conference for me. It was my third time attending and my first time speaking at the conference. I conducted a 2-hour workshop for anyone interested in upgrading their Rails application: Upgrade Rails 101: The Roadmap to Smooth Upgrades

Here are a few lessons learned from running such an ambitious workshop.

Scope

I believe the scope was way too ambitious. I pitched the workshop as an opportunity to bring any Rails application and leave with a roadmap to upgrade to the next version of Rails. As if that was not enough, I told attendees that they could use a sample, open source application to practice our steps to upgrade: https://github.com/alphagov/e-petitions

I should have used only the sample application. As the workshop went on, I found myself addressing issues regarding random Rails applications and the sample application.

All Environments Are Different

When starting the set of exercises, there was a slowdown addressing environment issues. There is always something slightly off about someone's environment that throws a wrench in the works.

This could have been much simpler providing a Dockerfile and requiring attendees to have Docker installed. That way, the setup would have been something like "just run docker-compose up" and done.

More Details

When describing the steps to create the Rails upgrade roadmap, I should have provided even more detail for every step. For people that were stuck in a step, I could have had branches on my sample Git repository. For each step, I could have had a checklist to make sure that the attendees got to a stage that would not stop them moving forward.

Results

I'm very happy with the feedback I received after the workshop. It was a great experience and I plan to keep conducting this workshop in other conferences. There is certainly room for improvement and I'm sure the next iteration will be even better than the first one.

I will be conducting a new instance of the workshop in the next Southeast Ruby. I hope attendees will learn from our experience and avoid typical mistakes.

Reference

Here are the slides from my workshop:


Unfortunately this time the workshops were not recorded, so I won't be able to share a video with my presentation. You can find the companion page for my workshop over here: https://fastruby.io/upgrade.

Finally, if you are interested in upgrading from Rails 2.3 all the way to Rails 5.2 you can read all of our articles from our Rails Upgrades series.

This workshop is a by-product of our productized service: The Roadmap. I wouldn't have been able to conduct it without the support by the team at Ombu Labs. Thank you all!