ManagementSpeak: In this uncertain business climate we find it necessary to take actions that will enable us to maintain our position in the industry.
Translation: We’re certain that by laying off another 10% of our employees this quarter we’ll avoid another 20% drop in our stock price.
IS Survivalist Ken Ries explains how to be certain in uncertain times.

Times change, and few programs warrant eternal life.

Take, for example, the U.S. Patent and Trademark Office. Established to encourage innovation, it now encourages patent holders to use attorneys instead of engineers to protect their marketplace position. Close the Patent Office and companies would have to win by getting to market first and innovating the most.

A program that has even more clearly outlived its purpose is the H-1B visa program. Created to help American companies deal with a shortage of skilled programmers, it lives on in a time of high IT unemployment. Let’s replace it with something better suited to our present circumstances.

What should that look like? Beats me. Keeping foreign programmers out altogether, like banning foreign cars and clothing, is protectionism, which just makes America uncompetitive. CIOs and CTOs, under heavy pressure to cut costs, would simply move more programming work off-shore, whether or not it’s a good idea.

And it probably isn’t, as quite a few readers pointed out in response to my recent column, (see “The IT rust belt,” 7/15/2002). Successful off-shore development requires strong separation of systems analysis — to create perfect, detailed specifications, immune to both misinterpretation and the changing needs of a dynamic business — and coding to those specifications without adding creativity or business insight.

That’s fine for cut-and-dried conversions, upgrades, and minor maintenance work. For anything more interesting, this approach didn’t work even when it did work. Which leaves IT management and American programmers with a shared problem: How to make on-shore development cost-competitive with off-shore development.

There’s no single solution, but there are opportunities. Here are three:

1. Adopt methodologies that merge programming and analysis into a single discipline. This will save both time and labor.

2. Take real advantage of modern development tools, which should cut coding time by easily ten times or more compared to IT’s bronze age of hand coding and batch compilation.

3. If you need inexpensive developers, look to small-town America. While you won’t find wages as low as in Bangalore, India, they’ll be lower than in Manhattan or Silicon Valley. Meanwhile, even the biggest language and cultural barriers — between, say, Californian and Southern, will be relatively minor in comparison.