There are an unlimited number of factors you could take into consideration when determining what projects or tasks should be a priority. You will likely use different factors when considering long or short term priorities too. What factors you actually use will be a reflection of the mission of your organization. Recently I spent a little time setting priorities for our Event Espresso and Event Smart developers for the next week. During this process I used Speed, Impact and Strategy to make the process of setting short-term priorities more practical. 🔨
Most Factors Distill Down to the Mission of the Organization
If the organization has a mission to make money, the organization will focus on what will drive money now and later. If the organization is focused on a different specific purpose, then the purpose of the day will be whatever can forward that mission.
Sometimes the “Mission” is Too Ambiguous to be Helpful
However, sometimes using the mission of the organization is not clear enough for the day-to-day decision making to be very helpful.
Here is a mission statement for Coca Cola that is probably less than helpful for a manager or programmer to decide what software code to work on today.
The Coca Cola Company Mission. Our mission is: To refresh the world in mind, body and spirit. To inspire moments of optimism and happiness through our brands and actions.
If you’re a programmer could you justify doing yoga to support that mission statement? 🤔
And if you’re the manager of that programmer, you won’t be very happy with the progress of your software project at the end of the week.
We have a mission statement and vision for Event Espresso, but that’s not necessarily enough to tell us what we should work on today, tomorrow or next week. For the real short-term planning I favor: speed, impact, and strategy.
Speed is important because sometimes a developer can complete a task (or several tasks) that can collectively improve a customer’s experience. Sometimes a few quick wins can increase your team’s morale, momentum and energy.
Getting a batch of issues resolved quickly can also clarify the fewer remaining tasks.
Even if a task has a lot of impact (discussed next), it might take a long time to get done, which can delay other enhancements.
So, the speed or velocity of completing the tasks is important. The faster a developer or development team can get something done the more likely it will be a priority today.
Some of the tasks you might consider will be trivial or significant. In the short-run, I favor projects that can have the biggest impact in the shortest amount of time. We often categorize tasks by the amount of work we expect it will take. So when we are evaluating a task we can get a sense that if we invest a little in that task it will be done pretty quickly. That gives us confidence that we can make customers happy and increase our chances of gaining market share in the event registration and ticketing software space.
Even if there are features or bug fixes that customers want addressed, and we can do that task quickly, that still doesn’t mean those tasks should be a priority. In the software business you want to avoid throwing every little suggestion into your program. Unnecessary features and code creates technical debt that will have to be maintained and will impact future development (for good or bad). So, only when a task fits into the purpose of your software should you consider investing resources into that code.
What factors do you consider?
There are a lot of other great factors that could also be considered, such as marketability, popularity, etc… but I’ve discussed just a few of the more easily understood factors I use to help set development priorities in the short-term.
Give some encouragement and share a little…What factors do you use to quickly set short-term priorities? If you haven’t thought about it specifically, pause for a minute then tell me what you think.