You are a product of your enviroment therefore your productivity is also affected by your environment.

Following on from yesterday's post regarding productivity, I'd like to now address the issue of how you can overcome these interruptions and hence increase your productivity (note that this article is aimed at people who work in a traditional office).

It was fairly obvious from the previous post that by removing as many distractions as you can from your developers you can get more out of them. But surely it's impossible to deal with them all isn't it? That's right, you can't. You have to deal with each one separately. The good thing is though like most sums, if you add one to the running total you come out at the same answer as you would if you took all of them together. In fact, you probably come out one better.

There are various forms of interruptions but I'm going to categorise them into four types: personal, technical, client and electronic.

Personal Interruptions

I consider these interruptions to be normal phone calls or when co-workers wander up to your desk in search of help. There is not much you can do to stop this form of communication but in reality most of these interruptions are fairly brief. They can usually be kept to one sitting such that when the questioner walks away from your desk, they have a fully formed answer which will keep them going for a long time.

Therefore, out of the 4 types of interruptions, these are the least invasive. You can stop them a little bit but generally these should be fine (for example, a previous team-leader of mine used to put on large construction worker's earmuffs to denote that she was not to be interrupted). So if you manage to conduct most of your interruptions either by phone or in person, then you'll be well on your way to being a highly productive developer.

Technical Interruptions

What I mean by these are the messages that are generated automatically by the systems you're managing. The messages themselves may arrive by SMS, IM, email or a myriad of other communication mediums. These types of interruptions are necessary but minimising how many you get is very important. There is no point interrupting someone for something that they can completely ignore. If the recipient can ignore a message then it means that the message itself contained zero information.

The best way to deal with these interruptions however is to have one person nominated on active duty. It is they who has to deal with any and all of these messages. During the course of processing one, they may have to call in the help from another member of the team but mostly the team's documented procedures should be able to get them out of trouble.

Unfortunately though these automatic messages are usually sent to a predetermined mailing list with numerous recipients but things like email filters can help in this respect.

So the best way to deal with these types of messages is to not receive them at all (unless you're the one dealing with them).

Client Interruptions

Client interuptions are a necessary evil. You can't create, sell and profit from something if you don't have clients. Lots of these interruptions are caused by email but there is a simple solution. Phone them up. If you're lucky enough to have your client in the same building as you, go and see them for a quick chat.

Clients also have a secret weapon up their sleeves though - they can create numerous different types of interruptions. Many times they want you to investigate something quirky, quote for something new, report on some data or do many other types of unusual request. There's nothing bad about any of this this but again, speaking to someone either on the phone or in person saves lots of time in the long run. If you need a written record of what was said, put it in your wiki or onto the relevant item in your issues list.

Sometimes the request virally spreads through to the rest of the development team such that more than one person is dealing with the whims of whatever the client sees as important today. This can (and should) be attacked at the front line. Each team should have just one interface person who is the first port of call for the client. This way the rest of the team is shielded from these interruptions and can get on with their own tasks (in that highly productive fashion we all aim for).

Every now and again, it might be a busy day to field all of the clients wishes such that one person can't handle everything. In this case the interface person will have to call in one of the busy developers for help. This isn't a problem since it is only a very occasional event. This is also true if the interface person can't actually fulfil the request. The bonus here though is that the interruption to the develper will be positively blazing since the interface person has already accrued as much information from the client as they need.

So all in all, these interruptions are necessary but there are ways of minimising this type from the team as a whole. The interface person deals with the main bulk of it and this job is rotated as necessary. That also means no-one gets tired of being constantly interrupted and not getting anything else done.

Electronic Interruptions

This category is the most invasive of all the interruptions and consists of email and instant messaging. The reason these things are so invasive is because of the long tail they create as soon as that initial message is sent.

These days, both of these forms of communication have become excuses for not having to actually speak to people. Instead of picking up the phone or wandering over to someone's desk, people just flick off an email or message and seem to hope the problem is now on someone else's desk. This is pure laziness and in reality causes more work than is necessary. The recipient firstly has to read the original email, interpret it, understand it (sometimes an impossible task) and finally respond to the message - in most cases by writing an email in reply. This email then goes through that exact same process at the other end.

If the sender had decided to pick up the phone (let's assume they're not in the current vicinity otherwise it just makes this situation even worse) the whole conversation could have been over within minutes. As it is, email is assumed to be instant and the sender expects a reply instantly too. As you can probably guess though, there is nothing instant about email at all. Not only does the email conversation then become a time hoarder, it also means that the developer is interrupted on numerous occasions during the ensuing tennis match (think of those long threads that just never seem to end). This doesn't even take into account that email can be misinterpreted and can easily turn into a pulling-your-hair-out moment. Think about it, how often have you been as annoyed at someone on the phone as you have been at their emails. I'd hazard a guess at almost none.

In the past, the advice given was to just check your email a few times a day however that just doesn't work. The problem is that we live in an instant society and therefore people expect answers within 10 minutes tops. How many times has someone come up to your desk and said "Did you read my email?" The email they talk about was sent less than a few minutes ago. Surely it would have been easier to just walk up in the first place. It certainly makes for a faster conversational turnaround.

Instant messaging is similar in the amount of time it takes to process. Even worse, there are ever smaller amounts of information in an instant message than there is with email. This also hoards time waiting for each response, let alone the fact that the original question didn't contain enough information for people to actually answer it correctly. Most of the time an answer is given and the original questioner then posts further information about why that answer given isn't even relevant! Or they suddenly found the answer by searching the internet (which they could have done in the first place and actually saved time for themselves let alone that of other people).

IM can also cause even more time wastage too. Many times I have seen the original questioner just keep asking further and further questions, simple questions with simple answers. Yet almost 40 minutes down the line the original question still hasn't been answered and mostly a quick chat with one or two people could have sorted the whole thing out in minutes.

But wait, there is one final sting in the tail for instant messaging and this one is a poisonous one. Not only has the original questioner distracted (usually) more than one person for 40 minutes, they have also distracted the numerous other people who also read that same channel. Currently in work, we may have something over 50 people on our internal IRC server. That's a lot of time spent reading useless questions which could have been answered in seconds in person.

There is a simple solution to both email and instant messaging distractions. Figure out who the best person to ask is and either go over to their desk or phone them up. If they're not the best person to ask they'd probably be able to point you to someone more capable.

But what happens if you're the recipient - easy peasy, phone the questioner up or simply go over to their desk.

Conclusion

Unfortunately, this post has become a lot longer than I originally anticipated. It has touched on a number of things but hopefully in some detail. Ultimately, removing most interruptions is best, dealing with certain interactions in a particular way helps stop others being distracted and finally, converting the invasive interruptions into less invasive ones helps enormously.

All in all, minimising interruptions means more development time, more time to be in the zone and much more productivity from your developers. Probably of an order of magnitude.


This post originated on http://chilts.org/.

Email me on andychilton -at- gmail -dot- com.