A Productivity Lesson from The Shining

Joel on Software readers will be well aware of the private office idea. Joel believes developers should be given private, quiet working conditions, and I'm sure that anyone who's worked in a shared office will have no difficulty understanding why.

The basic concept is that knowledge workers produce their best work "in the zone", and that getting there is difficult and takes time. Each interruption, no matter how minor, will pull you out of the zone, and it will take you time to get back there afterwards.

In The Joel Test, Joel gives a great example using two programmers:-

For this example, lets put two programmers, Jeff and Mutt, in open cubicles next to each other in a standard Dilbert veal-fattening farm. Mutt can't remember the name of the Unicode version of the strcpy function. He could look it up, which takes 30 seconds, or he could ask Jeff, which takes 15 seconds. Since he's sitting right next to Jeff, he asks Jeff. Jeff gets distracted and loses 15 minutes of productivity (to save Mutt 15 seconds).

The problem can be equally crippling if you work from home, as us Micro ISV types tend to do. If there are other people in the home with you while you're trying to work, it will really help if they also understand the "zone" concept. Have them read Joel’s article, or post a copy on your office door (you have an office door? Nice)... or find your own delicate way of explaining it.

It might seem harsh, no matter how you try to phrase it, but at some stage you will have to talk about it. If you try to bottle it up, or just ignore the issue altogether, you'll just be amplifying the eventual "discussion".

While watching The Shining on TV the other day, I was struck by the relevance of one particular scene. Jack is typing, and his wife pops in to see how he's getting on. Clearly it's not a welcome interruption, and a little small talk about the weather doesn’t go down well either. The resulting conversation loses a lot of impact without Jack Nicholson, but it goes like this:-

JACK: I'm not being grouchy. I just want to finish my work.
WENDY: Okay. I understand. I'll come back later on with a couple of sandwiches for you and... maybe you'll let me read something then.
JACK: Wendy, let me explain something to you. Whenever you come in here and interrupt me, you're breaking my concentration. you're distracting me, and it will then take me time to get back to where I was, understand?
WENDY: Yes
JACK: Fine. Now we're going to make a new rule. Whenever I am in here and you hear me typing, or whether you don't hear me typing, whatever the **** you hear me doing in here, when I am in here that means that I am working - that means don't come in. Now do you think you can handle that?

If you’ve seen the movie, I’m sure you remember the scene, I know it’s one I could never forget, but I’d never seen a parallel with software development before. Just in case you haven’t seen the movie, I should probably add that Jack was descending into madness at the time, and that it probably wouldn't be a good idea to tell your loved ones to go and watch The Shining the next time an interruption breaks your flow.

I'm not even going to start on the Micro ISV implications of "All work and no play makes Jack a dull boy".

I agree

I work in an open air office. 3 feet on either side of me is a co-worker. About the only way I can get in the zone is to put on headphones and listen to music or sometimes talk (provided I don't really have to pay attention to it, can't do books on tape, but talk radio and listening to podcasts are ok).

If I can't get silence

When I have to choose I'd always go for music. With a bit of practice I know I can tune out most things, but I'd always take pure peace and quiet if I could get it.

Good tip

That's true, those tiny in-ear headphones might look better, but the bigger ones block out a lot more noise.

I can identify

I can identify with that too, I find it hard to even try to get started if I know an interuption is coming soon. I always found the hardest thing to do was read something on screen, it seems that people generally assume that if you've stopped typing you're taking a break.

In desperate cases

I've tried reading out loud... just a low murmur, it might make people think you've gone a bit crazy, but usually they stop asking questions until you're done!

So Gavin...

Have you managed to have this conversation with your wife?

I've tried but it generally doesn't work out too well. I think I may lend her my copy of Peopleware.

Kind of...

We've developed an understanding, it doesn't always go exactly to plan (she identified with the scene in the movie too!), but for the most part I can still get into some kind of flow and she doesn't feel like I'm being a jerk.

Let me be first to disagree

I know this is one of Joel's "things" but he didn't provide that for the interns over the summer and they were able to get into the zone. I have been in many working situations across the whole spectrum, from an office with walls to a wide open room with desks (in between is cubes with varying degrees of privaacy). There are a lot of different factors, but ultimately I would choose the open room for myself and for my employees. There is such thing as a collective zone achieved when no one is free to chat on the phone or cause disruptive behavior. When someone asks me the Unicode version of string length, I answer, and continue working without a blip. In fact I feel good about myself that I knew the answer and I get a small rush of self-confidence. This collective zone is a great energy if you have experienced it -- if you haven't then go ahead and lock yourself in a room so you can talk to your wife about all the stuff you forgot to discuss while you were home. Locked away in a room for 8 hours *productively* is a myth. I would take 3 hours in a collective zone, over 8 hours in separate rooms any day. The issue of working hours is where there needs to be flexibility -- the goal is to achieve heightened productivity while at work and then LEAVE, get out of dodge whenever you are not being productive there! Sometimes that means 2 hours in a day!

Flexibility

I can see how that would work, it certainly sounds like a nice environment, everyone working towards a shared goal, no-one able to talk on the phone or be disruptive. If you're lucky enough to have that then I'm sure you'll still manage to get plenty done. And you're hitting on one of the major downsides of the Micro ISV lifestyle, the reduction in social contact and teamworking.

On the other hand, if interactions with the other people in your room is more likely to be out of context or distracting, or if for 90% of the day at least one of them will be talking on the phone, then I'd take a private office every time.

Depends on team

Yes, it depends on the team members, leaders, and manifesto or development style of the shop. All of the good developers I have known find the variation in problem solving energizing, they can answer in depth questions across a number of parallel projects while carrying on with their primary tasks, and they all just keep feeding into each other. But certainly private phone calls and chit chat are very distracting so you need places to do those well out of earshot of the development room. Again, this only works for a place that wants to be the next upstart google, not a place that wants to be an institution.