For novel ideas about building embedded systems (both hardware and firmware), join the 30,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
The Death of Software Engineering
Alert reader Bob Paddock sent a link to Tom DeMarco's latest article in IEEE Computer (http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf). Though I disagree with most of what Mr. DeMarco says, it is an interesting and thought-provoking piece.
In it, Mr. DeMarco questions whether Software Engineering is an idea whose time has come and gone. He states that, even though he wrote a book on software metrics back in 1982, he no longer believes that collecting metrics is important when building software. He further seems to say that the ideas behind software engineering just aren't very important. Some projects have succeeded despite a lack of traditional software engineering processes; he cites GoogleEarth and Wikipedia as examples. (Google is notoriously close-mouthed so I wonder what Mr. DeMarco knows about their development methods.)
GoogleEarth and Wikipedia are his poster-children for software that is "transformational." Revolutionary. And so they are. But he divides the software world into two camps: programs that offer little value (those that cost, say, $1m to create and return $1.1m in value), and the transformational systems that reap rewards that would make even a Goldman Sachs trader's mouth water. The former requires massive control - software engineering - since the margins are so small. But he muses that perhaps the problem is that we bother building these systems when transformational ones are so much more lucrative.
That argument is akin to wondering why anyone would hold a job when the lottery offers monster payouts. The vast number of workaday systems we build, those whose names never get verbized or otherwise noticed by the public, have substantial returns. Lottery-like? Nope. But they are the very fabric of the survival and viability of our companies. That SCADA system you produce generates the revenue that feeds an army of employees and their dependents, and it builds corporate equity which translates into wealth for the stockholders. For every iPod or GoogleMaps smash hit there are thousands of products of lesser but important value. Most don't result in a couple of college kids becoming overnight billionaires, but they do offer the steady returns upon which our economy depends.
Wasn't the pursuit of dot-com and mortgage jackpots the source of our two most recent recessions?
What do you think? Are your products making the killer returns the press loves to cover?