--- title: Make it work, then make it good date: 2024-08-31 permalink: daily/2024/08/31/make-it-work-then-make-it-good tags: - software-development - automated-testing - test-driven-development - clean-code - drupal-planet cta: d7eol snippet: | The main objective when writing software is to make it work. --- Your first objective when writing software is to make it work by - any means necessary. If you're doing test-driven development, you want to get a failing test to pass as quickly as possible. You want to get your application into a working state, whether that's hard-coding some values, focusing on the happy path implementation, holding off on implementing design patterns, or something else - you just want the code to work, even if it's a "bad" solution. Once it's working, you can refactor it into a good solution.