Sunday, May 25, 2008

Problem solvers vs. process keepers

Summary: "Turning a new process on does not justify employees turning their brains off." Bob Lewis

Here is a fascinating recording of a conversation between a Dell support representative and a customer (WARNING: the clip contains strong language; if you get offended by profanity, cursing, or swearing, do not play it):


In case you skipped the clip, here is a brief summary. A technical support representative (a help desk guy) receives a call from a customer who cannot turn his Dell laptop off. After learning about the problem, the help desk guy asks the customer to answer a seemingly endless number of questions. He asks for the service code (which the customer has apparently provided before being connected to the support desk), name on the account, phone number of the purchaser, name of the caller, his last name, phone number, email address... With every new question, the customer gets more frustrated and angry: he swears, curses, and keeps begging to tell him how to turn the laptop off. The help desk guy remains calm; he tolerates the verbal abuse, but insists on getting the information. The customer eventually answers all but the last question. Finally, the help desk guy tells the customer to hold down the power button for 10 seconds. The trick works (the laptop shuts down), but the customer bursts with outrage:
"Oh, Jesus Christ, you could've told me that. You know, you're [...] not very freaking helpful. You know that? You're a [beep]ing asshole. And you can put this in your [beep]ing records, alright! You know, if I had you right here, I'd [beep]ing kick your [beep]ing ass."
There is no good-bye.

I assume that the recording is genuine. It has to be. Even if not, it can serve as a great illustration of a conflict between humans and processes.

Before I move on, let me state the obvious: the customer is disturbed. And he is wrong. There is absolutely no... okay, there is not enough... reason for being so obnoxious. If I were the help desk guy, I would've hung up on him.

On the other hand, why is the help desk guy so stringent? Would it kill him to tell the customer to "hold down the power button for 10 second" right away? And why does he need all this information (email address, phone number, and so on) in the first place? How would the email address help him verify the system owner?

I'm not sure if the help desk guy knew why he needed the caller's email address. He was probably just following the process, and the process had asked for an email address.

It's ironic that the process, no matter how well intended, didn't help anyone in this case. If the help desk guy hadn't followed the process, he would've solved the customer's problem in less than a minute. He could've told the customer to hold down the power button first and then asked him to provide the information. Or he could've said: "Listen, this seems like a simple issue, but if my first suggestion does not work, I may need to keep you on the phone a bit longer, and I will have to ask you a few questions for the support ticket." But instead, the help desk guy turned into a process keeper, blindly following the letter of the process, even when it did no good.

A few posts ago, I mentioned Bob Lewis' article in which he made the following point:
"Make sure every process has a process bypass to handle situations that just don't fit."
An emotionally unstable customer asking a simple question is an example of a situation requiring a process bypass.

Talking to -- or hearing someone else talking to -- a process keeper insisting on following the process no matter how inappropriate the process is (in general, or in a particular context) reminds me of this classic conversation from One Flew Over the Cuckoo's Nest:
McMurphy: Nurse Ratched, Nurse Ratched! The Chief put his hand up. He voted! Would you please turn the television set on.
Nurse Ratched [opens the glass window]: Mr. McMurphy, the meeting was adjourned and the vote was closed.
McMurphy: But the vote was 10 to 8. The Chief, he's got his hand up! Look!
Nurse Ratched: No, Mr. McMurphy. When the meeting was adjourned, the vote was 9 to 9.
McMurphy [exasperated]: Aw come on, you're not gonna say that now! You're not gonna say that now! You're gonna pull that hen house shit? Now when the vote... the Chief just voted - it was 10 to 9. Now I want that television set turned on right now!
[Nurse Ratched closes the glass window]
Most effective organizations follow processes, which help them maintain efficiency and achieve other (noble) goals. However, once a process stands on the way of problem solving and starts defying common sense, it defeats the very same goals it intends to achieve.

If your team enforces the process no matter what, whether it does or does not make sense, consider focusing more on problem solving than process keeping; otherwise, you are at risk of turning into an organization run by the spirit of Nurse Ratched, which is not good even for a mental institution.

Additional references:
Six Stupid process controls
Are You a Doer or a Talker?

