I have found TDD to be an extremely useful tool in cases where I was not sure about the design but knew what the requirements were.