There is nothing like the day before a project. You have all your risks identified, you add your scope buffers based on previous metrics you have gathered, compensate for the whirlwind your team might be dealing with that affects capacity and everything else.
Then the project starts.
Software development is an epic obstacle course and you cannot see around the corner in many cases. This illustration, I think, is a good representation of that beautiful project burn down that is put out on day 1, versus the actual as you are going through the project.
What are the things you do to be proactive in your plans and what metrics do you look at in a project which you can react to in order to make your future iterations compensated for what you are learning as the project continues?