In America, the term "computer programmer" brings to mind a reclusive fanatic in a stale shirt who stays up all night at his personal computer writing software in impulsive bursts of creative energy.
In Japan, the image is quite different: It evokes someone like Minoru Ikeda, a quiet, 25-year-old man in a severe blue suit who sits at a high-tech computer workstation in a giant room full of dozens of other young men, also in blue suits, also perched in front of workstations. Across the hall is an identical room. Indeed, at Hitachi Ltd.'s software-development center a dozen miles southeast of Tokyo, there are some 6,000 programmers working side by side in twin 31-story buildings that soar above a gray suburban plain.
Hitachi is practicing mass-production programming. The Hitachi complex is a highly structured, intensely regimented software-writing operation that bears a striking resemblance to a manufacturing plant, not terribly different in concept from a plant that turns out cars or television sets.
You could call the place a factory -- and Hitachi does. On its white-collar assembly line, workers like Ikeda create new software by combining standard blocks of code -- the detailed instructions to a computer -- from Hitachi's library of existing programs.
Hitachi's mass-production approach to software, which has been adopted by most other big Japanese computer companies, has begun to alarm some Americans. "The kinds of things they're doing present a real challenge," said Prof. Michael A. Cusumano, a Massachusetts Institute of Technology expert on Japanese software development. "If we don't pay attention ... in managing software as a production-like activity ... then we could find ourselves in trouble."
Japan cannot yet threaten the U.S. preeminence in the creation of software. So far, it has been the creative energy of America's individualistic programmers that has produced the software that runs most of the world's computers. But Cusumano, as well as some top managers in the U.S. software industry, express concern that in the future, a more systematic approach to software development like Hitachi's could prove more successful than the traditional American method of encouraging individual improvisation.
Japanese Found to Be Faster
An MIT study of U.S. and Japanese software companies found that the Japanese factories turned out programs at faster rates, and with fewer bugs, than their U.S. counterparts. Though most consumers probably don't realize it, one reason they like Japanese videocassette recorders and cars is the flawless software embedded on chips inside these products.
If Japanese mass-production techniques prove as effective in software development as they have in the manufacture of home electronics products and automobiles, then the United States could again face the prospect of losing its competitive edge to Japan in an area where Americans began with a large advantage. And if that happened in the realm of software, the nation would be losing out in a marketplace that is potentially much more important than that for VCRs.
"We are not talking about Toys R Us; we are talking about a critical, strategic industry," warned Bill Totten, an American who runs a software company in Japan, in a paper now circulating within U.S. industry. Totten implores American computer and software firms to wake up -- to quickly improve quality and service or risk following the U.S. auto and consumer-electronics industries into decline.
In some corners, Americans are listening. Slowly, the sort of discipline and control so evident at Japan's software factories is making its way into the United States, displacing the notion of the quirky individualist as the hero of American software.
"The last thing you want when you're building the air traffic-control systems is a great hacker," said Joseph Fox, chief executive of Software Architecture and Engineering, an Arlington software consulting firm. "You don't know what he's done."
A growing, $500 million software-automation industry has emerged in the United States in recent years -- a significant part of it in the Washington area. American Management Systems Inc., Sage Software Inc. and James Martin Associates Inc. are among the area firms trying to make a mark by improving the speed and quality of software development.
Many of these automation efforts are known as computer aided software engineering (CASE). The products are themselves software programs and are called "tools."
Some CASE tools attempt to help software writers predict how long their projects will take or how many errors they are likely to make. Others help developers design programs by turning their ideas into diagrams, while some actually use computers to generate software.
Efforts also are increasing to reuse software written for earlier projects. Kimberly-Clark Corp., for example, taking a cue from the huge blocks of recycled code in Japan's software factories, was able to slice development time for a personnel system by 60 percent by culling code out of a "library" it is building from parts of existing programs.
Perhaps the most dramatic leap in productivity and quality has been achieved by the sale of off-the-shelf software for personal computers, such as the Lotus 1-2-3 spreadsheet and Word, Microsoft Corp.'s word-processing package. These programs enable thousands of buyers to use the same code. "It's a great finesse around the expense of writing software," said Microsoft Chairman Bill Gates, whose software is packaged with millions of personal computers before they are shipped to customers.
Programs Broken Up
Increasingly, American software developers also are using techniques that allow them to break up programs into self-contained units of code, each building upon previous units. So-called object-oriented programming makes it easier to expand and modify programs by reducing the chance that changes will cause errors to ripple through the code. It also ensures that software developers don't have to start from the ground up every time they take on a new task, thereby improving quality and efficiency and allowing them to focus their creativity on larger issues -- like overall program design and function -- rather than worrying about tiny details in individual lines of code.
"Ten years from now, it seems like software engineers should be dealing with something more abstract than a line of code -- with much larger building blocks," said Paul Smith, a software quality expert at AT&T Bell Laboratories, the research and development arm of American Telephone & Telegraph Co.
While all these efforts may help the United States retain its world lead in software production, none promise any near-term solutions to the larger problems of meeting society's insatiable demand for software or achieving higher reliability.
One reason is that Americans tend to leap quickly from one technological tool to the next in software design, without stopping to question whether it would be smarter to stick with one approach and refine it.
"In Japan, people focus on expertise with tools -- on hitting a nail with a hammer over and over. Here, we use a new hammer with every project," said Tom Velez, chief executive of Rockville's CTA Inc., which is trying to match Japan's consistency in its software work.
And most CASE tools address only the development of new software, while companies and government agencies typically devote more than half of their software expenditures to modifying existing programs.
Automation efforts also are meeting resistance from wary programmers. Only about 15 percent of all software companies have invested so far in CASE tools, and in many instances those tools simply sit on the shelf.
"Software developers are great at changing everybody else, but they are the most recalcitrant about changing themselves," said Greg Boone, president of Case Research Corp., a Bellevue, Wash., consulting firm.
Many people suggest that better training is the best weapon for improving the country's ability to produce software. Today, no U.S. colleges offers an undergraduate degree in software engineering -- the increasingly important aspect of development that most closely resembles the critical role of an architect in translating the needs of the user into a product design and in coordinating the many parts of a large system. And because programmers often lack formal training in software development, especially in methods for building fail-safe features into code, some in the industry are suggesting that software developers working on critical projects be licensed, much as civil engineers or architects are.
A less conventional means of relieving pressure on the software system is simply to slow the pace at which society is embracing computers -- to temper expectations about what computers can and should do.
"Sometimes, to get from idea to reality is too rocky a road," said Charles Seifert, a manager on the Air Force's software-dependent C-17A aircraft program. "Too often, developers can't go back and say 'not yet.' "
Concern Taken to Heart
In a rare example of taking the concerns about software dependency to heart, Boeing Co. has paused to account for qualms that human judgment is being eclipsed by machine. Fearful of losing the valuable element of pilot judgment in cases of emergency, the company is taking a go-slow approach to turning more control of its passenger jets over to software.
Still, the steamroller of automation seems likely to push forward. All over the country, people are thinking up ambitious new roles for software. They dream of electronic home-information centers that would equip all citizens with software to allow them to rummage through a nationwide network of sources to help diagnose a disease, perhaps, or review an up-to-the-minute road map. They dream of computers that will simulate an upcoming surgery or games that will give you all the sensations of being in ancient Egypt or outer space.
These are huge challenges to human ingenuity, likely to be mastered only if the software industry moves forward into the 1990s by blending new-found discipline with the free spirit of its past. A delicate balance can be achieved, according to some people, so that creativity can flourish within constraints, much like architects and composers have found inspiration within well-understood bounds.
Whatever the formula, the insatiable demand for new uses of software is likely to keep its development moving forward, always pushing the limits of what humans can understand and control.
William Wulf, until recently the National Science Foundation's top computer science official, believes that the growing needs and expectations of society will be met only if computer scientists achieve a significant breakthrough in how software is developed. Whatever country discovers the key to boosting the efficiency and reliability of software development would find itself with know-how that could drive innovation in dozens of fields. The result, according to Wulf, would be a stunning competitive edge.
American computer scientists face stiff challenges in this pursuit from government-backed research consortia in both Europe and Japan. So far, all countries remain far from a solution.
"Most of the solutions people have put forward are the analog of better hand tools -- a sharp chisel instead of a dull chisel," Wulf said. "As long as we continue to invest heavily in trying to produce better hand tools -- and not looking at the more fundamental problems -- we're just delaying the day of the catastrophe, because it's going to come."
Correspondent T.R. Reid contributed to this report from Tokyo.