Recently, a Reddit post on Mental health as Product Managers inspired me to write about what I do to feel in control in a busy, fragmented role. After all, the variety is what I love about the job, but that variety can pull you in too many directions, spread you too thin, and keep you from making progress on your most important tasks. I’ve expanded on that post here.
Background on the problem: The role is designed to be the interface between business objectives and software development. There’s an emotional burden associated with attempting to please all of your “stakeholders” (it’s not possible), and a physical, time-limited challenge of acting as the day-to-day project manager for any software development projects that you’re in charge of. The bundling of the product and project management roles is often the model in smaller organizations.
You’re expected to collaborate on business solutions, communicate project progress, write requirements for new features, provide feedback on new designs, participate in resource allocation, test delivered development work (and provide quick feedback), communicate with QA and organize releases. Most urgently, you’re expected to do whatever it takes to unblock any stuck development work. This gets easier with experience, since you get better at predicting issues, writing good requirements (resulting in fewer questions), and solving problems before they become emergencies. But sometimes an engineer will pop up with a question about the way a feature should behave (or might need to behave in the future) and you’ll need to stop what you’re doing, think about your customers’ use cases, possibly get in touch with a client, and provide clear direction to the engineer so that they may continue working on the feature.
And while all of that day-to-day management is going on, you’re also expected to make progress on your own projects: researching and writing requirements for features further down the pipeline, scoping new requests, assisting on marketing materials, meeting with clients, attending meetings about system architecture, attending meetings to review new designs, and maybe even writing proposals with the sales team. (I have a leadership role at a startup, so I touch a lot of different areas.)
It’s a fun, fragmented, and sometimes very stressful role.
My biggest challenge is that the interruptions coming from the management of day-to-day projects (thanks, Slack!) can, if allowed, prevent me from making meaningful progress on my longer-term projects. I was able to pinpoint these interruptions as a source of stress. I needed a way to take control of the interruptions so that they could be correctly prioritized among my other goals.
I’ve been testing time blocking as a way to wrangle these interruptions and help me correctly utilize my time, with tasks correctly prioritized by actual urgency and business need. Yes, I make every effort to quickly unblock development work as issues arise, but beyond that I try to avoid interruptions while I separate my time into:
- Inbox screening / general updates: Run through my inbox and check Slack (15–30 minutes). This includes writing down and prioritizing the tasks I find, rather than taking care of them immediately. I do this about three times a day.
- Project management: Address any open items on a per-project basis (15–30 minutes each). For each of my active software development projects (or clients), I try to use a solid block of time to address any open issues: checking delivered work, prioritizing new bugs, answering questions, reviewing QA feedback, reviewing any new designs, and any related tasks found in the earlier inbox screening. Keeping my head in the same project for a bit lets me complete related tasks more efficiently. Repeat as necessary.
- Product projects: An hour at a time (ideally) for other projects (research, scoping or writing, for example). These projects should be prioritized in a list somewhere (I like Wunderlist), depending on urgency and value.
- Meetings: Attend meetings as scheduled (obviously). If you have any pull as to when they’re scheduled, try to group them into a block.
Finally, I actually write down these blocks of time as a rough schedule for the day first thing in the morning, either in my notebook, or sometimes in my work calendar, to help force myself to stay focused. I find that having a visual that shows me finishing my work at a reasonable time for the day (like 6pm!) motivates me to stay focused and on track. The schedule also acts as a firm set of goals, so that if I get derailed and do end up working late, I know exactly what I need to accomplish (or push to tomorrow).
Your team will get used to you not answering everything immediately. Slack’s conversation threads are great for having asynchronous conversations. When an emergency or blocking issue pops up, go ahead and address it, but try not to get pulled into the fray for too long. Go back to your schedule and adjust as needed.
This method of time blocking has allowed me to give my longer term projects the attention they deserve, rather than reactively allocating a disproportionate amount of energy to all of the “squeaky wheels.” I think the ability to stay focused on important tasks long enough to complete them efficiently has helped me achieve longer term growth while still working reasonable hours. All of the half-done things that were stuck on my to-do list were definitely stressing me out.