At most startups, one of the hardest things to do is prioritize tasks. If your startup is anything like mine, you’ve got hundreds of things you could work on. There are always more ideas and tasks than there are people to do them. The trick is figuring out what to work on now and what to work on later. I’ve had to deal with this challenge for most of my professional career.
Figuring out how to prioritize is a non-trivial challenge because there are many factors at play. I don’t think it’s possible to come up with the “optimal” prioritized list of things to do (and even if you had the optimal sequence, you wouldn’t know it or be able to prove it).
So, the way I like to think about this problem is to analyze the inputs into the function. Here’s how I think about prioritization within a startup. Note that these points are related to prioritization of tasks related to the product (in my case, software for internet marketing). But, some of the principles would likely work for other types of businesses as well.
The Art Of Startup Prioritization
When reading this list, assume that all other factors are equal (which I recognize that they never are). Also, it’s important to recognize that a lot of my thinking about startup task prioritization is solving for the somewhat amorphous concept of “startup success”. I’m not just looking to build the “best product” or create the highest margins. Also, I don’t think the classic approach of “work on the things that are most important” is a good one. In tends to be sub-optimal because of other factors.
For example: There may be one critically important task that you would think is the “highest priority” right now, but it may need to be deferred based on the fact that it’s so mind-numbingly boring that you’re going to lose your lead developer if you make him work on that task immediately after he just spent a week working on another mind-numbing task. Sure, it's "super-important", but there's a price. One of the goals of the prioritization process is to make optimal use of resources that you have – and ensure that you still have them.
But, I digress. Here are the things I like to think about when deciding what to do.
1. Proximity To Customer: When choosing between two otherwise equally important tasks, pick the one that will deliver the most direct value to the customer (i.e. it is the closest to the customer’s needs). So, although picking just the right shade of blue for your logo might be important – it doesn’t really help the customer directly. (Note: I recognize this is an extreme example, but since this is the first point, I wanted to make sure I’m clear on the structure of this list).
2. Visible Value: Tasks that create value that can be seen win out over tasks that are under the covers. Customers often lack imagination and appreciation. In the early days, it’s very important to create both the perception of progress and actual progress. On a related note, non-engineers share this trait with the customers. So, your CEO is likely going to be more impressed with a feature she can see than one she can’t.
3. Non-Controversiality: Pick tasks that are non-controversial and don’t require debate, discussion and lots of analysis. Basically, pick the tasks that are “obvious” (i.e. of course we should do this thing and of course we would do it this way). For example, fixing an easily replicable bug that deletes all the user’s data at random times is non-controversial. Everyone agrees it is a bug and there’s likely not a lot of debate about how to fix it.
4. Maximize Wow to Work Ratio: This is possibly the most important item (and my clear favorite). That's why I changed the title of the article. This tip suggests that when in doubt, pick the task that has the highest “wow to work” ratio (that is, the task that creates the most customer delight for the least amount of effort/investment). You’d be surprised to see how easily we engineers get this wrong. We have this mistaken notion that the “Wow!” factor and the level of work needed are somehow correlated. They’re not. Customers are often delighted by the most trivial things sometimes. Find these trivial things and do them. Once again, for effect: "Just because it was easy for you to do, doesn't mean that it won't delight your users."
5. Team Productivity and Preservation: Pick tasks that optimize the level of productivity of your current team and minimize the chances that one or more of them are going to go running into the hills. Business-types get this one wrong all the time. Yes, getting you the report that tells you with precision exactly how much money you’re losing on your freemium product is important. And yes, you have to have it by the end of the week so you can update your VC investor spreadsheet. But, forcing this task is going to be sub-optimal if it causes your programmer to quit on you – because then you have two problems. In short, don’t just force-feed the most “important” tasks. Be mindful of the state of the team.
I've got several more items on my list, but these are the most important. What are your thoughts? How do you go about choosing between the hundreds of possible tasks in your startup's list of things to do? Please leave your comments.
Figuring out how to prioritize is a non-trivial challenge because there are many factors at play. I don’t think it’s possible to come up with the “optimal” prioritized list of things to do (and even if you had the optimal sequence, you wouldn’t know it or be able to prove it).
So, the way I like to think about this problem is to analyze the inputs into the function. Here’s how I think about prioritization within a startup. Note that these points are related to prioritization of tasks related to the product (in my case, software for internet marketing). But, some of the principles would likely work for other types of businesses as well.
The Art Of Startup Prioritization
When reading this list, assume that all other factors are equal (which I recognize that they never are). Also, it’s important to recognize that a lot of my thinking about startup task prioritization is solving for the somewhat amorphous concept of “startup success”. I’m not just looking to build the “best product” or create the highest margins. Also, I don’t think the classic approach of “work on the things that are most important” is a good one. In tends to be sub-optimal because of other factors.
For example: There may be one critically important task that you would think is the “highest priority” right now, but it may need to be deferred based on the fact that it’s so mind-numbingly boring that you’re going to lose your lead developer if you make him work on that task immediately after he just spent a week working on another mind-numbing task. Sure, it's "super-important", but there's a price. One of the goals of the prioritization process is to make optimal use of resources that you have – and ensure that you still have them.
But, I digress. Here are the things I like to think about when deciding what to do.
1. Proximity To Customer: When choosing between two otherwise equally important tasks, pick the one that will deliver the most direct value to the customer (i.e. it is the closest to the customer’s needs). So, although picking just the right shade of blue for your logo might be important – it doesn’t really help the customer directly. (Note: I recognize this is an extreme example, but since this is the first point, I wanted to make sure I’m clear on the structure of this list).
2. Visible Value: Tasks that create value that can be seen win out over tasks that are under the covers. Customers often lack imagination and appreciation. In the early days, it’s very important to create both the perception of progress and actual progress. On a related note, non-engineers share this trait with the customers. So, your CEO is likely going to be more impressed with a feature she can see than one she can’t.
3. Non-Controversiality: Pick tasks that are non-controversial and don’t require debate, discussion and lots of analysis. Basically, pick the tasks that are “obvious” (i.e. of course we should do this thing and of course we would do it this way). For example, fixing an easily replicable bug that deletes all the user’s data at random times is non-controversial. Everyone agrees it is a bug and there’s likely not a lot of debate about how to fix it.
4. Maximize Wow to Work Ratio: This is possibly the most important item (and my clear favorite). That's why I changed the title of the article. This tip suggests that when in doubt, pick the task that has the highest “wow to work” ratio (that is, the task that creates the most customer delight for the least amount of effort/investment). You’d be surprised to see how easily we engineers get this wrong. We have this mistaken notion that the “Wow!” factor and the level of work needed are somehow correlated. They’re not. Customers are often delighted by the most trivial things sometimes. Find these trivial things and do them. Once again, for effect: "Just because it was easy for you to do, doesn't mean that it won't delight your users."
5. Team Productivity and Preservation: Pick tasks that optimize the level of productivity of your current team and minimize the chances that one or more of them are going to go running into the hills. Business-types get this one wrong all the time. Yes, getting you the report that tells you with precision exactly how much money you’re losing on your freemium product is important. And yes, you have to have it by the end of the week so you can update your VC investor spreadsheet. But, forcing this task is going to be sub-optimal if it causes your programmer to quit on you – because then you have two problems. In short, don’t just force-feed the most “important” tasks. Be mindful of the state of the team.
I've got several more items on my list, but these are the most important. What are your thoughts? How do you go about choosing between the hundreds of possible tasks in your startup's list of things to do? Please leave your comments.