When preparing the final stages of your project, you need to start thinking about delivering your system into production. Typically you need to pass from development environments through to testing, integration, user acceptance and finally production.
In order to have a good plan that can be successful, here are some things that you need to consider:
1) Are the processes already in place to allow smooth transition?
2) Are there good guidelines and quality assurance procedures involved that will ensure repeatable deliveries?
3) Are all the technologies you are using already in production?
4) Is there experience of how long a typical migration through all environments might take?
5) What is the absolute fastest time that the migration cycle can be completed in?
6) What are the "no go" traps? What quality assurance points are in place that could stop your migrations?
7) Is your build process entirely automated and fully repeatable?
8a) How many people are involved in the migration process?
8b) How many of the people involved in the migration process do you know face to face?
8c) How many of the people involved in the migration process can you go and physically sit next to in the event of problems?
9) How many companies are involved in the migration process?
All these points, and surely more, can have big impacts on the delivery process. I recommend doing a trial delivery very early on so that you can discover what the hurdles are. Of course, some quality control enthusiasts will not allow this to happen if your system has not been finished and fully tested at various stages of the process, because of the dangers it could cause to existing applications and systems. Makes sense really, just a shame its so frustrating!