En mi trabajo manejamos la migración en 2 etapas basicamente: la migración pura (lo que está, queda como está) y los upgrades (todas las mejoras que quieran pero una por una según módulo). Así redujimos el impacto en los usuarios finales porque sino terminan diciendo "antes estábamos mejor" y no saben el porqué...