1. A data migration method for migrating data objects from a source entity to a target entity, wherein the source entity comprises an infrastructure shared between discrete systems, the method comprising: providing a single index of the data objects stored on the shared infrastructure and object attributes of the data objects, the index being provided in a normalized format independent of native formats of the discrete systems; selecting which of the data objects to migrate based on at least one object attribute; splitting the migration of the selected data objects into a plurality of phases, each of the selected data objects is assigned to one of the plurality of phases, and the selected date objects of one phase are migrated at a different time than the selected data objects of another phase; optimizing the migration of the selected data objects from the shared infrastructure to the target entity by grouping the selected data objects of each phase into migration sets based on the object attributes; and migrating the selected data objects from the source entity to the target entity based on the migration phases established during splitting and the migration sets established during optimizing.