SWAINE'S FLAMES

I was up to my ear; in galleys for my book on HyperTalk; I had barely time to paradigm and no time left to squawk (or Flame or rage) on the final page, as it is my won't to do. So I sent a request for a Flaming guest and Erickson came through--again.

--Michael Swaine

What many programmers find threatening about the notion of software engineering is the George Orwellian bureaucracy that seems to go with the territory. The inevitable mediocrity of management by committee, decision paralysis, and creative straightjacketing are the most common concerns voiced by lone programmers who find themselves up against the backside of software engineering.

But, you know, there's really no inherent cause/effect relationship between software engineering and a bloated bureaucracy. Software engineering is nothing more than the application of some proven engineering principles (or project management methodologies) to the development of software. The goal (a worthy one, I might add) is to maintain control of an often massive and potentially chaotic project. If anything, software engineering should enable more programmers to be creative. Indeed, mundane tasks could be turned over to those tireless computers.

Earlier this year, we considered the muddy waters surrounding software engineering worthy of examination on two fronts: by addressing some specific SE topics in our regular September issue and by devoting a more in-depth look at SE-related questions in a special issue, entitled The Dr. Dobb's Software Engineering Sourcebook.

As it turns out, getting the joys of the software engineering message across is the goal of the Software Engineering Institute, a DoD (Department of Defense, to you civilian types) sponsored organization at Carnegie-Mellon University. Its mandate--to explain and promote the notion of software engineering as a good thing. What better place, or so I thought, to begin our examination of the topic.

Inasmuch as I've heard SEI speakers at technical conferences (and they've usually given informative presentations), it seemed to me that a four page or so article shouldn't be all that difficult for someone at the SEI to write. A quick look at the proceedings of one such conference produced a likely candidate on the SEI staff and, after several calls, I got him on the phone. At his suggestion, I called the SEI press liaison (PL) officer who was delighted to hear from me, especially since the SEI had recently decided to make itself more widely known to the computer world outside the DoD.

From here the skein gets a bit tangled.

The PL gave me the name of another person at SEI who would be likely to either write the article or (at the very least) could suggest someone who could. I called person Number 3 and, yes indeed, it seemed like a smashing idea, and he'd sure like to participate. . . . But alas, no, he didn't have the time to write the article. But, oh yes, he just happened to have the names of two or three other folks. He'd let them know and someone would get back to me.

After several days, one of these fourth-tier referrals called and bit the bullet. Yeah, you bet, he'd love to write the article. No problem in meeting such a generous deadline.

Time passed. Every couple of weeks for a couple of months, I diligently phoned the writer (contact Number 4, if you're keeping track) to find out the status of the article. No problem, trust me, says he. Everything's moving along just fine. At least that's what he said.

Then came a period of darkness. For a couple of weeks no one answered his phone and my messages weren't returned. The smoking lamp was not lit. I was becoming more than a bit concerned since the deadline was marching steadily forward. You see, I was counting on the SEI article for our September issue. Finally, much to my surprise, he called. The article was finished, but it was caught up in the SEI's internal editing process. He had no idea how long that would take. This was not a good sign!

After a few days, I located the editor who had the article. Yes he had it, no, it wasn't high on his list of priorities. By this time we'd already missed the deadline for the September issue. But I was still shooting for the SE Sourcebook.

More time passed. Still no word. So I called back the press liaison who put me on this train going nowhere. After a couple of days he called back to say that the editor had been reprioritized in my favor, and that the editor's supervisor was now involved in the project.

Even more time passed. After another couple of days, I got a call from an editor I'd never talked to before (don't worry, I've lost track too) who had apparently taken over from the prior editor. The new editor said that he had called several meetings to discuss the article and that a team of editors had been assigned to work on it. Once they had finished, the article then would be sent to the technical team who would review it for technical accuracy. Then it would be sent back to the editing team who would incorporate the comments and reedit the article. Of course, meetings with the original author would then be necessary to ensure that the various committees had not altered the author's original meanings.

Now, it doesn't bother me that an individual writer misses a deadline. Anyone involved with publishing is used to that and, as folks around here know, I've missed a few myself. One thing that did bother me was that no one in the SEI bureaucracy seemed willing or capable of making a decision. Nor did anyone seem to have the authority to unjam the logjam.

The ultimate question concerns whether or not any conclusions can be drawn from all of this. In a purely personal sense, my worst suspicions about software engineering have been, to some degree, confirmed. Yes, software engineering apparently does spawn bureaucracies that create many of the same sort of problems the methodologies are intended to prevent.

In a more pointed sense, the SEI seems caught up in a self-defeating process whereby they can't dispel the myths about software engineering because they are too busy living the myth. Too bad. By the way, I'd still like to see the article--if it ever gets out of committee, that is.

Jonathan Erickson editor-in-chief