During the last months, I was doing software development the 'traditional' way (writing code as accurate as you can, then hoping that it's good enough - HDD, Hope-driven development). When I thereafter reviewed my understanding of Test-driven development, it turned out that there are some concepts that I just don't buy anymore...