When you say TDD doesn't work do you mean it doesn't work if it's religiously practiced? I've worked for many companies who do TDD and I personally enjoy it very much and we ship code, we make money. So clearly something is not not working. I think the trick with TDD is making sure you don't use it religiously and understand in what cases it'll help you.
I don't do Windows work, I don't do UI/UX and I do not religiously follow TDD. TDD is a tool, just like other tools I know when it applies to a scenario and when it applies I know what it's helping me with.