“Work smarter, not harder.” Wouldn’t you like to shove cliché-spouting, nonsensical know-it-alls into a meat grinder to give them a more representative look? Especially when the message comes from a middle manager who has assigned 18 “high priority” projects to your team and then joins the rioting mob of inane, inconsiderate ignoramuses who constantly interrupt you to ensure that you can’t possibly think.
There is never enough time to keep up with even a fraction of the work that is typically on your team’s to-do list. Even if you had a reasonably scoped set of work, the relentless interruptions and meetings would still make completing any real work laughable.
Yet, this is the job of a typical dev lead or manager. Good managers get through each day successfully restraining themselves from strangling half the people in their hallway. Great managers learn to manage their time.
Give it to me straight
There are countless books and organizers for time management. Most seem to me to be embarrassingly superficial, wildly impractical, or written for aliens from a parallel universe where anal retentiveness is an indicator of high social status.
For me, time management comes in three basic varieties:
- Cutting down interruptions and context switches.
- Delegating your work to other team members.
- Careful selection of work items based on priority and leverage.
Pardon the interruption
To be effective, you need to concentrate. Recent studies have shown two interesting findings:
- Heavy context switching causes a higher drop in IQ than using marijuana.
- Employees are most productive when they are working on precisely two projects.
The first finding shouldn’t be surprising. You can’t think if you can’t focus due to constant interruptions and context switching. The second finding is more subtle. It says that you need to concentrate on one project at a time, but need a different project to switch to when you get stuck or need a break on the first. The second project is treated as filler—that is, useful but not essential.
Some interruptions are easy to control. I turn off all forms of e-mail notification and I set the ring volume on my phone to its lowest possible level. (The phone just quietly clicks.) As a result, I no longer get interrupted by e-mail or the phone. I reply when I’m ready to take a break, not when someone else happens to click the Send button or dial my number. This does not make me less responsive than I was before; it just puts me in control.
When I do find a good stopping point and scan my e-mail (usually every 10–40 minutes), I try to completely dispense with each message as I read it. Each message represents a context switch. You reduce context switches by reading each message once. (The Lean folks call this “single-piece flow.”) More than 95% of my e-mail can be deleted, cataloged into a folder, transferred to someone else, or responded to immediately upon receipt.
Eric Aside For more detail about my single-piece flow solution to e-mail read Your World. Easier.
Some might claim that this process puts undue priority on minor items. However, you must read a message to determine if it’s minor. After you’ve read the message, it usually takes more time to context switch back and re-read it later than it would to simply dispense with it now. As a bonus, when your inbox is almost empty, it takes far less time to find specific messages and see what’s left to do.
As for Instant Messenger, I don’t use it at all. I believe IM was sent to us by the devil to enslave our teenagers and ruin our lives. Of course, that’s only my opinion.
Eric Aside My older son is a teenager now. I stand by I. M. Wright. To my friends on the Messenger team, “No offense.”
Find your happy place
Another way to reduce interruptions is to get lost. Go somewhere that no one can find you, and finish some work. Armed with remote desktop and a laptop or kiosk, you can work almost anywhere: meeting rooms, building lobbies, cafeterias, you name it. As far as anyone can tell, you’re in a meeting. You can’t do this all the time without harming your team, but it’s great when you need to catch up.
You can also work when others aren’t around. Most developers show up around 10:00 A.M. and work until 7:00 P.M. If you show up around 8:00 A.M., you have two uninterrupted hours. Leave at 5:00 P.M., and if necessary you can log on from home after 8:00 P.M. when things are quiet. I wait until my kids are asleep if I’ve got extra work to finish.
Finally, you can institute focused time during the week when people are expected to not interrupt you or your team unless absolutely necessary. For this policy to be successful, you must choose a predictable time when interruptions are less likely anyway. One day or an afternoon and evening during the second half of the week is often a good choice because most meetings and fire drills happen early in the week.
None of us is as dumb as all of us
An especially evil form of interruption is the meeting. A meeting forces you to stop productive work and throw yourself into a frustrating, time-consuming, black hole of wasted life from which you can never recover. However, there are several actions you can take to minimize the life-draining effect of meetings:
- Stop going. There are only a few meetings you must attend: your one-on-ones, your project status meetings, and your staff meetings. Almost all other meetings are discretionary. If a meeting feels optional, try skipping it. If nothing bad happens, don’t go again.
- Make someone else attend. Try delegating the meeting to someone else. (More on this in the following section.)
- Run effective meetings. As for meetings that are left, make them as effective as possible. Read my column The day we met for tips on running tight meetings.
- Put all your meetings back to back. I know this sounds strange, but the idea is to reduce context switches. First, try to schedule your project and staff meetings early in the week, and then schedule all your one-on-one meetings around them. Sure, the early part of your week will be hellish, but the middle and end of your week will have uninterrupted blocks of time.
A burden we must share
Although cutting down on interruptions is great, the most effective way to get your work done is to give it to someone else. There’s a reason why the lives of leads and managers are so busy—you’ve got a whole team of people to look after in addition to your project work. The balancing factor is delegation. Managers can leverage their teams to lighten their loads.
Eric Aside Architects can use architecture teams this way too, even though the members of the team don’t necessarily report to the architect.
There’s a tendency for new leads and managers to avoid burdening their teams. They’d rather take on the stress and load than seem weak or lazy. That’s foolish, cowardly, and selfish. The worst thing you can do to your team is stress yourself out. When you are stressed out, you become short with people, you don’t take time to think and listen, you make bad decisions. Soon your team follows your lead, becoming stressed and dysfunctional.
You must be the rock for your team. You must keep your head when others lose control. You can only do this when you work within your limits. Hand over all the assignments you can to your team. Remember, they only wish to support and please you.
Why does your team want to support and please you? Duh, you write their reviews and initiate their promotions. They need challenging assignments that expand their scope to get that 4.0 and advance their careers. They need the kind of assignments that you’re asked to do. Why hold your people back? Why hoard all the tough, critical tasks? Delegate your work to your team, and give your people what they want and need to advance.
Eric Aside The 4.0 refers to a high rating in the old Microsoft rating system, which ranged from 2.5 to 4.5 (the higher the rating, the better the rewards). While a 3.0 was acceptable, most people pursued and received a 3.5 or higher.
Tell me what I must do
When you delegate your work, it’s important to do it right. The trick to delegation is to delegate ownership, not tasks.
The difference is subtle, so I’ll give you an example. Say your project depends on Media Player and you’re scheduled to meet with the Media Player team. You don’t feel like going, so instead you plan to send Anil, a dev on your team who wants to become a lead.
If you just delegate the meeting to Anil, you know what will happen. No matter how well you prepare him, Anil will be asked to answer questions and make commitments he isn’t equipped to handle. He’ll meet with you later to recap the meeting. You’ll ask all kinds of questions that he can’t answer, and you’ll both be left with the feeling that you should have attended the meeting yourself. The result is frustrating for you and feels like failure to Anil.
Now, let’s say that instead of delegating only the meeting to Anil, you delegate the whole relationship with Media Player. You bring Anil into your office and say,
Anil, I want you to OWN our relationship with Media Player. You ensure that they have our technical requirements and that we can commit to theirs. You own working with their team, understanding their APIs, and designing and coding our end of the interactions. How does that sound? Oh, and by the way, the first meeting is coming soon.
Anil will love it. He’ll go to the meeting empowered to answer questions and make commitments. He’ll feel a sense of authority along with responsibility. Anil is set up for success. Meanwhile, not only did you get out of that meeting, you got out of every future Media Player meeting. What a difference.
He’s just a kid
If Anil is a junior person and delegating ownership is risky, there are several ways you can mitigate the risk:
- Accompany him to the first few meetings, but keep your mouth shut; defer to Anil as much as possible, then debrief him later.
- Assign Anil a mentor who can play a similar role to the one I just mentioned.
- Ask a friend on the Media Player team to look out for Anil and let you know if there are any problems.
- Ask to be on the e-mail threads sent between groups, and have Anil provide regular, detailed status reports.
- Use some combination of these methods.
Regardless of how you proceed, Anil owns the relationship with Media Player and has the opportunity to show his stuff while leaving you more time to focus in other areas.
You deserve a break
The ownership approach to delegation works well for almost every type of assignment. Any time you have a task to hand out, even if it’s only to cover for you while you’re at the dentist, stop and think about the larger context for the task and assign ownership of the whole scope.
By the way, if you’re having trouble getting started with delegation, take a two-week vacation. You’ll be forced to delegate all your work—and when you get back, you can let folks keep it. Plus, you get a two-week vacation as part of the package. Sweet!
Everything’s in order here
The last major variety of time management is how you select which work items to pursue and in what order. Start by listing all your current tasks and decide which ones to keep.
The work items should fall into a few categories (listed in priority order):
- Tasks that require your personal attention as part of your job (taking care of your team, reviews, one-on-ones, staff meetings, employee issues).
- Tasks that are critical to your personal development goals (training, key assignments, executive or customer engagements).
- Tasks that enable you to stay engaged with your team members and manage them effectively (morale events, project and team meetings, design and code reviews, debugging, triage, and hand-picked project work).
- Tasks you happen to particularly enjoy.
All items in the first category must be on your list. Often there are tasks that overlap between categories; these are high-leverage items and should definitely be on your list. Everything else can potentially be dumped or delegated.
After you’ve pared down your list of work, you need to order it. Consider the priorities of the categories I mentioned, how leveraged the task is, and the urgency. In the end, you should have only two or three major projects and a few minor items.
Remember to focus on only one major project at any given moment and give it your full attention. Switch to other projects when you get stuck or need a break.
Keeping it real
One of the most highly leveraged work items you can have is direct project work, like owning, designing, and coding a feature. Project work gives you insight into employee issues (build problems, team personalities, cross-group interactions), assists in your personal development by keeping you sharp and current, and engages you with your team and larger organization in a direct and integrated fashion. You’ll almost certainly enjoy it, assuming you pick the right task.
Some people debate whether or not a dev lead or manager should still code. To me, direct project work is so beneficial to yourself and the team that you can’t afford not to do it. The trick is picking the right task. If you have three or fewer reports, you should have enough time to devote to almost any project assignment. However, with four or more reports, people and project issues will arise frequently enough that your availability will be unpredictable.
Having an unpredictable schedule isn’t a problem early in a project. However, as you get closer to the end, your peers across disciplines will demand delivery commitments that you cannot keep with certainty. You’ll end up handing unfinished work to your team members, who are already under pressure to complete their current assignments. Plus, you won’t have time to transition your work sufficiently, which makes the transfer even more painful. Now your peers hate you, your team hates you, and you hate yourself because you had to give up and give in.
All this changes if you choose project work that isn’t critical path. In particular, with more than three reports you should select work that
- Doesn’t need to ship.
- Can be easily disabled.
- Is risky, fun, cool, and an unexpected delight to customers.
- Ideally, is well integrated into the product.
When you select an assignment with these attributes and your peers across disciplines demand delivery commitments, you can say, “Honestly, I think I can finish it in the time frame you need, but I can’t make promises. However, if I don’t get it done in time, I can easily disable it and it won’t ship.” Now, your peers are comfortable, your team is unaffected, and you are stress free and feeling fulfilled. Oh yeah, it’s the only way to go.
By the way, it’s not hard to find this kind of project work. Usually risky, fun, and cool features that are well integrated into the product are too scary to make critical path. So you can assign them to yourself and enjoy keeping it real. Management does have its benefits.
Large and in charge
It’s easy to let a lead or manager job take control of your life. The interruptions, overwhelming commitments, and disengagement from “real work” can make even the most capable people dream of when they first started working and everything seemed so simple.
However, there is a variety of ways to take back control of your work load, reduce interruptions, create opportunities for your staff that lighten your load, and trim your assignments to only those that provide the most benefit to you and your team. Applying these techniques puts you back in charge. That’s exactly the place an effective and engaged leader needs to be.