Test Driven Development, aka TDD, is one of the most talked-about development recently. Some truly implements it, some other hates it. But what makes us adopt TDD in our project?