Throw Away

A team can’t keep shipping great work if contributors are feeling over-burdened by old code and systems.

And continuous learning is useless if you can’t apply it. Think back to the most impactful insight you can recall in your work—didn’t it feel like a breakthrough?

If you have too much legacy weight to integrate breakthrough ideas when they happen, not only is it unfortunate for your product, it’s demoralizing to your team.

What’s the point? Why am I here if I can’t ship my best work?

On the flip side, being responsible means validating that what you think is a breakthrough indeed is one. Otherwise, you risk disorienting your team and causing whiplash.

Is anything sacred?

So how do you create the conditions for comfortable stability while making room for integrating breakthroughs?

  • Don’t overinvest in what you assume you’ll need.
  • Keep it simple. Get what you need done by constructing it from no more that the essentials. Obviously, this is no excuse for leaving out what makes it great.
  • Then, throw away the old when you have a better way. Done right, this also means not over-investing in the throw-away-and-rebuild phases as they come. They’re part of business as usual, and this iteration will also be succeeded by something greater one day. And if not, it’s even better you didn’t overdo it.