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.