Thursday, June 12, 2008

Consultants and Office Space

My dad bought me a copy of Office Space when I was 17, soon after I got a job where I was dealing with a "boss" on a regular basis (caddying didn't really fit that requirement and is about as far from the Office Space environment as a job can be). The movie has become ingrained in pop culture since it came out in 1999. In one scene, Tom, an employee at the "fictional" software engineering company, is being quizzed by consultants (Bob & Bob), who have been hired to analyze the company's business processes and make them more efficient (in other words, fire the chaff).

Let's watch, or follow along below (my emphasis added).

Bob Slydell: So what you do is you take the specifications from the customers and you bring them down to the software engineers?

Tom: That, that's right.

Bob Porter: Well, then I gotta ask, then, why can't the customers just take the specifications directly to the software people?

Tom: Well, uh, uh, uh, because, uh, engineers are not good at dealing with customers.

Bob Slydell: You physically take the specs from the customer?

Tom: Well, no, my, my secretary does that, or, or the fax.

Bob Slydell: Ah.

Bob Porter: Then you must physically bring them to the software people.

Tom: Yeah, I mean, sometimes.

Bob Slydell: Well, what would you say… you do here?

Tom: Well, look, I already told you. I deal with the goddamn customers so the engineers don't have to!! I have people skills!! I am good at dealing with people!!! Can't you understand that?!? WHAT THE HELL IS WRONG WITH YOU PEOPLE?!!!!!!!

Annnd end scene.

As I kept the movie and that scene in mind (and as I rewatched the movie far too many times) throughout college, I tended to view the Bobs in a favorable light. After all, they were making things more efficient for a company, which was great! Even if some people "lost" their jobs in the process, it would be better in the end; if your job was redundant or could be done by a machine, wouldn't it be better to lose it and move on to something more meaningful?

My identification with the Bobs, while it certainly wasn't the sole motivator behind my post-undergraduate job search, did seem to jibe with the end result of that search: an entry-level position at a consulting firm.

However, my experience over the last year has led me to at least consider the possibility that there are many people in consulting who are actually more like Tom in the above scene than the Bobs. Consider:

- They aren't the ones that have the actual technical skills to build the solution (the "software guys" in the scene)
- They deal with the customers/clients to determine what the specifications for the final design should be, but without a full grasp of what it takes to technically implement the solution.
- That solution (often in the form of a "functional design"), essentially has to be translated into a technical design which is what's used to build the final product anyway.
- In order to produce a good "functional" design (i.e. one that will translate well), it's more or less necessary to have the technical know-how such that you could write the tech spec and build it yourself anyway.

So what's their purpose? What would you say... they do here?

And to tie this back in to my previous post about agile development, this realization that Tom and functional designs aren't all that valuable seems to be at the root of the agile manifesto. Also at that root is the Bobs' rhetorical question: Why can't the customers just take the specifications directly to the software people? Why are the engineers/developers necessarily bad at dealing with the customer?

According to the agile philosophy, they don't have to be.


Post a Comment