Wireframes, Databases, and Migrations
blog.bloc.io
blog.bloc.io
Not the paper and pen bit - but the idea that planning everything up front is always the most effective route.
I don't think that I've ever had a project of significant size that hasn't had schema changes throughout it's lifetime. Not because of lack of planning - but because requirements change and we always discover more as we start putting live code in front of real users.
So - since schemas almost always change - I'd vastly prefer that we get good at changing them as early in the project as possible, so that we can get the kinks worked out before we start effecting a significant number of real users.