If you're working on a single project, getting things done is usually quite easy. You just pick the currently most urgent (and hopefully important) task in that project and work on it. When it's done, you pick the next task, and so on.
But how often have you actually been working on a single project only? Even if, technically, you're working on a single project at work, there are always other hidden projects that demand your attention:
- learning that technology you want to learn
- doing that certification you need for promotion
- getting started on that side project
- managing expectations with your manager
- planning your career
- ...
The further along you get in your career, the more projects tend to pile up, and picking the next task to work on becomes a chore.
I often find myself focussing on the projects that require hands-on programming work because they are the most structured (with a backlog, a sprint board, etc.), and, frankly, because they're the most gratifying to work on. I get results quickly and get to move a card on the board from "To do" to "done". Who wouldn't prefer that over fuzzy non-programming work that no one else (but yourself) will thank you for when it's done?
That means, however, that all my non-programming projects are stuck indefinitely. That's not good for my next performance review, since I'm not measured by programming tasks alone.
So, what helps to advance those non-programming projects? What helps me is scheduling the next task in each of my projects.
That means I schedule that meeting with my manager to talk about expectations in our calendars. While I'm at it, I also schedule 30 minutes in my calendar just for myself to prepare for that meeting.
It also means that I block 2 hours of time this week in my calendar to just think about my projects and career to identify the next things I need to do.
Just having those blocks of time in my calendar helps me to prioritize these tasks on the day they are scheduled. It also helps to keep that time free because other people see that it's blocked in my calendar.
I also add cards to my team's sprint board for many non-programming tasks I'm working on, even if they're only remotely related to my team's projects. This manages my team's expectations towards me. They now know what I'll be working on and what not. They might not really be interested in the results of some of my tasks, but I don't feel pressured as much to do sprint work, and thus have created some time to work on my non-programming tasks.
|