Prioritization of tasks is one of the main responsibilities of a Product Manager. There is a never-ending list of features, bugs, UX improvements and refactoring to be done. These tasks are for the users, or to keep up with competitors or simply to make the development environment more scalable. And those features are expected to be done yesterday.
In Repro, the UX Designer is also a Product Manager of sorts. The Product Managers are still responsible for prioritising the features for product strategy and road map and to align them with business goals. In addition to designing, I manage prioritization and write requirements for the backlog of items that are specifically related to usability. There are a few reasons that I chose to do this;
- Total Control Instead of simply influencing the process, actually managing the process gives you total control and allow you to move the UX of the product to the direction you want.
- Better Information Flow Often times, designers lack information to make sound decisions during the process. In order to craft the requirements, you would take steps to understand the problem thoroughly.
- Higher Level of Communication Once you have the responsibility to gather all the information, you are “forced” to talk to all sorts of people in and out of your company to understand the background which led to this request and things to consider when coming up with solutions.
- Better Awareness Instead of having debates with PMs or Engineers about if each task is worth doing, you can simply adjust the formula. Motivation usually goes up when everyone is confident that the work they are doing is the being done at the right time.
Based of the process here by Sathish Chander, the way I manage the prioritisation is as follows.
First off, we need to decide how important a task is, in comparison to the other tasks. So we rate the task from 1-10 on 4 different factors
- User Needs This is how much direct benefit users will experience. You estimate this based on amount of requests and number of users likely to encounter this problem. I often double check this with our Customer Success team, which meets users on a regular basis. Specifically for users, you can assign negative values for tasks that will have a detrimental effect. ie. If you want to show ads in the dashboard to increase revenue
- Business Needs Task that increases conversion rate, or directly have a business impact.
- Tech Needs Tasks that help with engineering in the future, like refactoring, code cleanup or implementing a necessary framework.
- Others Needs Stuff like analytics or code migration
Next, you need to decide the weight of each need. This depends on the direction of your company and the current needs or phase of your product strategy. For Repro, User Needs carries the highest weightage, usually 50% or more. The rest of the 50% are made up of the other 3, with Business Needs being the lowest. Since new features, like Web Messaging, is directly planned into the roadmap by the product managers and handled by separate engineering resources, I can focus management of these tasks solely to improve user experience. Here as example of how it would work
And you would get and impact for each task. Next, you need to get the implementation complexity from 1-10. This is ideally a number your tech team gives to you, but since I have some understanding of front end costs, I was able to rate this number and get them to check it periodically. It’s unlikely that your tech team has the time to understand all the tasks and assign complexity to all of them, so having an estimate allows them to confirm the few tasks that are coming up.
To get the prioritization rank, simply divide the impact by implementation complexity. ie. If the complexity is 2, then 6.4/2 will give you a prioritization rank of 3.2.
Impact 6.2 / Complexity 2 = Prioritization Rank 3.2
Sort your list of tasks in a spreadsheet to see which tasks should be done first.
On top of that, I implemented something called Surge, inspired by surge pricing in Uber where you had to pay more when there were lesser rides to hail. What this means is that I would have certain factors to match specific goals or direction I would like the usability to go. For example, I value a bug-free environment more than adding more features, so if a tasks was a bug I would add an extra 10% to it’s rank. We are also recently trying to compete in the web marketing market, so any web marketing related tasks would get 20%. You can basically use surge to adjust priorities based on your direction or current goals.
This formula isn’t rocket science, and there is also no right formula. It’s important that you find and tweak a method that works for the situation. You can even start with a simple impact/effort comparison. Happy prioritization!