I'm sitting in an old-growth Douglas fir grove, munching on a sandwich and reading my copy of MC. The forest may seem like an unlikely place to learn about software quality assurance, but the lesson lies about six inches beneath my feet.
In the cathedral forests of the Pacific Northwest, lives a seldom-seen gourmand called the red-backed vole. It is distinguished as the only North American mammal that feeds primarily on truffles-the fruiting bodies of underground fungi. This selective diet enables it to render the biological equivalent of quality assurance and full functionality for the forests, although the process is a trifle unglamorous.
Conifer rootlets, you see, are not effective in absorbing certain soil nutrients. To strengthen that capacity, trees form what biologists call mycorrhizal associations with the vole's favorite food. Under this alliance, the fungi fashion a sheath of thread-like filaments around the rootlets of the host and a nutrient exchange takes place. The fungus cannot thrive without trees, and trees deprived of their mycorrhizal partners cannot compete. The vole does its part by littering the forest floor with fecal pellets which contain fungi spores, thus ensuring the spread of fungi throughout the forest.
Trees, fungi, voles. They provide, in a functional respect, the perfect analogy for the relationship between the AS/400, systems software, and a little-known group within IBM called the External Products Technical Operations (EPTO). Ben Borgen is the senior programmer/manager of this Rochester-based group. Nowhere on his business card do the words "Head Vole" appear, but that is only an oversight, I'm sure.
Like the vole, EPTO provides the connection, the critical integration, which joins two disparate elements-in this case the AS/400 and system software developers-into a mutually beneficial union. And similar to the function of its forest counterparts, EPTO's efforts permit both of its partners, which individually would remain useless, to cooperatively flourish.
EPTO's range, however, is considerably broader than the vole's since software development at IBM has become a global effort. There are 25 international development labs that nourish the AS/400 with software. Berlin, Boeblingen, Guadalajara, Haifa, Hursley, Rome, Sydney, Taiwan, Toronto, Yatnato, and 15 U.S. sites provide the mysterious spore-like code segments that give the AS/400 functionality beyond that of a bulky plant stand. For any given product announcement or operating system release, Borgen will contract 10-12 of these sites, engaging 500 programmers to crank out the code.
Imitating natural systems, each site has evolved its own areas of specialization: Bethesda develops ImagePlus and optical applications; Dallas tackles OfficeVision/400; Guadalajara chips in with Systems Management and PC Support; Toronto unscrambles an alphabet soup of application development tools and programming languages; and Santa Teresa provides database support.
Like the nutrient exchange beneath the forest floor, the exchange of system software between the individual development labs and Rochester is a symbiotic affair. Sometimes Rochester initiates the request for product development; at other times the labs propose projects which they think would benefit the midrange. Rome, for example, proposed Open Systems Interconnect which was originally developed on another platform. The labs are compensated either directly by Rochester, or receive the revenues from their products.
Borgen is responsible for integrating the flow of international software that regularly settles on Rochester, and ensuring that millions of lines of code in dozens of applications adhere to the quality and system development standards established for the AS/400. The pursuit of perfection and the enhancement of products and functionality are continuous, says Borgen, and have resulted in a cooperative merging of hardware and software development not always evident in the past. But like the vole, the interface point is largely unseen and unknown. For the AS/400, that point is EPTO.
By managing development projects, negotiating compensation for software providers, tracking defects and fixes, conferring with development labs at check points throughout the process, conducting testing, and confirming product usability, EPTO ensures that the system-level goals established for the AS/400 are met by outsourced software developers.
The software development cycle itself is a 10-step process that begins with the requirements and objectives phase and flows through several design, development and testing phases, to release and product support. EPTO is involved in each step of the development cycle, but the actual integration process burrows neatly between the unit and component test phases.
Customers are invited to participate in the testing. Early trials are conducted in Rochester, with Beta tests held at customer sites prior to general availability. Frequently customer's suggestions are incorporated in follow-on releases.
Integration challenges often include cultural, language and time zone differences, but a unique challenge was presented by the new OS/400 Graphical Operations (GO) product available in V3R1 and shipped at no extra cost with Client Access/400. GO provides a graphical user interface for the most commonly used functions on the AS/400. It is among the first operating system applications to be developed using object oriented programming (OOP) and it presented a new set of problems both for the developers and EPTO.
Two development teams worked for two years on the project; one writing the server code, the other tackling the client portion. The PC segment alone required 50,000 lines of code.
During the integration phase, according to Borgen, "the developed programs and data are collected in a controlled environment. Each part is then prepared in a form acceptable for building the product on the AS/400." Unfortunately, nothing developed using OOP resembled anything ever done before, and there was no historic data to let project managers know what was relevant and what was not. Entirely new development, review and reporting processes had to be created.
IBM is somewhat circumspect about the specifics surrounding OOP development. When I pressed for details, I was faxed the lyrics to a song "created especially for the OS/400 Graphical Operations Development Team." For the musically inclined reader, they can be crooned to the melody of "Oh Sweet Pea."
It started at IBM a year ago. We'd design and program but we didn't know That it was sure flustering up ahead. We all just looked to heaven and then we said...
OH OH OH, it sure is going slow. We've got to get this project to GO GO GO. OH OH OH it sure is hard to know; Let's get our heads together - and make it GO!
There's more, but you get the idea. The author would be well advised not to quit his day job. But my analogy still applies: voles can't sing.
When I stumble onto an analogy this good, I want all of the pieces to fit together neatly. The AS/400 is simple: roughly equivalent to a tree, standing upright, reliable, above ground-something you may occasionally want to take an ax to. System software is definitely like fungus: machine language spores operating mysteriously under the covers. Like a truffle, it's good stuff but you never actually see one. EPTO people are clearly voles, seldom seen, unknown, turning cogs and code into functional computers-spreading quality across the landscape, and far more decorously than the vole.
There was just one more thing I wanted to know, and I didn't know exactly how to segue to it. I mean, there was no rational way to slip this question into a discussion about software development and quality assurance. So finally, I confronted Borgen directly: "I'll bet you're just crazy about truffles, aren't you?" I asked.
"As a matter of fact, I don't like them," said Borgen, taking it all in stride. Oh well, analogies don't always align as elegantly as one would hope.
Victor Rozek has 17 years of experience in the data processing industry, including seven years with IBM in Operations Management and Systems
LATEST COMMENTS
MC Press Online