New tools or new vocabulary to manage interruptions better?
Office interference often proves to be an influential disturbance of one’s time and space. From a different point of view, a bug that doesn’t grab your attention may endure in the code, and an idea that is never known before, won’t assist you to figure out a problem. The absolute contrast in performance is merely based on the effective communication of people within an office or a team. The information sharing becomes effortless by sharing an office space. Occasionally, it’s both an asset and a liability.
After landing their first job, many programmers are shocked by the reality of life in the corporate world. Your initial dream of sitting undisturbed each day, kicking out clever little apps, is continually disturbed by unrealistic deadlines, unreasonable decisions, bureaucracy, politics, and crisis after crisis. Any of these could reduce your current software project to a pile of smoking rubble reminiscent of the latest Godzilla movie. They don’t teach this sort of thing in school, and even seasoned developers have difficulty knowing how to cope with elements that seem beyond their control.
For fabricating good code or for uncovering mysterious bugs, what one really needs is prolonged and persevering attention. When the lines of code just seem to flow from the fingertips, the last thing you want is someone throwing in a casual comment about something irrelevant. But sometimes, the brand-new outlook of a colleague’s instant remark may steer your ship in to new shores. Once in a while, discussing a design with an observant colleague or team-mate can catch sight of the missing or hidden problems, that are covertly waiting to make an ambush.
You are a knowledge worker, meaning you are paid for the creative and innovative ideas you produce. Dealing with constant distractions, both at your desk and on your desktop, can threaten your best contributions to your projects. Developers crave a state known as flow, discussed in lots of places (it even has an entire book devoted to it, written by Csikszentmihalyi). All developers know this state: it’s when you are so focused that time disappears, you develop an almost symbiotic relationship with the machine and the problem you are attacking.
The problem with flow is that it is fragile. One distraction pulls you out, and it takes effort to get back in. It also suffers from inertia. Late in the day, you have to fight harder to get back to that state, and the more times you are abruptly pulled out, the harder it becomes. Distractions kill your focus on the problem at hand, making you less productive.
The significance of the above chart from a noise standpoint should
be evident: Thirty percent of the time, people are noise sensitive,
and the rest of the time, they are noise generators. Since the workplace
is a mixture of people working alone and people working
together, there is a clash of modes. Those working alone are particularly
inconvenienced by this clash. Though they represent a minority
at any given time, it’s a mistake to ignore them, for it is during
their solitary work periods that people actually do the work. The
rest of the time is dedicated to subsidiary activities, rest, and chatter.
In order to attain the best team work, the most important requirement is to have easy access without annoyance. There will be countless reasons for people to interrupt one another, if they are working together or sharing the same working space such as asking for help, tossing out ideas, checking on status and in general coordinating the work at hand. And from a different point of view, the first and foremost requirement for creative synthesis is uninterrupted time.
An ill-timed interruption can erase a great idea, kick an elusive thought just out of reach, or make you lose track completely within a complicated line of reasoning.
This is neither new nor an exclusive problem to programming teams, but developers have some substantial control in bringing better tools or applications to administer group communication. Without a doubt, software professionals love to solve social and organizational problems by using computers, so the first thing that probably comes to mind is a new mobile app or web application with fancy user interface and integration capabilities with existing tool-set used by the corporate.
The world wide web is extravagantly littered with thousands of programs and software, both online and offline to manage interruptions and distractions at work and home. Doing a simple online search will bring you the flood of programs to your devices. Still a simple system can often go a long way. Probably a better vocabulary will do the trick most of the time.
The scientific and technical domains often have an affluent synergy with ordinary vocabulary. The technology domain has taken over many day-to-day words for confined technical purposes. We have taken over “object” and “entity,” leaving nothing to refer to those ordinary things in the physical world around us. We’ve appropriated “method” and “message,” arrogated “protocol” and “file.” The other side of the story also seems to be interesting. Technical terms have already penetrated the mainstream to the point that the Internet lingo now add zing to conversations on the street.
“The sacred soul who desire to work, must not be interrupted.”
― Lailah Gifty Akita, Pearls of Wisdom: Great mind
This has given rise to Internet slang, cyber-slang, netspeak, chatspeak and other various kinds of slang used by different people on the Internet. An example of Internet slang is “LOL” meaning “laugh out loud”. It is difficult to provide a standardized definition of Internet slang due to the constant changes made to its nature. However, it can be understood to be any type of slang that Internet users have popularized, and in many cases, have coined. Such terms often originate with the purpose of saving keystrokes or to compensate for small character limits. Many people use the same abbreviations in texting and instant messaging, and social networking websites.
Software professionals always have a special passion for interpolating their jargon into ordinary conversation, extending and expanding the meaning of the terminology to cover social purposes. They struggle to “parse” a garbled mail message or maniacally “multiplex” two conversations. Habitual patterns of behavior are “hard coded” in “ROM.” They will do a “core dump” to write a first rough draft of a report on yesterday’s design meeting. This can get pretty tedious or sound awfully silly, but techno-babble occasionally enriches ordinary language in useful or interesting ways.
The usual ways of interrupting in polite society are just too long and clumsy for efficient collaboration.
“Excuse me. Are you busy? I hope you don’t mind. I just have a quick question. It will only take a second.”
A second? It has already taken six and a half! By this point, the interruption is a done deal. By the time your brain has parsed and processed all that noise and reached a decision on what to do about it, you’ve forgotten which line of code you were looking at and which method of which object you were intending to invoke.
Working groups need a vocabulary of interruptions that is short, sweet, and simple. What works for hardware seems to work for people, so in Peopleware Papers, Larry Constantine suggests that in our offices we IRQ, we ACK, and we NAK. “IRQ” is short for “interrupt request”; it’s pronounced, appropriately, “irk.” As in “I’d like to irk you?” All you need say is just the one word, “IRQ?” A rising intonation makes it more polite, an explosive final consonant makes it more imperative. The word is sharp enough to penetrate through the hiss of cooling fans and the whine of laser printers, yet it’s short enough to barely deflect your mental processes. The possible responses are “ACK” or “NAK” (pronounced “ack” and “en-ack” or “nack”), meaning, “Okay, go ahead!” or “Not now!” respectively. You barely have to be conscious of your surroundings to burp out either an ACK or a NAK. Both ACK and NAK have an appropriate phonetic flavor that seems to fit with the situation of being interrupted.
“The major problem of life is learning how to handle the costly interruptions. The door that slams shut, the plan that got sidetracked, the marriage that failed. Or that lovely poem that didn’t get written because someone knocked on the door.”
―Martin Luther King Jr.
The interrupt protocol is simplicity itself. An interrupter says “IRQ!” and waits for a response. The interrupted person may continue for a short time before completing the handshaking, perhaps marking a spot in the text, completing a title box, or making a quick note about what they were doing. As soon as they are ready to service the interrupt, they respond by saying “ACK.” A response of “NAK” means, “No, don’t interrupt me now.” We regard it as a polite version of “Go away. Don’t bug me!” All this may seem too silly for words, but it is remarkable how such a simple system can contribute to smoother resource sharing in a working group. Although we haven’t found the need for it in day-to-day work, an obvious extension would be to provide for an occasional “NMI” (pronounced “nimmy”), that is, a “nonmaskable interrupt.” Good etiquette would save “NMI” for true emergencies or top-priority issues that justify grabbing the full foreground processing capacity of your poor colleague’s wetware CPU. The recommended protocol would be to pause briefly before beginning to talk, although no ACK or NAK is required.
What is your thoughts on this? Are you feeling always distracted by too many people in the workplace? Can you go and work somewhere in an isolated part of your office, so that you don’t get bogged down by the incessant interruptions of your daily job? Are we in dire need of better communication tools or just a simple vocabulary conventions is enough to manage office interruptions better? Please let us know your thoughts on this in the comments.
- Constantine on Peopleware
- The Career Programmer – Guerilla Tactics for an Imperfect world – Christopher Duncan
- The Productive Programmer – Neal Ford
- Peopleware by Tom DeMarco and Tim Lister