There are a number of factors that can impact a business. Is the company in a growth stage? Where does the market sit? Has there been an environmental shock (pandemic, anyone)? With everything that can happen internally and externally to impact a company, it’s important that the product team knows what to prioritize and when to prioritize it in order to keep the product up and running as smoothly as possible for customers. But where does that distinction lie? How should product teams make the decision to prioritize new functionality over quality of life improvements, or vice versa? Let’s dig into some of the factors product teams need to consider when balancing between flashy new feature ideas and general product maintenance.

Have a Framework

Companies prioritize their roadmap differently, but all of them have some framework in place to track high level product priorities along their product vision. Larger companies are often in a position where they have the economic backing to afford a five year product vision and map out various feature releases on the roadmap for each year. Younger companies have to be a bit more nimble. Because they’re less established, it can make it easier for these product teams to reprioritize features as sales brings in potential new customers to close deals. The downside is that with product priorities changing so quickly, it can be hard to remember how to keep momentum towards the product north star. For startups and younger stage companies, we recommend creating a long-term product framework, like the three horizons model, to balance immediate needs with long-term goals.

Three Horizons Model

Even for young companies, it’s important to look at product development from a long-term lens. The Three Horizons Model is a growth strategy framework developed by McKinsey to help understand company growth in a manageable and measurable way.

  • Horizon 1: These are generally short-term projects that are expected to produce results in 6-12 months. The timing varies depending on the type of company; a B2C company may have projects that produce more immediate results than a larger stage B2B software company that expects results in a year or two. The goal of these projects are largely based around optimizing what feature functionality already exists in the product. As a product example, the team may be geared towards small internal process improvements for existing customers or updates to help expand the overall user base of the product.
  • Horizon 2: The focus for horizon two is exploring new expansions that could produce results in the next one to two years. Generally you want to focus on technology or processes that work well in other industries or products and determine how they can be adapted for your own market.
  • Horizon 3: These are the long-term, innovative, and disruptive projects that produce results in three or more years. While these are not always thought of as the small, incremental product additions, for B2B companies it’s often the case that small changes over a long period of time working towards a goal can be just as disruptive for the industry as one major release.

Once the model is set, you can focus on hitting particular product milestone within each of the horizons. Some companies may use a nine month roadmap within the horizons, wherein they prioritize based on features they know are going to be released in the next three months. Then three to six months is focused on testing designs and the next phase of feature functionality. And the six to nine month range are committed to addressing a problem statement: something new in the market or a feature a group of customers are requesting but that the team hasn’t quite figured out how to solve. Flexibility to weave in and out priority items as they come up, so long as higher level horizon goals are being addressed, will keep the product and company moving in the right direction.

Balancing at an Early Stage

Now that the team has built out a framework to understand long-term goals, it’s time to get to balancing the every day product priority needs. Every product team wants to create new features that make a lot of noise, are super relevant to the market, and attract new customers. Unfortunately, there’s also tech and expectation debt that comes with de-prioritizing items that you know need to get done but that won’t immediately close deals. Debt in this case refers to the gap between the user’s expectations for an update and what is actually delivered when teams don’t take the time for developing a full solution. How do you balance new feature functionality with quality of life product improvements?

Importance of General Maintenance

Teams are always trying to push out as much product as possible with the highest quality in the least amount of time. Sometimes in order to do that, you have to slow down a little bit to ramp up the back end infrastructure to support going faster in the long run.

Example: Automated testing—every time you make a new feature, you automate the testing of everything in the platform that already exists to make sure that what’s about to be released isn’t going to break anything. Otherwise, a new feature may unexpectedly cause a bug in the product that engineering has to take time to fix. Having to stop work on the next phase of features in order to put out that quick fire, whether it takes a day or a week to correct and address, adds up. Because you’re having to constantly go back and fix things that shouldn’t have been broken in the first place, the product may not hit the roadmap and horizon goals.

So investing engineering resources into building these regression tests does save you a lot of time and hassle in the long run (even if it’s hard to think of it that way when you’re spending a week building out tests for something that customers will never see). You can’t sell automated testing, but you can sell the idea of being reliable and a bug-free product because you’ve already invested that time into supporting product infrastructure. Once you commit and take the time building out your test suite, you never have to take those three weeks again. The foundation work helps reach those long-term product goals.

New Feature Functionality

Let’s say you get off a call with a company you want the logo for and they want something that wasn’t on the roadmap for another quarter, but the only way to close that deal is to build out that feature. For a lot of startups, something that’s just as important as product development is logo velocity—showing that you’re signing up new accounts, particularly high-pay accounts. In these cases, you may need to shift the priority of long-term goals to close some short-term revenue.

One way to offset the potential pushback from prospective customers is to work on forming a close relationship—a partnership—with them. If someone is asking for a feature that doesn’t yet exist or would need to be designed, talk through your development process with them so they have an understanding of timeline. Building out new feature functionality that’s going to directly benefit the customer should feel like an exciting endeavor because the product team has demonstrated that their feedback is valued and directly influencing the process.

Sometimes prospective customers or existing customers are going to ask for features that aren’t on the roadmap or that the product team has no plans to ever build. That can feel like an awkward conversation to navigate. You’d probably be surprised, though, by just how understanding most people can be when you take the time to have a legitimate conversation about the direction of the product. Oftentimes, a compromise exists within existing or soon to be released functionality that will cover the customer’s main concern. However, the last thing a product team should risk is bringing on a new customer who’s been sold on a core functionality that doesn’t or will not exist in the product, because you risk increasing churn down the road. Understand the value proposition of the product and practice communicating those priorities with customers.

New features or quality of life improvements?

There’s no secret formula, but there are some things that can be done to help ensure product teams are covering their priority bases.

Include multiple priority types in a single product release or update. Assign different priorities to different engineers. A few engineers work on projects related to new features, another few work on general enhancements to the core product, and the final few work on bugs and engineering maintenance. The number of engineers working on each area may shift to accommodate the size of a release or core update. If quality of life updates only require one engineer, great! Move some other engineers to help pump out a flashy new update. Often, many smaller startups don’t have an engineering team large enough to do this, and that’s okay. If that’s the case, you should work to set dedicated times for your engineers to spend on each of these segments. The general idea is just to consistently update multiple priorities. Then you can make progress with multiple product priorities: bringing in new customers with flashy releases, while still driving customer engagement and increased sentiment with quality of life improvements.


In the beginning, you may not always be developing your long-term vision because you just need to ensure a steady enough customer base to pay the bills. But what you are doing is learning from the early user engagement, user interviews, and feedback to inform your product vision. It’s important to be flexible and make the most use of cross-functional collaboration to ensure a consistent, valuable product for your customers.

For more info, check out our podcast