Even more than that, I've found that TDD allows you to work out in your head how you want everything to work black-box style, and worry about the implementation second. By starting with a list of inputs and outputs that you expect, it gets you started moving toward your goal immediately. And if you don't have that list, then you already know what step one is.