Guest Column | March 22, 2021

Setting Priorities Right In Software Product Development

By Andrey Koptelov, Itransition

Top Priority

‘What’s next?’ Sadly, many software product managers don’t know. Preoccupied with other challenges, they often underestimate the significance of effective prioritization. Whereas without a well-defined engineering process in place, the entire product development project runs the risk of falling apart.

In the fast-paced, fiercely competitive startup environments, product owners need a clear-cut, long-term strategy to navigate the pipeline of software product development. Business requirements are only the starting point — a well-defined software engineering plan should cover all aspects of the project, including which features to roll out and in what order, how to communicate inside and outside of the team efficiently, and how to manage the unexpected change.

Setting these priorities isn’t easy — it involves at least five core components:

  • Careful planning
  • Profound product knowledge
  • Insights-based analysis
  • A dollop of intuition
  • Mastering the subtle art of saying no

What methods may come in handy in product development prioritization? Let’s see.

Start With A Robust Strategy

Every house needs solid foundations, and every software project requires a roadmap. Without an overarching long-term direction, you put yourself at risk of creating a messy cluster of features rather than a fully-fledged platform or application your customers will fall in love with. Sticking with a pre-established strategy will help your software product maintain consistency and relevance down the line.

Feature prioritization gives your project the structure needed to progress toward the ultimate goal — the released product — seamlessly. You know exactly where to go without randomly knocking out features. But where do you start?

First of all, capture all tasks and features to be implemented. Collect them in one place (use digital tools or a dedicated project management software), and share them with all team members. As the next step, develop the feature roadmap with specified deadlines and assign responsible employees. Don’t forget to add buffers to every task in case something unexpected happens (and it always does). But don’t let that throw you off balance: a certain degree of risk is inherent in all software development projects.

To minimize potential issues and efficiently deal with roadblocks as they emerge, ask the right questions before the project kicks off: Is a particular product feature compelling and developed enough to sell? How much maintenance and updating will it require in the long run? Are there any known issues that may lead to delays in its implementation or added costs? Resolving these issues at the start will get you prepared to face the consequences of possible changes.

Have No Mercy When Evaluating Features

Identifying key goals and bearing them in mind throughout all project stages is the best and primary way of filtering out excessive ideas. Whenever a suggestion for a new feature crops up during the project execution, ask yourself: “Will it help me achieve the project goals?” and “How much extra effort will we need to make to add this to the pipeline?”

Evaluate each product feature idea taking heed of the following key factors:

  • Estimated profit vs. development cost — always consider these two aspects together. Certain product features may promise a relatively high profit. Still, their development cost can be too taxing on your current budget, severely quickening the cash burn rate and affecting other components’ delivery.
  • Customers’ benefit vs. developers’ fun — developers often try to push features they love, ignoring the customer’s best interest or the project’s roadmap. Don’t give in to the temptation of implementing exciting ideas just for the thrill of it if they don’t directly contribute to the end goals.
  • Available vs. desirable resources — remember to carefully balance out the resources — time, work hours, people’s effort, and team morale. Allocate them where they are most needed.

Even the most brilliant ideas shouldn’t be implemented if they don’t ultimately serve the realization of your strategy. But you don’t have to completely discard them — keep a list of unexploited concepts for later; their time to shine may come when you’ll be working on one of your next projects. Adopting this approach may seem like a distraction at first, but this technique will help you avoid analysis paralysis and delays in delivering your product in the long haul.

Pick The Right Prioritization Tools

The next critical point on prioritization concerns reconciling stakeholders’ conflicting inputs and opinions and identifying ideas that will make your product successful. Many product prioritization frameworks will make that task easier with score systems, key metrics, or visualization. Here are a few popular examples:

  • RICE is a commonly used measurement system that puts four crucial factors of a product feature (Reach, Impact, Confidence, and Effort, or RICE for short) into a single numerical score. Based on your team’s ratings, the formula is a handy tool if you need a quick estimate of where to put a feature on your priority list.
  • Value vs. effort is an even simpler quantification method that uses just two metrics measured on a scale from one to five. The main advantage of this model is its flexibility — some teams may define “effort” as risk, and others as development costs. After all, you know best what’s most important for your project.
  • If you’re looking for a more unorthodox framework, try the product tree. In this collaborative visualization game, customers or team members are asked to write down features on sticky notes, which are then mapped onto a picture of a tree; the further they are from the tree trunk, the lower they are in your development schedule. It’s a fun way to brainstorm ideas and get a broad picture of implementation priorities.

Combining various methods helps streamline communication with your team, customers, and other stakeholders. By crunching features into numbers or presenting them in a visual format, you can get your point across faster and more efficiently. Choose the frameworks that work for your product and environment!

Find Out What Floats Your Boat

There isn’t a single failproof prioritization method that works for every team and project. How you work depends largely on your goals, customer feedback, vertical, team dynamics, and other variables. In some projects, prioritization can be handled with weekly stand-ups; in others, a several months-long focus plan works best; a daily reassessment regime has its uses when deadlines and budget constraints are tight.

Whatever your preferences, setting priorities is essential. Poor prioritization can set back the development, costing you hours of work, a hefty sum of money, and a whole lot of frustration. Planning the process from the ground up may be cumbersome, but it is sure to make things easier as features start stacking up.

About The Author

Andrey Koptelov is Innovation Analyst at Itransition.