by, JB Rainsberger and Johanna Rothman, © 2008 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
I have never been a manager, so everything I think I know about managing is theoretical at best. That's why I enlisted the help of Johanna Rothman, the manager's manager, to help me talk about a sore topic for some: working well with your manager. We know that the single biggest cause of divorce is arguing over money, and similarly, the single biggest wedge between programmer and manager is arguing over the schedule. I could see this problem from the programmer's point of view, so I've asked Johanna to provide the manager's perspective. A programmer and manager collaborating effectively–it can be done!
Do you get along well with your manager? Not as well as you'd like? Not well at all? Think you should have an adversarial relationship with your manager? The best managers work to develop harmonious relationships with their staff. The problem with relationships is that they involve humans, and as a result, improving them lands many people in uncomfortable territory. I became a programmer in part because I know what the computer does and doesn't do, and I can reasonably predict its behavior–at least, most of the time. People don't make it so easy. The bad news is that most people get very little out of their relationship with their managers, aren't sure why, or don't know what to do. The good news is that you can improve your relationship with your manager without a degree in psychology or touchy-feely training in interpersonal skills. You can start by trying to break your tasks into smaller ones. You don't see the connection? Stay with me for a moment.
I've been to more than enough weekly status meetings. Every Friday, we'd sit around a big table in a conference room, someone would shine a spreadsheet on the screen and we'd each say something positive about what we've been doing for the past week. It didn't take long to notice how many tasks were “90% done”, or the person who works on the same thing week after week. How boring! I would typically tune out once I'd said my piece, because I rarely found what others said to be helpful. Now when I think of those meetings, I see a common thread to all this: big tasks.
Manager Interlude: As a manager, my perspective is different. I see many partially finished tasks. How can I tell my boss what's really going on in the project? I can't tell when we'll be done.
Big tasks hurt in more ways than just boring status meetings. Tasks are usually big because we don't understand them. We keep them vague and we don't know enough to estimate them accurately, so we give the simplest and least risky estimate we know: “three weeks”. Since we don't understand our tasks, we don't really know when we're done, which usually means we either do the wrong thing or forget to stop when we've done enough of the right thing. Doing the wrong thing is bad enough, but think about all those opportunities you might have missed to finish a task early, because you weren't sure you'd done enough! (You know Parkinson's Law. Its primary cause is big tasks.) Since we don't know when we're done, when our manager asks us how we're doing, we can't give a straight answer. How far along would you say you are three days into a task of unknown size? You guessed it: 90%. This is the kind of behavior that causes communication to break down over time. Why should your manager talk to you about your work if you can't answer her most basic questions? She might as well throw darts at a dartboard, and sometimes we force her to. There has to be a better way. I keep tasks small.
How small? As small as I can manage. Even before I succumbed to the current “Getting Things Done” craze, I was a big fan of tasks so small that I can squeeze a few into a 90-minute block of work. If you read my “Personal Planning” article, then you know that I break my day into four 90-minute blocks of work with breaks in between. I like to keep my average task at 30 minutes, so that even if something unexpected causes a task to suddenly triple in size, it remains within a single 90-minute block. I find that comforting. It's also nice to see a to-do list of fifteen items shrink to zero by the end of the day. You might find that a tad artificial, but I find the emotional boost energizing. Small tasks help me work smoothly, and they can help you, too.
Now you might think 30 minutes is impossibly tiny for the work you do. I felt the same way. I work on 30-minute tasks regularly now, but six or seven years ago, I couldn't imagine it. Like any other skill, I needed to practice and develop the ability over time. Even so, I didn't jump from 3-week tasks to 30-minute tasks in and afternoon, and I don't recommend you try it either, unless you enjoy frustration. Instead, I recommend two experiments you can run to help get used to smaller tasks.
Manager Interlude: It's just as useful for managers to break their tasks into small chunks. Many of the managers I know spend most of the day in meetings. If a meeting ends early, or gets canceled, you want to spend those extra few minutes making progress on completing some useful task. And no, I don't mean email.
The first experiment helps you feel the benefit of the end goal of small tasks. Start by looking at the work you need to do this week and find the naturally small tasks. If there are enough to fill a day, then schedule them for the same day. If you need more, look for small tasks you already know how to split from a larger piece of work. Choose the day to do your 30-minute bursts of work and stick to a strict schedule: start a timer for 30 minutes at the beginning of each task, then perform the task. Whether you stop first or the timer stops you, get up and walk away for about five minutes, then come back. If you don't finish a task, don't worry about it: leave a bookmark and go on to the next one. Give in to the temptation to keep going for “five more minutes”. It might be five, and it might be minutes, but it's never five minutes. As you do this throughout the day, you should notice it getting easier to finish something useful by the end of 30 minutes. Try this once every week until it feels comfortable. Remember, you're not trying to tackle big tasks this way, but rather the small tasks you can already identify. As you feel more comfortable, you're establishing with yourself that you can work comfortably in 30-minute increments, even when you're not timing yourself. That's a good start.
The second experiment helps you ease yourself toward smaller tasks. Don't try to split your 3-week monster task into 30-minute increments right away, as that will likely drive you nuts. Instead, simply cut every task you do in half–at least the ones not already 30 minutes or less. Maybe not exactly in half, but make that your goal. Now work through those tasks as you normally do. Two months from now, split your remaining tasks in half again. Keep doing this until your longest task takes a day. By that time, you'll be so good at splitting tasks that you'll do it naturally and easily. Within a year, you won't have any more monster tasks. Ever. I hope you find it as comforting as I do.
Manager Interlude: When I do this, I look at all my work. I group the projects by deadline, because I want to make progress on the nearest deadlines first. Now, I look at the simplest thing I could do to make progress on the most important task, and do that. Repeat. Sounds a little like development, right? It is, except the chunks tend to be much smaller (make a phone call, gather one piece of data), and tend to result in a wait state for me, waiting on the information I need. But because I do little bits of work in service to the larger tasks, I can use all my little bits of time, and keep breaking down my larger tasks into yet smaller chunks.
At least one reader out there believes this can't work for them. If that's you, then let me ask you a question: have you ever had to cut a meeting short, either because someone had to join late or leave early? Suppose you only have 15 minutes for a meeting originally scheduled for an hour. What happens then? Do you only resolve one-quarter of the issues, or do you find a way to get quickly to the point? How were the results compared to taking the full hour? In my experience, knowing you're going to stop in 30 minutes focuses the mind, and that focus translates into less unproductive time. When you achieve this focus, you'll have a clear picture of what you're doing, and so will your manager. This is a simple way to earn you more and more of your manager's trust, which is the foundation stone to effective teamwork.
Manager Interlude: Serial status meetings don't create harmonious relationships. All they do is encourage the all-too-common “90% Done” schedule game and prevent us from communicating well. I stopped my serial status meetings years ago when I realized I had no idea when we would be done with a project. Sure, I had individual task updates, but the big tasks prevented me from understanding when we would actually finish the work. One of my early team meetings was for everyone to help everyone else turn their tasks into inch-pebbles, tasks of absolutely no more than 2 days in duration. That joint problem-solving was key for that team to build teamwork and relationships. I continued using our meetings for solving team problems, which reinforced our teamwork and relationship building.
When you split your tasks into smaller chunks, you accomplish more and work with your manager better. The difficulties you used to have communicating with your manager will disappear as if by magic, and all you'll have done is practiced splitting tasks in half. Your manager might even have some tips for you on how to split your tasks up, which provides a natural opportunity to practice communicating positively with each other.