This is not comprehensive, but here are a few things to consider.
From a project management perspective, make sure the basics are well covered, especially stakeholder analysis and a communications plan. If there is any downtime, make sure it is communicated/coordinated well in advance, and often. Someone is going to want to have an event that requires your software during your downtime, no matter how much notice you give.
From a technical perspective, rehearsal migrations and thorough testing will be critical. This will also help you to establish, and communicate, the amount of downtime.
Make sure you also have a clearly defined post go-live support plan, especially if multiple locations are impacted by the change. This should include separate plans for the period immediately following go-live, the following week (more or less), and, if needed, a plan to transition to normal support (handoffs, knowledge transfer, etc...). Saving Changes...
"We are ashamed of everything that is real about us; ashamed of ourselves, of our relatives, of our incomes, of our accents, of our opinions, of our experience, just as we are ashamed of our naked skins."