I TRIED HARD TO come up with a way to sugarcoat this but I couldn’t, so here’s the bombshell: shipping great software is damn hard and crazy stressful. It’s also incredibly rewarding. The energy you spend is worth it. But the stresses placed on those called upon to ship can be extreme. Sometimes you’ll be asked to balance multiple competing priorities without guidance. You may be asked to do the job of three people in half the time it would take one. And throughout the project you’ll probably have to deal with feature requests, changing corporate priorities, politics, and general unfairness. But wait—there’s more! There’s hope!
There are tricks that can help you cope with these shipping life challenges. I’ve spent many years working with colleagues who were all trying to ship, and there’s a small kernel of battle-hardened advice that I’ve gathered and held on to. I think it helps, and it’s broken down into these five categories:
How to balance shipping, quality and impact, and your team, so you deliver great software.
How to handle randomization, so you can continue to ship a great product in a timely way. Randomization is what happens when your management throws you a curveball, or your team wanders off into the weeds. Randomization is one of those words that everyone at Google and Amazon understands because it’s the opposite of helping a team stay focused on shipping.
How to manage your energy deliberately, so you can do the job ...