I tend to agree that TDD is a bit excessive, but I strongly believe in a BDD approach which is very common in Domain-Driven Design. Writing the failing test cases that describe how what use cases, policies and rules a system should have is much more likely to be known at the start of a project than if "computeXYCoordinates()" returns false :)
Writing code is a mixture of both!
Computer "programming/coding" is the practical application of such theory. It's also what leans more in the direction of....
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.