O'Reilly logo
  • Karl Giesing thinks this is interesting:

Developers should start with the what because that’s what the interface is. That’s what the test is. The test is all about the what.


Cover of Beyond Legacy Code


Also notice that this matches the "what" vs. "how" dichotomy in one of the first chapters. The "what" comes from Product; the "how" comes from the developers. So, logically, the tests should be written according to Product's specifications.

This is a really good point to make. Not only does it make TDD more understandable. It also forces Product to write specifications and acceptance criteria that can be directly translated into test code.