Trying to do the most important work at any one time is an evergreen struggle in consulting. I’ve come up with a few lists to help make this less ambiguous. I’ll keep this short.
If there’s a task that answers one of these questions, pick that first. Questions are ordered from most to least important.
- Is there an upcoming event that is dependent on a task?
- Did the client ask for something specifically?
- Did users request something?
- Are you blocking a teammate by not doing a task?
- What do you want to work on?
When refactoring, I keep the following in mind:
- Is this refactor in service of a feature? If not, maybe don’t do it.
- Always set a time limit (timeboxing) and re-evaluate at the end whether or not to continue the refactor or revert back to the old code.
Sometimes, you run into a task that contains a lot of unknowns like working with an API that has little-to-no documentation. Don’t go off into the wilderness and emerge hours or days later.
- Timebox it.
- If you’re not making progress after about 15 minutes reach out to people who could help.
- Pair with someone so they can give you a wider perspective and keep you from going down unproductive paths.
- Don’t be afraid to scrap your work and start over if you feel like you’ve started down the wrong path.
I’ve found these lists helpful in getting unstuck and getting tasks done. Hopefully you’ll find the same.