uuid: - value: f78a64e6-14a7-4654-95ab-04b1d1bb7318 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:34+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | Writing test and implementation code are the same task created: - value: '2023-08-15T00:00:00+00:00' changed: - value: '2025-05-11T09:00:34+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/08/15/writing-test-and-implementation-code-are-the-same-task langcode: en body: - value: |
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.
format: full_html processed: |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.
summary: null field_daily_email_cta: { }