In a year and a half as a lead on a fairly massive software project with a very small and tight team, one axiom sticks out as the key to happiness — always be shipping.
It forces you to look at problems in smaller chunks. (Admittedly much easier said than done!) It gives the team a constant sense of accomplishment, as the thing they are working on is constantly seeing some sort of polish or improvement. For building larger projects, shipping components behind the scenes and letting them bake in production is a really nice and easy way to keep things moving.
Earlier this year my team without the aid of automated unit tests (we had some UI tests that were getting quite a trial by fire!) rattled off an admittedly stressful 33-day streak of shipping at least one thing, whether it be a bug fix, improvement, or new feature. The conditions were that the one thing had to pass QA before it went out — no shortcuts, no releasing for the sake of releasing. As I said, it was stressful, but it was a great exercise. (That being said, do not try this at home.)
I’ve been applying the “just ship” mentality to my weather projects recently and it has helped me overcome a lot of analysis paralysis of how to proceed. As a result, long-standing bugs in the @chswx bot have been fixed and the accompanying website finally got the mobile-first facelift it needed.
Shipping makes me happy. It should make you happy, too.
Just ship, baby.