Charlie Calvert (surely one of the best-known people in the Delphi community) has written about why Test First Development is such a good thing.
In his opinion, writing the tests first encourages the developer to focus on the architecture - on the external interface and style of use - rather than on the nitty-gritty details. The direct result of this is that the objects are easier to use.
My experience of Test First Development is completely in agreement with this - by starting development with code that runs against the external interface of the class, the focus is on making the class easy to work with, not on making it easy to implement.
If you are interested in knowing more about this subject (and you are using C#/.Net), a good place to start is this recent blog entry.