Product School

Identifying and Managing Product Constraints: The RIVER Framework

Guest Blogger

Author: Guest Blogger

January 9, 2023 - 9 min read

Updated: January 24, 2024 - 9 min read

Editor’s note: the following was written by a guest blogger. If you would like to contribute to the blog, please review the Product Blog contribution guidelines and contact [email protected]

What would you answer if you were asked to explain few top skills for Product Managers (PMs)? I am sure the words that come to your mind would be like market research, analyzing customer needs, communication, strategic thinking, business mindset, negotiation skills, prioritization etc.

I agree, these are all important qualities of Product Managers. But what if one fails to recognize key constraints, or to identify dependencies, or managing critical risks, or considering changing market landscape? I am very sure to say that even a single critical constraint or dependency can easily offtrack your product, and so destroy your future plans.

Before we get into details, let me ask you “What is constraint” in the product world?

“Constraint is anything that prevents you from making progress towards your product goal.”

It can take many forms and it’s impossible to derive a holistic common list of constraints. Each product might have different constraints depending on its goals, environment, customers, technology, geography etc.

It is always important to identify key constraints proactively during product planning phase, and have them included in your product roadmap. This helps you to ensure that it remains in focus and gets prioritized throughout the product lifecycle. It also helps to bring sufficient attention of the team during release planning and closure events. 

In this article we will go through some parameters that can turn into a constraint for your product. Any constraint can easily impact your product launch or release dates. Significant constraints can possibly impact your product strategy and future roadmap as well.

Let us go through some common parameters that can turn in to constraint for your product. Note that these are just examples, so may or may not be directly applicable to your product and environment. 

  • Competition pricing (and resource cost) – Every product is built for a specific market segment. Most of the time there is some competition in the segment, so you need to ensure that your product is sold in a similar price range. To ensure that you can meet this goal, it is very important that you understand your resource cost (fixed and variable) and keep it always under check.  

  • Timelines (seasonal factors, competition, budget etc.) –

    All PMs follow some timelines to meet the company objectives and product goals. But most of the time, their focus remains around product development and testing activities. Apart from this, it is very important to consider market facing factors such as seasonal impact, competitor’s release date, yearly budget/tax impact on product price, customer’s budget cycle (in case B2B product) etc. As you can understand, these parameters can directly impact product sell and so as a PM it is important that you drive product timelines considering them on ongoing basis.  

  • MVPs and Must haves (for Pilot/Launch) –

     

    • Basic Functionality (+Jobs to Be Done): It is very important that an initial version in the market delivers at least basic/core functionality expected by customer. Otherwise not just you will get less buyers, but it will start spreading negativity for your product.

    • User Experience (Configuration, role, Reporting): Some product functionalities require initial work from users, even before they can start using the product. For examples, users may need to configure payment details, or select the role (assuming there are multiple roles offered) or may need to see some reports/outcome after executing functionality. If this is required then it must be included along with your pilot/launch, or users will not find your product usable. 

  • Product Support needs (post launch) –

      

    • Medium (phone, chat, email):

      Nowadays, phone, chat and emails are the most common mediums used by customers sort out their queries and to report the defects. You need to ensure that a support system is established around all these mediums before you launch your product. 

    • Languages: You may want to consider minimum languages to be supported. Most of the developed or developing countries will have 2 to 3 official languages. Depending on geography you are planning to launch your product, you might have to be prepared to provide the support minimum number of local/global languages. 

    • Timing: It is important to figure out in advance what times you will be able to provide your product support. One can always say 8 working hours for weekdays for regular products but depending on country/geography 8 working hours can be different. In case product operates around time critical features then you may need to offer 24/7 support as well. 

  • NFRs – I know a working product is the most important thing during launch, but non-functional requirements are equally important in terms of minimum load and performance requirements or response time, reliability, availability, scalability, compatibility (operating system, browser versions, hardware etc.), securing customer data etc. As a PM, you need to ensure that this is taken care of properly before you bring your product to market. 

