Building software efficiently requires balancing speed and quality, which varies depending on project requirements. Embracing a rough draft approach allows developers to discover unforeseen issues early and focus on essential tasks without getting bogged down by perfectionism. Moreover, making small, incremental changes enhances code quality and speeds up the development process.
Tests are essential for maintaining confidence in software development, but not all tests are beneficial. Flaky, irrelevant, or outdated tests can decrease confidence and hinder productivity, making it necessary to delete them rather than hold onto the belief that all tests must be preserved. Developers should focus on maintaining a concise and effective suite of tests that truly reflect the current state of the codebase.