Before migrating to newer version do your research on:
- new features as well as missing features in the newer versions. For example Odoo 10 has customer issues, where Odoo 12 does not (in the Community version), from 11.0 Accounting is only in the Enterprise version
- do you want to go Odoo Enterprise (enterprise users get free updates for base modules)
Once you decided choose one of the following:
1) Let Odoo or Odoo Partner migrate and sign up for Odoo Enterprise
2) Find a company or a specialist to migrate to newer version of Community
3) Migrate by yourself using OpenMigrate (this needs some skills and time and it won't migrate custom modules)
4) Install newer version and migate yourself by using export-import to csv - note that this is not recommended on a large scale as you will get plenty of errors on the way + reserve loads of time.
Finally, the answer for the question - wait or migrate? It really depends on your funds, expected features(Accounting is not in the Odoo Enterprise since Odoo 11), skills (with proper skills you can do it on your own) & time.
The database migration is quite complex task. I choose to export (csv,xml) data from odoo9 and import them to odoo12. This however produce unexpected behavior during export as well as import. Second option is to purchase enterprise (for month or so) and let odoo stuff to manage migration. However I did not find it straight as enterprise for month can only be hosted on odoo cloud. So I'm bit stuck with the migration. If you did manage odoo9 db to get work in odoo12, can you please share your experience?