Now you understand some of the possible parameters that can become constraint on your product. As I said this can directly impact your product roadmap, possibly a market launch or a major release. But there is no simple trick to fix it quickly or work around them. At the same time, it is not impossible to control them if you plan it well and stay focused. You just need to identify them as early as possible and approach systematically. Generally, most problems have many ways to fix them, and it is up to individuals what route they take. 

Constraint Management Framework “RIVER”:

Over the period, I have managed a number of products and so dozens of constraints. This experience taught me, how to identify the constraints in more structured way, and address them systematically. I call it a simple constraint management framework RIVER.

So far, it worked well for me, and hopefully, it will serve you as a good starting point. The way the river keeps flowing, the process of managing constraints is also continuous and should keep running throughout the product lifecycle. 

Product Constraints - RIVER Framework by Nirav Patel

Review – To start with, you need to review your constraint parameters against the target product goals. Find out how far you are from achieving it. If you find yourself behind, then start putting a plan in place to achieve the desired outcome. Your plan should answer what (needs to be addressed), how (you will address it) and when (it should be addressed) sides to bring objectivity to your planning.  

Implement – Not it’s time to take the action. Explain the constraint and associated parameters to all involved parties and bring necessary attention. Your job is not just to explain, but to also make sure that associated work is prioritized in future releases/sprints, and rightly tested. To make that possible, you might have to refine the Definition of Done (DoD) to reflect the constrain specific validations.  

Validate – Just the DoD pass criteria is not sufficient to track the progress made by the team. Outside the ongoing sprints, you may want to put some metrics in place and define the mechanism to track the data points on an ongoing basis. This will help you to track the progress continuously, instead getting a last-minute surprise towards end of release. 

Additionally, there are times when you may want to consider some short-term goals (intermediate) like supporting 5k concurrent users (load) for upcoming release, instead long-term goal of supporting 50k concurrent users. It helps to unblock your launch/releases and still helps to track the progress towards future milestones.  

Elevate – What if you figure out that team is unable to make sufficient progress within couple of weeks or sprints? Well, now it’s time to elevate the problem. This may require allocating more time to a specific type of work within the sprint, or tweaking (increase/decrease) the resource capacity of the team, or even bringing SME from outside the team. At times, you may want to reach out to leadership team (sponsor), to keep them aware of the situation. It is important that you go with plan to address the situation (possibly with backup plan). It is okay to ask for specific help from leadership team (or sponsor) in such situation as far as you confident to address the situation with you plan in specific timelines.

Repeat – If original plan is practical and if you have right level of resources then about 50 to 70% of times, you should be able to address the constrain in single cycle. Even if it is not fully fixed, you should have achieved partial results, achieving your short-term goal fulfilled. In case, it is not fully addressed yet, then repeat this cycle until you get desired results to fulfill your target product goals. Basically, this cycle needs to repeat until you can confidently say that constraint is no more a constraint, for your product launch or a release to market.

As I said earlier, there is no defined list of constraints. But some examples explained in this article should help you to think through and identify parameters in your product that can turn constraint for you. You need to list down those parameters, define target goals against the same and keep close eyes around it throughout the product lifecycle. Your goal should be to proactively identify the situations, when specific parameter starts moving towards the range when you consider it a constraint, so you can take necessary measures to control the same upfront.   

About the Author

Nirav Patel

Nirav Patel is a Product Management Lead with Microsoft, having 20+ years of experience managing B2B and B2C products. He built and delivered secure, high performing, scalable cloud products, in highly agile distributed teams.  

He successfully launched global products and evangelized them leading their exponential growth. He also led complex ERP product implementations for enterprises, driving their Digital Transformation journeys. He strongly believes in growth mindset, and managed multiple products for Sales, Retail, eCommerce, Supply Chain and Banking domains.

Nirav is truly customer obsessed. He loves to understand their business challenges and is passionate to solve complex industry problems using simple intuitive solutions.

Updated: January 24, 2024

Subscribe to The Product Blog

Discover Where Product is Heading Next

Share this post

By sharing your email, you agree to our Privacy Policy and Terms of Service