NAPERVILLE, ILL. -- Jerri Shilling spent the better part of three years churning out thick stacks of documents and sitting through lengthy meetings so that your telephone can automatically redial the last person who called you. Only two months of that time was actually spent writing the lines of computer software code that lets the phone system perform this trick.
Such is the carefully structured life of programmers at America's showcase software factory, the tidy suburban Chicago campus of prestigious AT&T Bell Laboratories. As software projects grow increasingly large and complex, similar assemblies of white-collar workers are cropping up around the nation, lending a sense of routine to a young industry that has been known more for chaos than control.
Unlike Japan's software factories, where some workers have no formal training in programming and simply select commands on a computer to automatically generate code, Bell Labs hires top-notch programming talent. Once on board, Shilling and her co-workers are free to apply some artistic whim to the way they write their own section of the software, but there is nothing free-form about how their huge teams are organized.
Here, egos are kept in check. Everyone must be a team player. The operation is a group effort so precisely orchestrated that there are even charts that tell developers how many errors they are expected to find in each other's work.
Shilling, 37, for example, was part of a meticulously managed, 1,000-person group that developed new telephone features called "automatic call-back and recall," which enable certain phones to redial the last number received or dialed.
Before she could write her 3,000 lines of code -- a task that in itself took only two months -- the 14-year Bell Labs veteran had to turn out at least three documents, each spelling out in ever-greater detail how her feature would be designed and how it would interact with as many as 200 other features in the telephone system software.
After writing each document and her code, Shilling faced a room full of her peers who pored over her work line by line. Each time, they arrived equipped with detailed statistics provided by Bell Labs, spelling out exactly how many gaffes they should find in her work based on its complexity, their own skills and the amount of time devoted to the review. To pass one phase, Shilling's document required 40 signatures.
And Shilling's work was only one small part of a far larger project to embellish the existing 5 million lines of programming code used by local telephone offices to route calls. Telephone systems are so software intensive today that every time you pick up your receiver, a computer runs through 6,500 lines of code just to provide a dial tone.
Bell Labs officials say the regimen, not unlike that of an assembly line, is essential to keep such projects on track. "The product we're building is becoming so complex that it's difficult -- if not impossible -- to manage the human communications that is required to build it error-free," said Paul Smith, head of quality for switching systems.
But even this software factory, considered the vanguard of the trade, isn't perfect. It was software written here that "crashed" for nine hours last January, bringing the nationwide phone network to its knees.