The key is to understand:
1. The level of pre-cleansing/de-dupe that is required before data is migrated. Will any of the data conflict with the data quality rules in Dynamics CRM (mandatory fields/formats).
2. The mapping from the source system data schema to the new Dynamics CRM schema - understanding where you have data type translations and mappings that span 1:N and N:N relationships. This is very important and the step that is easily missed or not not focused on enough. Data type translations and relationship mappings can often cause issues where the source data simply doesn't fit to your new structure.
3. How the data will be provided prior to migration - database/excel etc.
4. If there will be a single shot migration, or if there will need to be multiple side-by-side migrations
5. Will there need to be any de-duplication/data cleansing after the migration.
6. How much historical data will be migrated - i.e. do you really need all the source data in CRM or can you take just the last n years of data for some records.
7. How will email/appointment activities be migrated? These elements often exist only in a user inbox and calendar.
8. List of all option set values/lookups that are required for reference data.
Once you've got a handle on this, you can then start to design/plan how the migration will take place and what tools you will need.
Microsoft SureStep has some good sections on planning Data Migration under 'Identity Data Migration Approach' There are also some good templates to use as a starting point.
hth,
Scott