Saturday, May 24, 2008

Technobrief #1

Summary: Recent recommendations for software, articles, podcasts, and videos.

I have decided to publish weekly -- or even less frequent -- techobriefs, which will include recent additions to my favorite free software lists, interesting articles, podcasts, and videos not yet mentioned in other posts.

Here is this week's installment.

SoftwareArticlesTutorialsPodcasts

Sunday, May 18, 2008

Toll-free directory assistance (411) numbers for U.S. residents

Summary: Three (and more) toll-free numbers, which can help you find businesses and people.

Here are three numbers that U.S. residents should keep in their phone books:
  • 1-800-GOOG-411, or (800) 466-4411
  • 1-800-CALL-411, or (800) 225-5411
  • 1-800-BING-411, or (800) 246-4411
  • 1-800-FREE-411, or (800) 373-3411
  • See more...
They all provide FREE directory assistance (a'la 411) services, but do it slightly differently.

So far, GOOG-411, offered by Google, is my favorite service. In fact, it is the only service, which I actually use (I tried the other two only for testing purposes). For example, a few months ago I called GOOG-411 to locate a small restaurant in San Francisco, CA. Recently, GOOG-411 helped me find a local beauty shop (I had to cancel my wife's appointment on a short notice). In all case, GOOG-411 worked perfectly. Google's voice recognition system was able to decipher my imperfect English (I have a rather pronounced Russian accent). It used the minimum number of prompts (such as state and city, name or type of business). In one case, I did not know the exact name of business, but GOOG-411 was able to find it based on category and location (I think it was the first or second name in the list of matches). In addition to spelling the address and phone number of the business, GOOG-411 gives you an option to automatically dial the number. Overall, I'm absolutely amazed how well GOOG-411 works.

The CALL-411 service is brought to you by Microsoft, as part of the Microsoft's Live offerings (I wonder if Microsoft should use 1-800-LIVE-411, or 1-800-MSFT-411, instead of CALL-411). CALL-411 works very similar to GOOG-411 (the business search prompts are almost identical), but in addition to business searches, it offers the information about such extras as movies, travel, traffic maps (it sends a link to a map via a text message), and more. A nice feature: CALL-411 remembers the last business you searched for (I assume, based on the caller ID). I may be wrong, but it seemed to me that CALL-411 had harder time with my accent than GOOG-411.

Update: Microsoft recently released BING 411, a new service, which (I assume) will replace CALL-411. For additional information, read Bing 411 Gives Turn-by-Turn Directions, Weather by Phone.

FREE-411 (offered by Jingle Network) is the only service (among the three) which will require you to listen to short, pre-recordered advertisements (one in the beginning, and more later), but it offers a few extras missing from the other two services. First, along with local listings, FREE-411 lets you search for toll-free numbers. Second, FREE-411 is the only service that can find residential listings in addition to businesses. And, according to a press release, FREE-411 can provide driving directions via text message in selected cities (San Francisco/ Bay Area, Chicago, and Los Angeles, with more locations offered later; it is not available in Sacramento, CA at the time of writing, though).

I have to mention that all of these free directory services are computer-driven, so they will probably not match the quality of a human operator. On the other hand, in many cases, they will work just fine, so if you want to save a buck or two (per call), add GOOG-411, CALL-411, and FREE-411 to your phone book: you never know when you're gonna need them.

P.S. After I posted this article, several readers left comments recommending human-powered FREE directory assistance services. I have not tried these, yet, but I suspect that they are worth checking out:
  • 1-800-411-SAVE, or (800) 411-7283
  • 1-800-YELLOWPAGES, or (800) 935-5697

Sunday, May 11, 2008

Disable beep and other annoying sounds in Windows

Summary: How to turn off the irritating noises in Windows XP.

One thing that annoys me in Windows is noise. When launching Windows, I hear: ti-da-du-di-dam; exiting: ti-da-du-dam; loggin on: tu-dim; login off: ti-du; showing error message: beep; pressing a wrong key: beep... How many beeping beeps do I need to hear in a single session!

Seriously, unless I'm actually listening to the audio (music, songs, podcasts, video soundtrack) the only thing I want to hear is silence. So every time I get or build a new system, I disable the unnecessary sounds. Unfortunately, because the process is not straightforward, I have to spend a few minutes searching the Internet for hints and tips explaining how to turn the Windows system beep and sounds off. In case I forget how to do it next time (which I almost probably will), here are the steps for making Windows XP noise-free (hope this helps someone, too):

Stop and disable beep in Device Manager
There are several ways to turn to stop (for current session) and disable (for future sessions) the system beep in Device Manager. The most straightforward option would be to use command line:
  1. Opening command prompt (select the Start - Run menu; enter cmd).
  2. In the Command Prompt window, enter the following commands (notice a required space character after the equal sign in the second command):

    net stop beep
    sc config beep start= disabled
If you are not a command-line kind of guy (gal), you can disable beep in the Device Manager console:
  1. Right-click My Computer and select Properties.
  2. In the System Properties dialog box, click the Hardware tab.
  3. In the Hardware tab, click the Device Manager button.

  4. In the Device Manager window, select the View - Show hidden devices menu option.
  5. Expand Non-Plug and Play Drivers, right-click on the Beep element, and select Properties from the menu.
  6. In the Beep Properties dialog box, click the Driver tab.
  7. In the Driver tab, click the Stop button, and change the startup type to Disabled.


    When beep is disabled, the device manager's icon will be crossed.


Disable beep in the Windows Registry
Start regedit (select the Start - Run menu; enter regedit), and locate the HKEY_CURRENT_USER\Control Panel\Sound key; set the value of Beep to no.


You can accomplish the same by downloading and double-clicking this file.

Turn beep and other sounds off in Control Panel
Finally, to disable beep and other noises, use Control Panel:
  1. Open Sounds and Audio Devices control panel (select Start - Settings - Control Panel - Sounds and Audio Devices).
  2. In the Sounds and Audio Devices Properties dialog box, click the Sounds tab.
  3. Select the No Sounds scheme (to reduce the number of retained sounds).
  4. Scroll through all items in the Program Events list box and change the Sounds option for every event (including System Beep) to None.


Some programs (e.g. Office Communicator 2007, Windows Messenger, NetMeeting, and more) can add entries to the Program Events section, so if you install these programs after turning off sounds, you may need to do it again (after installing these programs).

And for those of you who prefer to stay noise-free, here are some Windows sounds you may appreciate:


Additional references:
Disable the System Beep (in Windows Vista)
Silence Windows' Command Line Error Beep
Turn Off the Annoying Windows XP System Beeps

Monday, May 5, 2008

Love thy critics

Summary: Don't hate your critics; you can learn something from them.

If you follow technical blogs, you must have heard the news about stackoverflow.com: a recent joint venture between Jeff Atwood and Joel Spolsky. If not, here it is in a nutshell: about a month ago, two of the most popular technical bloggers created "a programming Q&A site" which is "by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world." The new site is still at an early stage, but hopefully it will continue the traditions of Coding Horror/Joel on Software and turn into the source of knowledge and entertainment for programmers and other tech lovers.

I'm delighted that my favorite bloggers now produce podcasts and other technical content together, but I'm even more fascinated about the personal dynamics between the duo. In case you are not familiar with the story, Jeff has not been always kind to Joel. Not long ago, he called Joel blind, illogical, and just stopped short of calling him insane. In fact, he did call Joel insane... right before posting this picture:


If you look at this story closer, you will realize that I did tweak the truth a bit. You see, Jeff did not actually call Joel blind, illogical, and insane in general. No, sir. He merely implied that certain technical decisions made by Joel could have been characterized as such. Do you see the difference? Joel did, but many software professional don't.

After having worked in IT for over a decade, I witnessed numerous times how technical disagreements produced animosity between otherwise rational professionals. So it's refreshing (and encouraging) to see Jeff and Joel embracing their technical differences. This is how grown-ups behave.

Note to self: next time you hear people criticizing your technical position (your design, code, chosen methodology, etc), or call you (technically) blind, illogical, or insane, think about this:
  • It is not personal.
    They are not trying to make a fool out of you or ridicule you; they just don't agree with your technical position. So do not fall into a trap of making it a personal issue between you and them. Although they may be fighting for their opinions for personal benefits, it's most likely that they want the best outcome as much as you do, so don't treat them as personal enemies.
  • They may be right.
    Don't assume that you know everything. Try to find out if you are missing something that they take for granted. Biases are sticky. They may be genuinely misguided, but so may be you.
  • Be gracious.
    Take a deep breath and stay cool. Be mature. Be patient. Do not call names. Don't make personal attacks even when being attacked. Don't whine. Whether you are right or wrong, you may lose. If you lose, don't be bitter. Don't seek revenge.
If you are surrounded by people who always agree with you, you are limiting your personal and professional growth. Instead, foster relationships with bright people (colleagues) who are not shy to criticize you; they will make you better. And in the meantime, check out stackoverflow.com.

Additional references:
Introducing Stackoverflow.com
Stackoverflow.com

Tuesday, April 15, 2008

FM transmitters or cassette adapters?

Summary: Pros and cons of using FM transmitters and cassette adapters for listening to digital music in a car.

I do not get auto manufacturers. At the time when Ford is promoting SYNC (voice-activated audio) and BMW is pushing iDrive (entertainment system, which is so high tech that few drivers manage to master it), it is hard to find a popular model (Toyota, Honda, etc) which comes with a USB or AUX line-in port. If you want to listen to digital music on the go, you'll either need to buy an expensive upgrade, install an after-market audio system, or use an add-on, such as FM transmitter or cassette adapter.

I did not want to mess with my factory-installed stereo, and being too cheap to buy an overpriced upgrade, I tried my luck with FM transmitters. First, I wooted a couple of AudioBugs ATB-350 made by Aerielle (they seem identical to certain Phillips, Kensington, and iRiver models). I also bought another cheap model from, I think, Meritline (unlike AudioBug, which could be set on any FM frequency within the common range, this model supported just a handful of preset frequencies). I have been using an AudioBug FM transmitter for about six months until it suddenly died. Having had other problems with AudioBug before (one of the transmitters I bought was defective, so I had to send it to the manufacturer for a replacement), I decided not to push my luck and bought a cassette adapter (actually, I tried a couple of different models). Here is how I would compare these devices.

FM transmitter has a better form factor: when plugged into a cigarette lighter, it is more pleasing to the eyes (the wires of a cassette adapter hanging from the car stereo look gross). In all other respects, FM transmitters mostly disappoint.


First, in urban areas, it is hard to find an FM frequency not taken by a radio station. Even in a such semi-rural location as Sacramento, CA, I could not find a single available frequency. The one I ended up using was free most of the time, but not always (when it was not free, the station signal was weak enough to be overtaken by the signal from my FM transmitter). A word of caution: if you decide to buy an FM transmitter, never get one with a limited number of presets. The other one I had was totally useless because none of its built-in frequencies worked in my area.

After finding an available frequency, synchronizing your transmitter with the car radio becomes a challenge. First, the LCD of a typical FM transmitter is really tiny and, when the transmitter is plugged into the cigarette lighter, it is not clearly visible from a normal driving position. Switching the active frequency when driving is only possible from the back seat of the car and requires either an outside help or Mr. Bean's driving skills. With cassette adapters, this is not an issue.

Once you synchronize the frequency between the FM transmitter and radio, you will find out that the audio signal is rather weak. To get to a decent level, you must either raise the volume of the car's stereo or the volume of your digital music player (raising the volume of the music player beyond certain threshold, about 70-80% of the max, will cause sound clipping). Cassette adapters normally provide a stronger signal; in my non-scientific experience, it is about 20% stronger.

An FM transmitter may look nice in a cigarette lighter, but when plugged in, it will not let you charge the audio player unless you use a splitter (finding a splitter that works is a challenge; none of the cheap ones I tried worked). When using a cassette adapter, you can always charge your device (I find this very handy).


The only negative aspect of cassette adapters (other than aesthetics) is a clicking noise made, I assume, by the tape rolling mechanism. The noise made by the first unit I bought was so pronounced that I had to return it. The second model was quieter, but still I can hear the noise at low volumes; it does not bother me much, though. I'm not sure if more expensive cassette adapters (my model is very cheap) have this problem.

The bottom line: for listening to digital music in a car, get yourself a cassette adapter; just do not get the cheapest model and if not satisfied, exchange it for a different one. If you cannot use a cassette adapter (say, your car stereo does not have a cassette player), get an FM transmitter which allows you to tune to any FM frequency (not just to a limited set of frequencies).

Additional references:
How to Listen to Digital Music in Your Car

Saturday, April 5, 2008

Email etiquette: how to recall a message

Summary: Five courtesy rules of email message recall applicable to Outlook users (but not only).

It happened to me again: I sent an email to a (reasonably) large group of people and then realized that I forgot to include an important detail. What do I do now?

I could do the following:
  1. Send an updated e-mail containing original message along with additions.
  2. Send an update with a reference to the original message (not including the original message).
  3. Use Outlook's capability to recall the message and replace it with a new one.
Because I sent the message to my co-workers (all located in the same time zone) during lunch time, I decided to revoke the message and replace it with a new one. So I did.


Well, despite my best intentions, I did not do it right again, because several recipients had already opened the original message and weren't sure whether they needed to finish reading it or start over. Since this happened to me more than once, I thought I would define a few guidelines for doing it right. I hope they will help you as well.


Here are the five rules of email revocation etiquette I recommend:
  • Don't send the message right after completing the last sentence.
    Unless the message is urgent, do not send it immediately after writing. Give yourself a 5-10 minute break, then re-read it from beginning to end (do not rush), check hyperlinks (if you use hyperlinks, click every one of them to verify that they point to the correct sites), and only then send it.
  • Pick the right option to recall/resend the message.
    OK, you did not follow the first rule (or you did but then realized that you still needed to change something), so now you need to decide how to send an update: either by recalling the message, sending an update, or sending an update with the original message. First, keep in mind that the Outlook's message recall may not always work (see the Will my recall be successful? section). Second, consider time. If you sent the original message more than a few minutes ago (unless you did it in the middle of the night and all recipients live in your time zone), message recall will do little good. I suggest that you recall email only within the first 5-10 minutes of sending the original message or when there is a high probability that the majority (I would say 95%) of recipients did not have a chance to open it. If it's likely that people has already started reading the message, don't try to recall it, just send an update.
  • Modify the subject line.
    Keep in mind that message recall may work for some recipients and not for others. If you send an update (either via recall/replace or standard resend), indicate that this message is an update. Include an update indicator in the subject line, e.g. you can add the word [UPDATED] (with brackets) in the beginning or at the end of the subject phrase, such as
    Subject: [UPDATED] New training requirements
    or
    Subject: New training requirements [UPDATED]
  • Explain the changes.
    To help those who have already read the original email, add a sentence (or brief paragraph) in the beginning of the message stating that this message is an update; describe the nature of the update. If the original message contained errors (e.g. a broken hyperlink), fix the original message (the part which was wrong). For example, you can start the message with the following paragraph:
    [UPDATE]In case you received my first message: the URL of the training company XYZ was wrong. I'm resending this message with the correct URL. Sorry for confusion.[/UPDATE]
    When adding new information (say, a new hyperlink), you can either include it in-line or add it in the beginning, e.g.:
    [UPDATE]In case you received my first message: I forgot to include the URL of the training company XYZ, which is: http://UrlOfXyz. Sorry about that.[/UPDATE]
    If you add new information in-line, make it stand out (if you use rich text or HTML formatting, mark it using a different font style or some other indicator), such as:
    Here is the list of approved training companies:
    http://UrlOfABC
    http://UrlOfDEF
    [ADDED]http://UrlOfCompanyXYZ[/ADDED]
  • Be careful with them attachments.
    If the original message contained attachments, be very careful: do not include very large attachments in the update because it will take space on the server and fill recipients' mail boxes with duplicate data. If the attachments are reasonably small, you can assume that (or ask) recipients (to) delete the original message.
Additional references:
How to use the recall message feature in Outlook 2000 or in Outlook 2002