In my experience, there's companies where it's clear that TDD solves less than hiring competent developers and having <i>anyone</i> writing requirements. Testing requires being able to think in depth about maintenance and verification of software. These are not easy tasks and often get distorted into 100% coverage or else - which really just encourages unmaintainable and usually useless tests.