Why old versions pile up
Most Odoo instances are a version or two behind for one reason: the upgrade is scary. Skip enough of them and you're stranded — unsupported, and every later jump is harder than the last.
Assess before you touch anything
An upgrade starts with an honest assessment: which modules break, what data shape changes, what's custom and what's standard. Surprises belong in the assessment, not the cutover.
Rehearse on a throwaway copy
Then we rehearse — on a disposable copy, never the live one. Walk it one clean step at a time: 17 to 18 to 19, or Community to Enterprise. When the rehearsal is spotless, and only then, you cut over.
Proven, then thrown away
We've run the whole chain on a real box and then destroyed it, so the recipe is known before your data is ever involved. Done this way, the live upgrade is the boring part — which is exactly how it should feel.
