I read an interesting commentary by Jeff Tash at Enterprise Architect, suggesting that EA has emerged from the ruins of CASE (Computer Aide Software Engeineering), but one that I disagree with almost completely:
"Why did CASE fail so miserably? And, what does this ancient history have to do with what's happening in IT today?
I'm convinced that what killed CASE were too many promises by too many vendors. The technology was utterly unable to live up to its own wildly unrealistic expectations. Back in the 1980s, all the pundits were pontificating about "automating automation." Everyone wanted to ride the coattails of W. Edwards Deming, an engineer who made phenomenal contributions to the field of manufacturing with his seminal work on "continual quality improvement."
The basic premise behind CASE is that software development is a form of manufacturing—albeit one that most closely resembles a job shop. Successful manufacturing requires a well-defined process along with a bill-of-materials list of parts and/or subassemblies needed at each and every step of that process. Together these provide the grist that fuels Enterprise Resource Planning (ERP)."
Actually, nearly all business process-oriented thinking of the 70s and 80s was based on emulation of the success of lean manufacturing and supply chain automation, but that's really neither here nor there.
The basic proposition that Tash makes is that CASE was a "failure." My belief is that all software engineering today has become 'computer-aided' -- by comparison with the days of manual flowcharts and punchcards, this is clearly true. Nealry all software development is automated today, with source code control, testing tools, and, yes, modeling techniques like EA and UML to characterize the behavior of software.
The fact that a trend has become so central to everyday reality that it is almost not mentioned -- like democracy in the US, or the use of computerized tools to support software design and development -- does not mean that the concept has failed. On the contrary.
Tash concludes by stating that CASE hasn't died, it has just assumed an alias: EA.
"I'm personally quite troubled by the morphing of CASE into EA. I have a problem when experts insist that EA must be top-down and the process formally defined. Blindly following this approach will almost assuredly lead to the same fate as CASE. EA, itself, is still an incredibly immature discipline. It's not ready for the rigors of formally defined processes and statistically sampled metrics. I prefer more eclectic approaches where EA can be practiced in a manner more akin to what's referred to in the world of software development as "agile modeling."
When it comes to EA and CASE, I urge you to be cautious. Let me remind you of the old adage, "if something sounds too good to be true, it probably is.""
I am inclined to go along with Tash on the "agile modeling" observation, although we have been wrestling with large-scale software architectures for far too long for him to say that it is "incredibly immature." And his parting comment is simply anti-punditry: taking a potshot at a promising discipline based on the fact that other, once-promising ideas supposedly didn't pan out.
I would agree that very few companies have made much money on software tools -- leaving aside the monsters like Microsoft, IBM/Rational, and a few others along the way. But that is more a function of the food pyramid: there are really not enough programmers to support hundreds of successful companies. The fact that many dozens have decided to try to compete in theis market only leads to unhappy investors and 'promises broken' when planned product features fail to materialize. Lamentably, Tash got that side of it right.
Recent Comments