As anyone who knows what we do, or who reads these articles I write, you probably know all about Odoo coming out with a new version every year, and how Odoo supports its 3 most recent releases. That means, with Odoo 15 out in October of 2021, that support for 12 has ended. It also means that anyone on version 12 should definitely be looking to migrate to a newer version. Many of our clients are in the midst of such a migration. Heck, we ourselves are doing our own migration to 15 (from 13) and let me tell you, we put a lot into making sure that these things have as few surprises as possible.
I'm not even talking about submitting a database to Odoo and going from there. I am strictly talking about the hands-on work that we do before we turn the keys over to a client.
It starts with a spreadsheet for us. We like to have a column for each module in a database needing migrating. Each of those modules then have rows with all of the functionality included in the module to ensure we test workflows, views, all those little pieces that get forgotten about until a client needs it in that moment, we try our very best to find and fix these issues before they become problems. And we are pretty good at it. We then add more columns for testing, multi-company testing, restricted user testing, and notes.
Like this but with about a hundred more rows...
Then we begin migrating modules. Some clients are heavily customized and each one of those code changes need to be brought over. Even clients with only a few customizations have one or more of our Hibou Suite modules in their system and each one gets tested in multiple ways before we invite a client in to begin their own testing.
I alluded to it above with the different test columns, but we do a thorough job of testing functionality before a client even logs into the migrated db. We test each piece as an admin user with all permissions afforded to them. Then we go back with a restricted user to see if all of the workflows a normal user may encounter are unimpeded with any surprise exceptions or errors. If we are working with a multi-company client, then we run through admin and restricted user testing in both or all companies. This gives us a chance to go back to our devs with any missing functionality so that things can be patched and included in the new database.
Once our devs complete those migration tasks, our project managers then jump back in to test the newly completed pieces, even go through and make sure that previously tested processes still work properly. It is usually around here we invite a client in to begin familiarizing themselves with the changes their new version of Odoo presents them. We walk them through the customizations that have been replaced by core functionality and are no longer needed. We go through different views and models to demonstrate the filter they had saved or the column they requested still exists and still does what they want it to do. We get their feedback and if necessary, go back again to our devs for any final tweaks needed before going live.
This 2 minute read does not do justice to the hours we spend getting ready to launch without incident for our clients and ourselves. The takeaway here should be that we care, that we are thorough, and that we want our clients' launch to go just as smoothly as they do.