Database design then test & code, and then... test & code and then... test & code.
Need I say more?
Just in case my joke isn't what I think it is... I'm saying test first coding is awesome!