I cheat a bit, depending on the size of the project. I'll usually get some sort of working prototype built out, more like an interactive model with a ton of stubs and TODOs. This helps with Agile workflows because..well, a ton of reasons.
Once i've got that model, then it's time to set up my tests and everything is usually test first from that point on.
One additional productivity trick I've learned over the years is making sure I've got a test set up and ready to go right before I leave work for the day. My brain is thinking about that test, how best to tackle it, and when I come in the next morning I've got a very clear achievement goal laid out for my morning work.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.