Test Driven Development was originaly introduced by Kent Beck in eXtreme Programming explained[xp-explained] in 2004, but was already used since the beginning of extreme programming in the end of 90's.
Extreme programming was a set of responses to the high costs, poor quality, unpredictable delays of software, and TDD focuses on quality. Quality is defined by readability, robustness and maintanability.