MSDN Home >  MSDN Library > 

Parsing Work-Speak

When They Say X, They Really Mean Y

Victor Stone
Microsoft Corporation

November 13, 2000

Sometimes it's hard to fit into a new environment. Despite the wheelbarrow-full of handbooks, guidebooks, pamphlets, contracts, leaflets, and brochures from HR, security, payroll, benefits, the copy center, the cafeteria, the diversity training group, the anger-management team, the carpal-tunnel ergonomics staff, the phone guys, the network crew, and the plant lady, the newbie developer is still likely to cause check-ins so bad the tree has to be frozen for three days to recover, build breaks that delay the shipping of the product, and show-stopper bugs they never realized were assigned to them that fall through the cracks. Not to mention the unbathed smells that waft through the halls.

But the most costly pitfalls revolve around the intangibles. Even industry veterans might not immediately recognize the subtle nuances of office and e-mail chatter after a transition to a new group or company. Apart from the sacristan tome of political correctness known as "The Rules of E-mail Etiquette," the missing piece from the initiation ritual is a parser and translator for the language of the realm. Such a parser could follow these rules (expressed in modified Backus-Naur form):

input: 
   input-elementsopt 
   input-elements: 
   inane-element
   input-elements inane-element 

inane-element: 
   comment
   white-space 
   blank-stare
   token-praise

comment: 
   fear-based-derision 
   jealous-hormonal-imbalance 
   dysfunctional-home 

dysfunctional-home: 
   mean-mommy 
   [detached | missing] daddy

A translator could then use a parser built on such a rules engine to help new members of the team make some sense out of the dialogue they might encounter in those first few steps toward assimilation. The table that follows contains some examples of how that translator might work, given valid, parsable input.

Input Parses to
I'm confused. Try making sense for once.
I'm probably missing something. I'll try to talk slow.
I'd be curious to see the results. I've seen this done a 1,000 times by better people than you and they failed. What do you think your chances are?
I'm evaluating the technology now. I can't find a single redeeming facet.
Our customers My Uncle Friedrich
Fixing bugs Adding features
Working late Playing Quake
Dinner http://www.jonessoda.com/whoopass/index.html
Developer's conference Boondoggle
Marketing genius Joke [of the oxymoron type]
Coding guru Infantile ego
At a recent architects meeting At last night's poker game
Your name came up. We had a huge laugh at your expense.
He's perfect for that job. He's your problem now.
Good grasp of the big picture Can't code to save his life
A whiz with details Has no clue why anything happens
A thinker A danger
Management is starting to get a grip on the project. Do you have any openings over where you are?
We're doing leapfrog development. We will never ship.
<all lower caps> You're not even worth the shift key.
I've been heads down. I was hoping you forgot I worked here.
The executive staff asked me to look into this. We can't find a single customer who wants this.
Marketing is all over this. We don't have an engineering solution.
Documentation is evaluating options. Resumes are out.
Testing refuses to sign off on the bits. Call manufacturing.
The API is very powerful. The API is impossible to use.
The API is very simple and straightforward. The API has never been used in a real-world scenario.
The API is oriented toward productivity. The API runs like a lame dog.
We decided to go strategic instead of tactical. We're shipping with lots of bugs.
We decided to go tactical instead of strategic. We're shipping without any real features.
We think we've hit the strategic and tactical goals. I am a liar.
We punted that feature to the next version. Your idea sucks.
Imho wtf
imvho rotfl
Good luck! You're doomed.

©2004 Microsoft Corporation. All rights reserved. Terms of Use |Privacy Statement
Microsoft