Writing test and implementation code are the same task

In Sunday's email, I said not to estimate separately for testing and implementation.

But you can't do this anyway if you're doing test-driven development.

With TDD, you aren't writing all of your tests and all of the implementation code or vice versa.

You're continuously switching back and forth, starting by writing a failing test and then enough implementation code for it to pass.

Then you write more test code, whether expanding the same test or writing a new one until you have a new failure.

You get it to pass, refactor, and repeat the process until the task is complete.

It's all part of the same task and the same estimate.