Make sure your foundations can support your high velocity product growth

Make sure your foundations can support your high velocity product growth
Photo by Emma Gossett / Unsplash

You own a system. You are obsessed with your users. You are building value as fast as you can for them, your laggard dependencies be damned. Where dependencies can't keep up, you solve problems yourself!

You have seen the dire warnings from stagnant, slow bureaucracies. You've seen them calcify because they were too tied to other parts of the business. And you know that you won't end that way. "Decoupled" is your watch word and you're determined to stay nimble however you can.

Maybe you haven't found PMF yet, so you need to keep experimenting quickly. Or you have and things are all the more dire because you're barely able to keep scaling ahead of success better than your wildest dreams. Either way, you are shipping new features as fast as you can, because feature quantity has a quality all its own and you need to keep learning/stay ahead/make money.

There's just one problem. You've become dangerously overextended. You're building the 9th gorgeous wing of a castle on top of increasingly unstable sands. Or the wild growth of your product's trees is starting to succeed wildly but is growing top heavy, and your shallow root systems increasingly can't keep you upright. You know what else is awesomely decoupled, moving rapidly, and completely independent of pesky constraints? Wile E Coyote suspended 200ft above a gorge with nothing under his feet.

Instead, you must think equally about your velocity and your overhang. Worry about that brick wall you're headed at full steam ahead -- don't just get excited for how fast you're moving. Think early about the length of your runway, and talk to your dependencies so they can hopefully anticipate your needs.

Code, by volume, is tech debt. If you can build atop a well aligned dependency, you get to recruit its developers to build features (and do ongoing maintenance) for free. Their work is your value and leverage. If you lose this alignment, you simply now own more code. It will eventually hurt even if you can't yet see it today.

Watch for your progress vs foundations. Work with dependency teams to make sure the runway stays ahead of your features. Bite the bullet and admit when the forest is about to topple – slow new features, solidify the foundations, and get back into a good place. Leverage is absolutely magical when your dependencies are squarely supporting the direction you're headed. If that's not the case right now -- look at it honestly, figure out how to address it, and go ensure the foundations get fixed.

Subscribe to Locally Optimal

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.