I'm working with a client (who shall remain nameless) to help get their WordPress site up to date. They are currently running version 2.8.4, which is about 3 years out of date. I wasn't sure how the theme or the plugins were going to handle the upgrades, so I obviously didn't want to do the initial run on their live site. I downloaded everything to my local machine and got their site up and running. There was a small bit of hoop jumping in this step, but nothing big. Once I had it running it was time for the upgrades.
When the site is this far out of date, it's not a great idea to just run the latest update and hope for the best. So instead, I incrementally upgraded using each of the major releases since 2.8.4. After copying the new files in place for each version I would log in to the dashboard and run the database upgrade. Run a couple tests on the front end of the site and then move on to the next version.
After running the 6 WP upgrades, I ran the updates for all the outdated plugins. Of the 16 out of date plugins, only one gave me any trouble at all. One of the plugins had changed the folder name at some point, so when WordPress ran the update it deleted the old folder and then installed the new one. I hadn't deactivated the plugins (now realizing I should have before running the updates anyway) so WP deactivated it because the folder wasn't found. Afte realizing what happened, I reactivated the new version and everything just worked.
I am amazed at how smoothly the process went. The theme still works fine, the plugins all work fine, everything is exactly as it was before… except it's up to date and WAY more secure.
I can honestly say, I was expecting a lot worse. Nice work, WordPress.