This is why your Salesforce deployments suck
If your Salesforce deployments suck and are painful, it only means 1 thing:
You need to deploy more often.
Rather than avoiding the pain of deployments, you should lean into it and learn what it's telling you.
Maybe it's telling you your org architecture is not good enough, or your tests are not really testing the right things, etc.
By doing it more often, you also practice. You'll become more proficient at catching deployment errors, missing dependencies, etc.
This mentality is inspired by this statement from a book I was reading:
"๐ค๐ฐ๐ฏ๐ต๐ช๐ฏ๐ถ๐ฐ๐ถ๐ด ๐ฅ๐ฆ๐ญ๐ช๐ท๐ฆ๐ณ๐บ ๐ช๐ด ๐ฏ๐ฐ๐ต ๐ฎ๐ข๐จ๐ช๐ค. ๐๐ตโ๐ด ๐ข๐ฃ๐ฐ๐ถ๐ต ๐ค๐ฐ๐ฏ๐ต๐ช๐ฏ๐ถ๐ฐ๐ถ๐ด, ๐ฅ๐ข๐ช๐ญ๐บ ๐ช๐ฎ๐ฑ๐ณ๐ฐ๐ท๐ฆ๐ฎ๐ฆ๐ฏ๐ต โ ๐ต๐ฉ๐ฆ ๐ค๐ฐ๐ฏ๐ด๐ต๐ข๐ฏ๐ต ๐ฅ๐ช๐ด๐ค๐ช๐ฑ๐ญ๐ช๐ฏ๐ฆ ๐ฐ๐ง ๐ฑ๐ถ๐ณ๐ด๐ถ๐ช๐ฏ๐จ ๐ฉ๐ช๐จ๐ฉ๐ฆ๐ณ ๐ฑ๐ฆ๐ณ๐ง๐ฐ๐ณ๐ฎ๐ข๐ฏ๐ค๐ฆ ๐ฃ๐บ ๐ง๐ฐ๐ญ๐ญ๐ฐ๐ธ๐ช๐ฏ๐จ ๐ต๐ฉ๐ฆ ๐ฉ๐ฆ๐ถ๐ณ๐ช๐ด๐ต๐ช๐ค โ๐ช๐ง ๐ช๐ต ๐ฉ๐ถ๐ณ๐ต๐ด, ๐ฅ๐ฐ ๐ช๐ต ๐ฎ๐ฐ๐ณ๐ฆ ๐ฐ๐ง๐ต๐ฆ๐ฏ, ๐ข๐ฏ๐ฅ ๐ฃ๐ณ๐ช๐ฏ๐จ ๐ต๐ฉ๐ฆ ๐ฑ๐ข๐ช๐ฏ ๐ง๐ฐ๐ณ๐ธ๐ข๐ณ๐ฅ.โ Jez Humble, Continuous Delivery