Over the last year, I have managed seven developers (iOS and Android) inside a Mobile Team with Quality Engineers, Product managers and Delivery managers. One thing always raised on 121's, independent of the person's experience, are priorities.
It is like my grandmother always said to me:
Choosing the correct priorities is one of the key skills for individuals and teams success.
So how do you choose when to update a library, do some code refactoring or finish a new feature?
Main Quest & Side Quest
This simple analogy has become very powerful for me and my team.
Like a game, you need to complete the Main Quest to finish it. But doing Side Quests will make it easier to complete the Main Quest, better gear, a new skill, open an easier path, etc.
Our Main quests are the product tickets (new features and fixing bugs), usually from the product OKR and business plan or design research.
The Side Quest would be a code refactor, library update, new tool adoption, etc.
If you focus only on the Main Quest, you will have much more trouble with your code, making your life harder when you get to the boss (release) without the best sword or enough stamina to get you through it.
But if you only do Side Quests or more side quests, you will never finish the Main Quest.
This analogy made it more accessible for my team to balance priorities.
Bonus: Rocket Time — Individual Autonomy
When I worked on Moonpig, we had our Rocket Time; every other Friday, there was a day to focus on what was essential for you. Learning a new code skill, trying a new tool/language, refactoring that piece of code you hate, improving some minor bug no one else cares about but annoys you.
Happily, I implemented this on my team and influenced the rest of the engineers at Proximie to have the same time opportunity.
This Rocket Time (20% Project from Google) has many benefits, but focusing on the priority part, this is an excellent exercise for the individual, given this real conversation as an example:
- Dev: Canato, we need to do X; it is essential and should be our next focus.
- Canato: Indeed, this is a good change, but it will only bring a little value to the user now, so keep it from our priority list/workflow. We have other priorities for the time. We can revisit this later.
- Dev: We should immediately do it.
- Canato: I see; how about you tackle it during rocket time?
This is a recurrent conversation anywhere. But instead of just not doing something, we allow the developer to do it and prioritise with their own time.
Something is always learned from it.
I hope the Main Quest & Side Quest analogy help you and your team to prioritise.