Migrations are particularly difficult kinds of projects, as I’ve said before. But they come with one significant advantage: a built-in way of measuring progress.
Delivering value incrementally is a central part of Agile delivery. You also gain a huge advantage if you measure that value. Note that’s measuring value not measuring number of features delivered. It provides incredible focus to everyone involved, throughout the project hierarchy, and brings people together.
Identifying what it is, exactly, that you need to measure can be tricky, but with a migration project it’s easier. It can be measured on the amount of the original system that is no longer needed. The exact metric may vary (number of API calls, %age of old database no longer accessed, etc) but it’s very clear what you’re targeting.
If the original system needs to be decommissioned then the big switch-off is an unavoidable big bang all-or-nothing moment. But leading up to that point is a series of small steps, each bringing its own piece of value. As less of the original system is accessed so maintenance costs decline, because fewer people are needed to support the remaining parts. Also, any risk that the organisation carried from relying on the original system similarly reduces.
When working in any difficult situation you need to take your advantages where you can; migration projects provide a ready-made measure of progress and focus.