To prevent analysis paralysis, follow these simple steps in case a problem seems too big to tackle.
First, simply make it work. Don’t pay (much) attention to craftsmanship principles such as dry.
Second, make it right, by making your code compliant with craftsmanship principles.
Finally, make it fast if really needed.