I've heard a lot of controversy among developers as to whether Test Driven Development (TDD) is really worth all the extra time it seems to take.
TDD means developing a small piece of functionality by first writing a test for it, then writing code to make that test pass. TDD should not be confused with BDD, or Behavior Driven Development, which is like TDD from a user's point of view, rather than a developer's. (Many people do BDD for the broad overview and then TDD for the nitty-gritty internal details).
Read More