You can’t make this stuff up. Ray Todd Stevens tells us:
I am working on a recovery project for a company that outsourced the coding for a major application on which the company depends. They did this to an offshore company. Someone at some point realized that the code had no comments, and so insisted on the code being commented. So comments appeared and nobody apparently looked at them other than to ensure that they are there. The project was accepted and the offshore vendor was paid.
Now we are dealing with some bugs, and have found that yes there are comments. The ones that are in English refer to process and procedure documents that were apparently internal to the vendor. My client certainly does not have them. The rest of the comments are not in English. The variables are named after Indian Gods. So far the comments that we have determined the language for are in eight different languages. Most of these refer to things that we can’t even figure out, and don’t appear to relate to the code they are tied to.
The external documentation is about as bad although it is in English.
I guess you get what you pay for.
If you’re looking for anecdotal ammunition to argue against offshore outsourcing, look no further. But that would be wrong. Once more, with feeling: Anecdotes illustrate points, they don’t prove them. The question is, what point does this anecdote illustrate? Surely not that all offshore outsourcers provide comments only under duress, and then in inaccessible languages. An anecdote this tasty has to illustrate something more profound than that.
For example, this: Alignment of goals is more powerful and reliable than specification of responsibilities.
This point plays itself out in all sorts of situations. When you delegate tasks instead of goals, for example, you have to inspect the results with far greater care, because the assignee’s work is finished when it meets the written specifications. Whether it does anything useful is Someone Else’s Problem — not the case when you delegate the goal.
When you contract with a vendor, relying on specifications almost guarantees you’ll pay more for less. Never mind offshore IT services. It’s just as true when dealing with ad agencies: Plenty develop campaigns designed to win them awards and new clients and not to make your cash register go ka-ching.
It’s the same when you don’t rely on a vendor. If you want to make sure IT delivers software that does nothing useful for the business, define your Systems Development Lifecycle so that business analysts work with business departments to determine their requirements and create written specifications that programmers use to design and build applications. If you’d prefer to accomplish something, have business analysts facilitate conversations between business departments and developers, using written specifications to remind everyone of what they decided in the face-to-face conversation. The former is reliance on specifications; the latter gives everyone the opportunity to align their goals.
Then there’s the ever-popular dress code — the subject that wouldn’t die. Companies that try to define and enforce proper dress mostly achieve resentment and a cadre of jailhouse lawyers adept at malicious obedience — at adhering to the letter, but not the spirit of the code. Companies that encourage employees to use their good judgment, dressing professionally and appropriately for their work seem to get better results.
Alignment of goals is more powerful and reliable than specification of responsibilities for a reason well-known to computer scientists: When in doubt, add more processors. When you rely on specifications you rely solely on your own brain to figure things out. When you rely on alignment of goals, you get to take advantage of everyone’s brainpower. More processors.
Which leaves just one small challenge to be addressed: How, exactly, do you align everyone’s goals?
The short answer is, that’s what leadership is about. A slightly longer answer is that it isn’t all that hard, because most people, most of the time, prefer things that way — they want to belong to a group that has a purpose they can buy into and contribute to. For some reason, likely related to a personal need for control, many managers give every appearance of working very hard to prevent this very common and natural human tendency from operating.
There are few situations in IT, or anywhere else in a modern business, where specifications are enough. Usually, good judgment matters. The only way employees can apply good judgment is if their goals and yours line up.
Making that happen is up to you, not them.